Failed Conditions
Push — master ( 735103...6a4138 )
by Adrien
12:48
created

HtmlImageTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 75
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 37
c 1
b 0
f 0
dl 0
loc 75
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A testCanInsertImageWidth() 0 17 1
A testImageWithourSrc() 0 12 1
A testCanInsertImage() 0 20 1
A testCanInsertImageHeight() 0 18 1
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheetTests\Reader\Html;
4
5
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
6
use PHPUnit\Framework\TestCase;
7
8
class HtmlImageTest extends TestCase
9
{
10
    public function testCanInsertImage(): void
11
    {
12
        $imagePath = realpath(__DIR__ . '/../../../data/Reader/HTML/image.jpg');
13
14
        $html = '<table>
15
                    <tr>
16
                        <td><img src="' . $imagePath . '" alt="test image"></td>
17
                    </tr>
18
                </table>';
19
        $filename = HtmlHelper::createHtml($html);
20
        $spreadsheet = HtmlHelper::loadHtmlIntoSpreadsheet($filename, true);
21
        $firstSheet = $spreadsheet->getSheet(0);
22
23
        /** @var Drawing $drawing */
24
        $drawing = $firstSheet->getDrawingCollection()[0];
25
        self::assertEquals($imagePath, $drawing->getPath());
26
        self::assertEquals('A1', $drawing->getCoordinates());
27
        self::assertEquals('test image', $drawing->getName());
28
        self::assertEquals('100', $drawing->getWidth());
29
        self::assertEquals('100', $drawing->getHeight());
30
    }
31
32
    public function testCanInsertImageWidth(): void
33
    {
34
        $imagePath = realpath(__DIR__ . '/../../../data/Reader/HTML/image.jpg');
35
36
        $html = '<table>
37
                    <tr>
38
                        <td><img src="' . $imagePath . '" alt="test image" width="50"></td>
39
                    </tr>
40
                </table>';
41
        $filename = HtmlHelper::createHtml($html);
42
        $spreadsheet = HtmlHelper::loadHtmlIntoSpreadsheet($filename, true);
43
        $firstSheet = $spreadsheet->getSheet(0);
44
45
        /** @var Drawing $drawing */
46
        $drawing = $firstSheet->getDrawingCollection()[0];
47
        self::assertEquals('50', $drawing->getWidth());
48
        self::assertEquals('50', $drawing->getHeight());
49
    }
50
51
    public function testCanInsertImageHeight(): void
52
    {
53
        $imagePath = realpath(__DIR__ . '/../../../data/Reader/HTML/image.jpg');
54
55
        $html = '<table>
56
                    <tr>
57
                        <td><img src="' . $imagePath . '" height="75"></td>
58
                    </tr>
59
                </table>';
60
        $filename = HtmlHelper::createHtml($html);
61
        $spreadsheet = HtmlHelper::loadHtmlIntoSpreadsheet($filename, true);
62
        $firstSheet = $spreadsheet->getSheet(0);
63
64
        /** @var Drawing $drawing */
65
        $drawing = $firstSheet->getDrawingCollection()[0];
66
        self::assertEquals('', $drawing->getName());
67
        self::assertEquals('75', $drawing->getWidth());
68
        self::assertEquals('75', $drawing->getHeight());
69
    }
70
71
    public function testImageWithourSrc(): void
72
    {
73
        $html = '<table>
74
                    <tr>
75
                        <td><img></td>
76
                    </tr>
77
                </table>';
78
        $filename = HtmlHelper::createHtml($html);
79
        $spreadsheet = HtmlHelper::loadHtmlIntoSpreadsheet($filename, true);
80
        $firstSheet = $spreadsheet->getSheet(0);
81
82
        self::assertCount(0, $firstSheet->getDrawingCollection());
83
    }
84
}
85