@@ -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