Passed
Push — master ( c91c8c...4b8a92 )
by Owen
21:17
created

ImageEmbedTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
eloc 24
dl 0
loc 32
rs 10
c 1
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A testImageEmbed() 0 30 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpOffice\PhpSpreadsheetTests\Writer\Html;
6
7
use PhpOffice\PhpSpreadsheet\Spreadsheet;
8
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
9
use PhpOffice\PhpSpreadsheet\Writer\Html as HtmlWriter;
10
use PHPUnit\Framework\TestCase;
11
12
class ImageEmbedTest extends TestCase
13
{
14
    public function testImageEmbed(): void
15
    {
16
        $spreadsheet = new Spreadsheet();
17
        $sheet = $spreadsheet->getActiveSheet();
18
19
        $drawing = new Drawing();
20
        $drawing->setName('Not an image');
21
        $drawing->setDescription('Non-image');
22
        $drawing->setPath(__FILE__, false);
23
        $drawing->setCoordinates('A1');
24
        $drawing->setCoordinates2('E4');
25
        $drawing->setWorksheet($sheet);
26
27
        $drawing = new Drawing();
28
        $drawing->setName('Blue Square');
29
        $drawing->setPath('tests/data/Writer/XLSX/blue_square.png');
30
        $drawing->setCoordinates('A5');
31
        $drawing->setCoordinates2('E8');
32
        $drawing->setWorksheet($sheet);
33
34
        $writer = new HtmlWriter($spreadsheet);
35
        $writer->setEmbedImages(true);
36
        $html = $writer->generateHTMLAll();
37
        self::assertSame(1, substr_count($html, '<img'));
38
        self::assertSame(1, substr_count($html, 'src="data'));
39
        self::assertSame(1, substr_count($html, 'src="data:image/png;base64,'));
40
        self::assertSame(0, substr_count($html, 'blue_square.png'));
41
        //self::assertSame(1, substr_count($html, 'src="data:," alt="Non-image"'));
42
43
        $spreadsheet->disconnectWorksheets();
44
    }
45
}
46