@@ -28,20 +28,31 @@ public function testWriteAllSheets(): void
28
28
$ html = $ writer ->generateHTMLAll ();
29
29
$ dom = new DOMDocument ();
30
30
$ dom ->loadHTML ($ html );
31
- $ body = $ dom ->getElementsByTagName ('body ' )[0 ];
31
+ $ body = $ dom ->getElementsByTagName ('body ' )->item (0 );
32
+ self ::assertNotNull ($ body );
32
33
$ divs = $ body ->getElementsByTagName ('ul ' ); // sheet navigation
33
34
self ::assertCount (1 , $ divs );
34
35
$ divs = $ body ->getElementsByTagName ('div ' );
35
36
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 ();
45
56
}
46
57
47
58
public function testWriteAllSheetsNoNav (): void
@@ -58,20 +69,31 @@ public function testWriteAllSheetsNoNav(): void
58
69
$ html = $ writer ->generateHTMLAll ();
59
70
$ dom = new DOMDocument ();
60
71
$ dom ->loadHTML ($ html );
61
- $ body = $ dom ->getElementsByTagName ('body ' )[0 ];
72
+ $ body = $ dom ->getElementsByTagName ('body ' )->item (0 );
73
+ self ::assertNotNull ($ body );
62
74
$ divs = $ body ->getElementsByTagName ('ul ' ); // sheet navigation
63
75
self ::assertCount (0 , $ divs );
64
76
$ divs = $ body ->getElementsByTagName ('div ' );
65
77
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 ();
75
97
}
76
98
77
99
public function testWriteAllSheetsPdf (): void
@@ -87,19 +109,29 @@ public function testWriteAllSheetsPdf(): void
87
109
$ html = $ writer ->generateHTMLAll ();
88
110
$ dom = new DOMDocument ();
89
111
$ dom ->loadHTML ($ html );
90
- $ body = $ dom ->getElementsByTagName ('body ' )[0 ];
112
+ $ body = $ dom ->getElementsByTagName ('body ' )->item (0 );
113
+ self ::assertNotNull ($ body );
91
114
$ divs = $ body ->getElementsByTagName ('ul ' ); // sheet navigation
92
115
self ::assertCount (0 , $ divs );
93
116
$ divs = $ body ->getElementsByTagName ('div ' );
117
+ $ divsItem0 = $ divs ->item (0 );
118
+ self ::assertNotNull ($ divsItem0 );
94
119
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 ();
103
135
}
104
136
105
137
public function testWriteOneSheet (): void
@@ -115,16 +147,23 @@ public function testWriteOneSheet(): void
115
147
$ html = $ writer ->generateHTMLAll ();
116
148
$ dom = new DOMDocument ();
117
149
$ dom ->loadHTML ($ html );
118
- $ body = $ dom ->getElementsByTagName ('body ' )[0 ];
150
+ $ body = $ dom ->getElementsByTagName ('body ' )->item (0 );
151
+ self ::assertNotNull ($ body );
119
152
$ divs = $ body ->getElementsByTagName ('ul ' ); // sheet navigation
120
153
self ::assertCount (0 , $ divs );
121
154
$ divs = $ body ->getElementsByTagName ('div ' );
122
155
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 ();
128
167
}
129
168
130
169
public function testPageBreak (): void
@@ -146,24 +185,33 @@ public function testPageBreak(): void
146
185
$ html = $ writer ->generateHTMLAll ();
147
186
$ dom = new DOMDocument ();
148
187
$ dom ->loadHTML ($ html );
149
- $ body = $ dom ->getElementsByTagName ('body ' )[0 ];
188
+ $ body = $ dom ->getElementsByTagName ('body ' )->item (0 );
189
+ self ::assertNotNull ($ body );
150
190
$ divs = $ body ->getElementsByTagName ('div ' );
151
191
self ::assertCount (3 , $ divs );
152
192
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 ' );
155
201
self ::assertEquals ('page: page0 ' , $ sty );
156
202
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 ' );
159
205
self ::assertEquals ('page: page0 ' , $ sty );
160
206
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 ' );
163
209
self ::assertEquals ('page: page1 ' , $ sty );
164
210
self ::assertEquals ('' , $ cls );
165
211
166
- $ this ->writeAndReload ($ spreadsheet , 'Html ' );
212
+ $ rls = $ this ->writeAndReload ($ spreadsheet , 'Html ' );
213
+ $ spreadsheet ->disconnectWorksheets ();
214
+ $ rls ->disconnectWorksheets ();
167
215
}
168
216
169
217
public function testTcpdfPageBreak (): void
@@ -182,14 +230,16 @@ public function testTcpdfPageBreak(): void
182
230
$ html = $ writer ->generateHtmlAll ();
183
231
$ dom = new DOMDocument ();
184
232
$ dom ->loadHTML ($ html );
185
- $ body = $ dom ->getElementsByTagName ('body ' )[0 ];
233
+ $ body = $ dom ->getElementsByTagName ('body ' )->item (0 );
234
+ self ::assertNotNull ($ body );
186
235
$ divs = $ body ->getElementsByTagName ('div ' );
187
236
self ::assertCount (5 , $ divs );
188
237
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 ();
194
244
}
195
245
}
0 commit comments