Completed
Push — master ( aa5b0d...125f46 )
by Adrien
35:51 queued 27:50
created

DrawingImageHyperlinkTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 22
dl 0
loc 31
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A testDrawingImageHyperlinkTest() 0 29 2
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheetTests\Functional;
4
5
use PhpOffice\PhpSpreadsheet\Cell\Hyperlink;
6
use PhpOffice\PhpSpreadsheet\Spreadsheet;
7
use PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing;
8
9
class DrawingImageHyperlinkTest extends AbstractFunctional
10
{
11
    public function testDrawingImageHyperlinkTest()
12
    {
13
        $baseUrl = 'https://github.com/PHPOffice/PhpSpreadsheet';
14
        $spreadsheet = new Spreadsheet();
15
16
        $aSheet = $spreadsheet->getActiveSheet();
17
18
        $gdImage = @imagecreatetruecolor(120, 20);
19
        $textColor = imagecolorallocate($gdImage, 255, 255, 255);
20
        imagestring($gdImage, 1, 5, 5, 'Created with PhpSpreadsheet', $textColor);
21
22
        $drawing = new MemoryDrawing();
23
        $drawing->setName('In-Memory image 1');
24
        $drawing->setDescription('In-Memory image 1');
25
        $drawing->setCoordinates('A1');
26
        $drawing->setImageResource($gdImage);
27
        $drawing->setRenderingFunction(
28
            MemoryDrawing::RENDERING_JPEG
29
        );
30
        $drawing->setMimeType(MemoryDrawing::MIMETYPE_DEFAULT);
31
        $drawing->setHeight(36);
32
        $hyperLink = new Hyperlink($baseUrl, 'test image');
33
        $drawing->setHyperlink($hyperLink);
34
        $drawing->setWorksheet($aSheet);
35
36
        $reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xlsx');
37
38
        foreach ($reloadedSpreadsheet->getActiveSheet()->getDrawingCollection() as $pDrawing) {
39
            self::assertEquals('https://github.com/PHPOffice/PhpSpreadsheet', $pDrawing->getHyperlink()->getUrl(), 'functional test drawing hyperlink');
40
        }
41
    }
42
}
43