Passed
Push — develop ( b05d07...17d4a5 )
by Adrien
26:16
created

testDrawingImageHyperlinkTest()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 29
Code Lines 21

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 21
nc 2
nop 0
dl 0
loc 29
rs 9.584
c 0
b 0
f 0
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: yuzhakov
5
 * Date: 08.05.18
6
 * Time: 12:00.
7
 */
8
9
namespace PhpOffice\PhpSpreadsheetTests\Functional;
10
11
use PhpOffice\PhpSpreadsheet\Cell\Hyperlink;
12
use PhpOffice\PhpSpreadsheet\Spreadsheet;
13
use PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing;
14
15
class DrawingImageHyperlinkTest extends AbstractFunctional
16
{
17
    /**
18
     * @throws \PhpOffice\PhpSpreadsheet\Exception
19
     */
20
    public function testDrawingImageHyperlinkTest()
21
    {
22
        $baseUrl = 'https://github.com/PHPOffice/PhpSpreadsheet';
23
        $spreadsheet = new Spreadsheet();
24
25
        $aSheet = $spreadsheet->getActiveSheet();
26
27
        $gdImage = @imagecreatetruecolor(120, 20);
28
        $textColor = imagecolorallocate($gdImage, 255, 255, 255);
29
        imagestring($gdImage, 1, 5, 5, 'Created with PhpSpreadsheet', $textColor);
30
31
        $drawing = new MemoryDrawing();
32
        $drawing->setName('In-Memory image 1');
33
        $drawing->setDescription('In-Memory image 1');
34
        $drawing->setCoordinates('A1');
35
        $drawing->setImageResource($gdImage);
36
        $drawing->setRenderingFunction(
37
            MemoryDrawing::RENDERING_JPEG
38
        );
39
        $drawing->setMimeType(MemoryDrawing::MIMETYPE_DEFAULT);
40
        $drawing->setHeight(36);
41
        $hyperLink = new Hyperlink($baseUrl, 'test image');
42
        $drawing->setHyperlink($hyperLink);
43
        $drawing->setWorksheet($aSheet);
44
45
        $reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xlsx');
46
47
        foreach ($reloadedSpreadsheet->getActiveSheet()->getDrawingCollection() as $pDrawing) {
48
            self::assertEquals('https://github.com/PHPOffice/PhpSpreadsheet', $pDrawing->getHyperlink()->getUrl(), 'functional test drawing hyperlink');
49
        }
50
    }
51
}
52