Passed
Pull Request — master (#4142)
by Owen
16:30 queued 03:39
created

testHtmlTransparentDrawing()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 20
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 16
c 1
b 0
f 0
dl 0
loc 20
rs 9.7333
cc 1
nc 1
nop 0
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\Worksheet\MemoryDrawing;
10
use PhpOffice\PhpSpreadsheet\Writer\Html as HtmlWriter;
11
use PHPUnit\Framework\TestCase;
12
13
class TransparentDrawingsTest extends TestCase
14
{
15
    public function testHtmlTransparentDrawing(): void
16
    {
17
        $spreadsheet = new Spreadsheet();
18
        $sheet = $spreadsheet->getActiveSheet();
19
        $sheet->setShowGridLines(false);
20
21
        $drawing = new Drawing();
22
        $drawing->setName('Blue Square');
23
        $drawing->setPath('tests/data/Writer/XLSX/blue_square.png');
24
        self::assertEquals($drawing->getWidth(), 100);
25
        self::assertEquals($drawing->getHeight(), 100);
26
        $drawing->setCoordinates('A1');
27
        $drawing->setCoordinates2('E8');
28
        $drawing->setOpacity(25000);
29
        $drawing->setWorksheet($sheet);
30
31
        $writer = new HtmlWriter($spreadsheet);
32
        $content = $writer->generateHTMLAll();
33
        self::assertStringContainsString('opacity:0.25;', $content);
34
        $spreadsheet->disconnectWorksheets();
35
    }
36
37
    public function testHtmlTransparentMemoryDrawing(): void
38
    {
39
        $spreadsheet = new Spreadsheet();
40
        $sheet = $spreadsheet->getActiveSheet();
41
        $sheet->setShowGridLines(false);
42
43
        $contents = file_get_contents('tests/data/Writer/XLSX/blue_square.png');
44
        $drawing = MemoryDrawing::fromString("$contents");
45
        $drawing->setName('Blue Square');
46
        self::assertEquals($drawing->getWidth(), 100);
47
        self::assertEquals($drawing->getHeight(), 100);
48
        $drawing->setCoordinates('A1');
49
        $drawing->setCoordinates2('E8');
50
        $drawing->setOpacity(25000);
51
        $drawing->setWorksheet($sheet);
52
53
        $writer = new HtmlWriter($spreadsheet);
54
        $content = $writer->generateHTMLAll();
55
        self::assertStringContainsString('opacity:0.25;', $content);
56
        $spreadsheet->disconnectWorksheets();
57
    }
58
}
59