@@ -200,24 +200,67 @@ public function testWriteTitleTextRun(): void
200200 */
201201 public function testListItemRun (): void
202202 {
203- $ expected1 = 'List item run 1 ' ;
204- $ expected2 = 'List item run 1 in bold ' ;
203+ $ expected11 = 'List item run 1.1 ' ;
204+ $ expected11InBold = 'List item run 1.1 in bold ' ;
205+ $ expected12 = 'List item run 1.2 ' ;
206+ $ expected21 = 'List item run 2.1 ' ;
207+ $ expected22 = 'List item run 2.2 ' ;
208+ $ expected31 = 'List item run 3.1 ' ;
209+ $ expected13 = 'List item run 1.3 ' ;
205210
206211 $ phpWord = new PhpWord ();
207212 $ section = $ phpWord ->addSection ();
208213
209- $ listItemRun = $ section ->addListItemRun (0 , null , 'MyParagraphStyle ' );
210- $ listItemRun ->addText ($ expected1 );
211- $ listItemRun ->addText ($ expected2 , ['bold ' => true ]);
214+ $ listItemRun11 = $ section ->addListItemRun (0 , null , 'MyParagraphStyle ' );
215+ $ listItemRun11 ->addText ($ expected11 );
216+ $ listItemRun11 ->addText ($ expected11InBold , ['bold ' => true ]);
217+
218+ $ listItemRun12 = $ section ->addListItemRun (0 );
219+ $ listItemRun12 ->addText ($ expected12 );
220+
221+ $ listItemRun21 = $ section ->addListItemRun (1 );
222+ $ listItemRun21 ->addText ($ expected21 );
223+
224+ $ listItemRun22 = $ section ->addListItemRun (1 );
225+ $ listItemRun22 ->addText ($ expected22 );
226+
227+ $ listItemRun31 = $ section ->addListItemRun (2 );
228+ $ listItemRun31 ->addText ($ expected31 );
229+
230+ $ listItemRun13 = $ section ->addListItemRun (0 );
231+ $ listItemRun13 ->addText ($ expected13 );
212232
213233 $ htmlWriter = new HTML ($ phpWord );
214234 $ content = $ htmlWriter ->getContent ();
215235
216236 $ dom = new DOMDocument ();
217237 $ dom ->loadHTML ($ content );
218238
219- self ::assertEquals ($ expected1 , $ dom ->getElementsByTagName ('p ' )->item (0 )->textContent );
220- self ::assertEquals ($ expected2 , $ dom ->getElementsByTagName ('p ' )->item (1 )->textContent );
239+ $ xpath = new DOMXPath ($ dom );
240+
241+ $ list = $ xpath ->query ('//body/div/ul/li ' );
242+
243+ $ item11 = $ list ->item (0 );
244+ $ item12 = $ list ->item (1 );
245+ $ item13 = $ list ->item (2 );
246+
247+ self ::assertEquals ($ expected11 , $ item11 ->childNodes ->item (0 )->textContent );
248+ self ::assertEquals ('span ' , $ item11 ->childNodes ->item (1 )->nodeName );
249+ self ::assertEquals ($ expected11InBold , $ item11 ->childNodes ->item (1 )->textContent );
250+
251+ self ::assertEquals ($ expected12 , $ item12 ->childNodes ->item (0 )->textContent );
252+ self ::assertEquals ('ul ' , $ item12 ->childNodes ->item (1 )->nodeName );
253+
254+ self ::assertEquals ($ expected21 , $ item12 ->childNodes ->item (1 )->childNodes ->item (0 )->textContent );
255+
256+ $ item22 = $ item12 ->childNodes ->item (1 )->childNodes ->item (1 );
257+
258+ self ::assertEquals ($ expected22 , $ item22 ->childNodes ->item (0 )->textContent );
259+ self ::assertEquals ('ul ' , $ item22 ->childNodes ->item (1 )->nodeName );
260+
261+ self ::assertEquals ($ expected31 , $ item22 ->childNodes ->item (1 )->childNodes ->item (0 )->textContent );
262+
263+ self ::assertEquals ($ expected13 , $ item13 ->childNodes ->item (0 )->textContent );
221264 }
222265
223266 /**
0 commit comments