Skip to content

Commit 1bd8bd9

Browse files
committed
Update Some More Tests
1 parent 455c259 commit 1bd8bd9

File tree

9 files changed

+315
-212
lines changed

9 files changed

+315
-212
lines changed

phpstan.neon.dist

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ parameters:
2121
- src/PhpSpreadsheet/Collection/Memory/SimpleCache3.php
2222
- src/PhpSpreadsheet/Writer/ZipStream2.php
2323
- src/PhpSpreadsheet/Writer/ZipStream3.php
24+
#- tests/PhpSpreadsheetTests/Writer/Xlsx/ArrayFunctions2Test.php
2425
parallel:
2526
processTimeout: 300.0
2627
ignoreErrors:

tests/PhpSpreadsheetTests/Writer/Html/AllOrOneSheetTest.php

Lines changed: 99 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,31 @@ public function testWriteAllSheets(): void
2828
$html = $writer->generateHTMLAll();
2929
$dom = new DOMDocument();
3030
$dom->loadHTML($html);
31-
$body = $dom->getElementsByTagName('body')[0];
31+
$body = $dom->getElementsByTagName('body')->item(0);
32+
self::assertNotNull($body);
3233
$divs = $body->getElementsByTagName('ul'); // sheet navigation
3334
self::assertCount(1, $divs);
3435
$divs = $body->getElementsByTagName('div');
3536
self::assertCount(2, $divs);
36-
self::assertEquals('page: page0', $divs->item(0)->getAttribute('style'));
37-
$tbl = $divs->item(0)->getElementsByTagName('table');
38-
self::assertEquals('sheet0', $tbl->item(0)->getAttribute('id'));
39-
self::assertEquals('sheet0 gridlines', $tbl->item(0)->getAttribute('class'));
40-
$tbl = $divs->item(1)->getElementsByTagName('table');
41-
self::assertEquals('page: page1', $divs->item(1)->getAttribute('style'));
42-
self::assertEquals('sheet1', $tbl->item(0)->getAttribute('id'));
43-
self::assertEquals('sheet1 gridlines', $tbl->item(0)->getAttribute('class'));
44-
$this->writeAndReload($spreadsheet, 'Html');
37+
$divsItem0 = $divs->item(0);
38+
self::assertNotNull($divsItem0);
39+
$divsItem1 = $divs->item(1);
40+
self::assertNotNull($divsItem1);
41+
self::assertEquals('page: page0', $divsItem0->getAttribute('style'));
42+
$tbl = $divsItem0->getElementsByTagName('table');
43+
$tblItem0 = $tbl->item(0);
44+
self::assertNotNull($tblItem0);
45+
self::assertEquals('sheet0', $tblItem0->getAttribute('id'));
46+
self::assertEquals('sheet0 gridlines', $tblItem0->getAttribute('class'));
47+
$tbl = $divsItem1->getElementsByTagName('table');
48+
$tblItem0 = $tbl->item(0);
49+
self::assertNotNull($tblItem0);
50+
self::assertEquals('page: page1', $divsItem1->getAttribute('style'));
51+
self::assertEquals('sheet1', $tblItem0->getAttribute('id'));
52+
self::assertEquals('sheet1 gridlines', $tblItem0->getAttribute('class'));
53+
$rls = $this->writeAndReload($spreadsheet, 'Html');
54+
$spreadsheet->disconnectWorksheets();
55+
$rls->disconnectWorksheets();
4556
}
4657

4758
public function testWriteAllSheetsNoNav(): void
@@ -58,20 +69,31 @@ public function testWriteAllSheetsNoNav(): void
5869
$html = $writer->generateHTMLAll();
5970
$dom = new DOMDocument();
6071
$dom->loadHTML($html);
61-
$body = $dom->getElementsByTagName('body')[0];
72+
$body = $dom->getElementsByTagName('body')->item(0);
73+
self::assertNotNull($body);
6274
$divs = $body->getElementsByTagName('ul'); // sheet navigation
6375
self::assertCount(0, $divs);
6476
$divs = $body->getElementsByTagName('div');
6577
self::assertCount(2, $divs);
66-
self::assertEquals('page: page0', $divs->item(0)->getAttribute('style'));
67-
$tbl = $divs->item(0)->getElementsByTagName('table');
68-
self::assertEquals('sheet0', $tbl->item(0)->getAttribute('id'));
69-
self::assertEquals('sheet0 gridlines', $tbl->item(0)->getAttribute('class'));
70-
$tbl = $divs->item(1)->getElementsByTagName('table');
71-
self::assertEquals('page: page1', $divs->item(1)->getAttribute('style'));
72-
self::assertEquals('sheet1', $tbl->item(0)->getAttribute('id'));
73-
self::assertEquals('sheet1 gridlines', $tbl->item(0)->getAttribute('class'));
74-
$this->writeAndReload($spreadsheet, 'Html');
78+
$divsItem0 = $divs->item(0);
79+
self::assertNotNull($divsItem0);
80+
self::assertEquals('page: page0', $divsItem0->getAttribute('style'));
81+
$tbl = $divsItem0->getElementsByTagName('table');
82+
$tblItem0 = $tbl->item(0);
83+
self::assertNotNull($tblItem0);
84+
self::assertEquals('sheet0', $tblItem0->getAttribute('id'));
85+
self::assertEquals('sheet0 gridlines', $tblItem0->getAttribute('class'));
86+
$divsItem1 = $divs->item(1);
87+
self::assertNotNull($divsItem1);
88+
$tbl = $divsItem1->getElementsByTagName('table');
89+
self::assertEquals('page: page1', $divsItem1->getAttribute('style'));
90+
$tblItem0 = $tbl->item(0);
91+
self::assertNotNull($tblItem0);
92+
self::assertEquals('sheet1', $tblItem0->getAttribute('id'));
93+
self::assertEquals('sheet1 gridlines', $tblItem0->getAttribute('class'));
94+
$rls = $this->writeAndReload($spreadsheet, 'Html');
95+
$spreadsheet->disconnectWorksheets();
96+
$rls->disconnectWorksheets();
7597
}
7698

7799
public function testWriteAllSheetsPdf(): void
@@ -87,19 +109,29 @@ public function testWriteAllSheetsPdf(): void
87109
$html = $writer->generateHTMLAll();
88110
$dom = new DOMDocument();
89111
$dom->loadHTML($html);
90-
$body = $dom->getElementsByTagName('body')[0];
112+
$body = $dom->getElementsByTagName('body')->item(0);
113+
self::assertNotNull($body);
91114
$divs = $body->getElementsByTagName('ul'); // sheet navigation
92115
self::assertCount(0, $divs);
93116
$divs = $body->getElementsByTagName('div');
117+
$divsItem0 = $divs->item(0);
118+
self::assertNotNull($divsItem0);
94119
self::assertCount(2, $divs);
95-
self::assertEquals('page: page0', $divs->item(0)->getAttribute('style'));
96-
$tbl = $divs->item(0)->getElementsByTagName('table');
97-
self::assertEquals('sheet0', $tbl->item(0)->getAttribute('id'));
98-
self::assertEquals('sheet0 gridlines', $tbl->item(0)->getAttribute('class'));
99-
$tbl = $divs->item(1)->getElementsByTagName('table');
100-
self::assertEquals('page: page1', $divs->item(1)->getAttribute('style'));
101-
self::assertEquals('sheet1', $tbl->item(0)->getAttribute('id'));
102-
self::assertEquals('sheet1 gridlines', $tbl->item(0)->getAttribute('class'));
120+
self::assertEquals('page: page0', $divsItem0->getAttribute('style'));
121+
$tbl = $divsItem0->getElementsByTagName('table');
122+
$tblItem0 = $tbl->item(0);
123+
self::assertNotNull($tblItem0);
124+
self::assertEquals('sheet0', $tblItem0->getAttribute('id'));
125+
self::assertEquals('sheet0 gridlines', $tblItem0->getAttribute('class'));
126+
$divsItem1 = $divs->item(1);
127+
self::assertNotNull($divsItem1);
128+
$tbl = $divsItem1->getElementsByTagName('table');
129+
self::assertEquals('page: page1', $divsItem1->getAttribute('style'));
130+
$tblItem0 = $tbl->item(0);
131+
self::assertNotNull($tblItem0);
132+
self::assertEquals('sheet1', $tblItem0->getAttribute('id'));
133+
self::assertEquals('sheet1 gridlines', $tblItem0->getAttribute('class'));
134+
$spreadsheet->disconnectWorksheets();
103135
}
104136

105137
public function testWriteOneSheet(): void
@@ -115,16 +147,23 @@ public function testWriteOneSheet(): void
115147
$html = $writer->generateHTMLAll();
116148
$dom = new DOMDocument();
117149
$dom->loadHTML($html);
118-
$body = $dom->getElementsByTagName('body')[0];
150+
$body = $dom->getElementsByTagName('body')->item(0);
151+
self::assertNotNull($body);
119152
$divs = $body->getElementsByTagName('ul'); // sheet navigation
120153
self::assertCount(0, $divs);
121154
$divs = $body->getElementsByTagName('div');
122155
self::assertCount(1, $divs);
123-
self::assertEquals('page: page1', $divs->item(0)->getAttribute('style'));
124-
$tbl = $divs->item(0)->getElementsByTagName('table');
125-
self::assertEquals('sheet1', $tbl->item(0)->getAttribute('id'));
126-
self::assertEquals('sheet1 gridlines', $tbl->item(0)->getAttribute('class'));
127-
$this->writeAndReload($spreadsheet, 'Html');
156+
$divsItem0 = $divs->item(0);
157+
self::assertNotNull($divsItem0);
158+
self::assertEquals('page: page1', $divsItem0->getAttribute('style'));
159+
$tbl = $divsItem0->getElementsByTagName('table');
160+
$tblItem0 = $tbl->item(0);
161+
self::assertNotNull($tblItem0);
162+
self::assertEquals('sheet1', $tblItem0->getAttribute('id'));
163+
self::assertEquals('sheet1 gridlines', $tblItem0->getAttribute('class'));
164+
$rls = $this->writeAndReload($spreadsheet, 'Html');
165+
$spreadsheet->disconnectWorksheets();
166+
$rls->disconnectWorksheets();
128167
}
129168

130169
public function testPageBreak(): void
@@ -146,24 +185,33 @@ public function testPageBreak(): void
146185
$html = $writer->generateHTMLAll();
147186
$dom = new DOMDocument();
148187
$dom->loadHTML($html);
149-
$body = $dom->getElementsByTagName('body')[0];
188+
$body = $dom->getElementsByTagName('body')->item(0);
189+
self::assertNotNull($body);
150190
$divs = $body->getElementsByTagName('div');
151191
self::assertCount(3, $divs);
152192

153-
$sty = $divs[0]->getAttribute('style');
154-
$cls = $divs[0]->getAttribute('class');
193+
$divsItem0 = $divs->item(0);
194+
$divsItem1 = $divs->item(1);
195+
$divsItem2 = $divs->item(2);
196+
self::assertNotNull($divsItem0);
197+
self::assertNotNull($divsItem1);
198+
self::assertNotNull($divsItem2);
199+
$sty = $divsItem0->getAttribute('style');
200+
$cls = $divsItem0->getAttribute('class');
155201
self::assertEquals('page: page0', $sty);
156202
self::assertEquals('', $cls);
157-
$sty = $divs[1]->getAttribute('style');
158-
$cls = $divs[1]->getAttribute('class');
203+
$sty = $divsItem1->getAttribute('style');
204+
$cls = $divsItem1->getAttribute('class');
159205
self::assertEquals('page: page0', $sty);
160206
self::assertEquals('scrpgbrk', $cls);
161-
$sty = $divs[2]->getAttribute('style');
162-
$cls = $divs[2]->getAttribute('class');
207+
$sty = $divsItem2->getAttribute('style');
208+
$cls = $divsItem2->getAttribute('class');
163209
self::assertEquals('page: page1', $sty);
164210
self::assertEquals('', $cls);
165211

166-
$this->writeAndReload($spreadsheet, 'Html');
212+
$rls = $this->writeAndReload($spreadsheet, 'Html');
213+
$spreadsheet->disconnectWorksheets();
214+
$rls->disconnectWorksheets();
167215
}
168216

169217
public function testTcpdfPageBreak(): void
@@ -182,14 +230,16 @@ public function testTcpdfPageBreak(): void
182230
$html = $writer->generateHtmlAll();
183231
$dom = new DOMDocument();
184232
$dom->loadHTML($html);
185-
$body = $dom->getElementsByTagName('body')[0];
233+
$body = $dom->getElementsByTagName('body')->item(0);
234+
self::assertNotNull($body);
186235
$divs = $body->getElementsByTagName('div');
187236
self::assertCount(5, $divs);
188237

189-
self::assertEquals('page: page0', $divs[0]->getAttribute('style'));
190-
self::assertEquals('page: page1', $divs[2]->getAttribute('style'));
191-
self::assertEquals('page: page1', $divs[4]->getAttribute('style'));
192-
self::assertEquals('page-break-before:always', $divs[1]->getAttribute('style'));
193-
self::assertEquals('page-break-before:always', $divs[3]->getAttribute('style'));
238+
self::assertEquals('page: page0', $divs->item(0)?->getAttribute('style'));
239+
self::assertEquals('page: page1', $divs->item(2)?->getAttribute('style'));
240+
self::assertEquals('page: page1', $divs->item(4)?->getAttribute('style'));
241+
self::assertEquals('page-break-before:always', $divs->item(1)?->getAttribute('style'));
242+
self::assertEquals('page-break-before:always', $divs->item(3)?->getAttribute('style'));
243+
$spreadsheet->disconnectWorksheets();
194244
}
195245
}

0 commit comments

Comments
 (0)