Failed Conditions
Pull Request — master (#4244)
by Owen
12:13
created

Issue4241Test   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 72
Duplicated Lines 0 %

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
B testIssue4241() 0 70 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpOffice\PhpSpreadsheetTests\Worksheet;
6
7
use PhpOffice\PhpSpreadsheet\Spreadsheet;
8
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
9
use PHPUnit\Framework\TestCase;
10
11
class Issue4241Test extends TestCase
12
{
13
    public function testIssue4241(): void
14
    {
15
        // setWorksheet needed to come after setPath
16
        $badPath = 'tests/data/Writer/XLSX/xgreen_square.gif';
17
        $goodPath = 'tests/data/Writer/XLSX/green_square.gif';
18
        $spreadsheet = new Spreadsheet();
19
        $sheet = $spreadsheet->getActiveSheet();
20
        $drawing = new Drawing();
21
        $drawing->setName('Green Square');
22
        $drawing->setWorksheet($sheet);
23
        $drawings = $sheet->getDrawingCollection();
24
        self::assertCount(1, $drawings);
25
        $drawing0 = $drawings[0];
26
        self::assertInstanceOf(Drawing::class, $drawing0);
27
        self::assertSame('', $drawing0->getPath());
28
        self::assertSame('A1', $drawing0->getCoordinates());
29
        $maxRow = $sheet->getHighestDataRow();
30
        $maxCol = $sheet->getHighestDataColumn();
31
        self::assertSame(1, $maxRow);
32
        self::assertSame('A', $maxCol);
33
34
        $drawing->setCoordinates('E5');
35
        $drawings = $sheet->getDrawingCollection();
36
        self::assertCount(1, $drawings);
37
        $drawing0 = $drawings[0];
38
        self::assertInstanceOf(Drawing::class, $drawing0);
39
        self::assertSame('', $drawing0->getPath());
40
        self::assertSame('E5', $drawing0->getCoordinates());
41
        $maxRow = $sheet->getHighestDataRow();
42
        $maxCol = $sheet->getHighestDataColumn();
43
        self::assertSame(1, $maxRow);
44
        self::assertSame('A', $maxCol);
45
46
        $drawing->setPath($badPath, false);
47
        $drawings = $sheet->getDrawingCollection();
48
        self::assertCount(1, $drawings);
49
        $drawing0 = $drawings[0];
50
        self::assertInstanceOf(Drawing::class, $drawing0);
51
        self::assertSame('', $drawing0->getPath());
52
        self::assertSame('E5', $drawing0->getCoordinates());
53
        $maxRow = $sheet->getHighestDataRow();
54
        $maxCol = $sheet->getHighestDataColumn();
55
        self::assertSame(1, $maxRow);
56
        self::assertSame('A', $maxCol);
57
58
        $drawing->setPath($goodPath);
59
        $drawings = $sheet->getDrawingCollection();
60
        self::assertCount(1, $drawings);
61
        $drawing0 = $drawings[0];
62
        self::assertInstanceOf(Drawing::class, $drawing0);
63
        self::assertSame($goodPath, $drawing0->getPath());
64
        self::assertSame('E5', $drawing0->getCoordinates());
65
        $maxRow = $sheet->getHighestDataRow();
66
        $maxCol = $sheet->getHighestDataColumn();
67
        self::assertSame(5, $maxRow);
68
        self::assertSame('E', $maxCol);
69
70
        $drawing->setCoordinates('G3');
71
        $drawings = $sheet->getDrawingCollection();
72
        self::assertCount(1, $drawings);
73
        $drawing0 = $drawings[0];
74
        self::assertInstanceOf(Drawing::class, $drawing0);
75
        self::assertSame($goodPath, $drawing0->getPath());
76
        self::assertSame('G3', $drawing0->getCoordinates());
77
        $maxRow = $sheet->getHighestDataRow();
78
        $maxCol = $sheet->getHighestDataColumn();
79
        self::assertSame(5, $maxRow);
80
        self::assertSame('G', $maxCol);
81
82
        $spreadsheet->disconnectWorksheets();
83
    }
84
}
85