@@ -1370,4 +1370,76 @@ public function testParseRubyHtml(): void
1370
1370
$ doc ->getElementAttribute ('/w:document/w:body/w:p/w:r/w:ruby/w:rubyPr/w:lid ' , 'w:val ' )
1371
1371
);
1372
1372
}
1373
+
1374
+ public function testParseBorderOrderHtml (): void
1375
+ {
1376
+ $ phpWord = new PhpWord ();
1377
+ $ section = $ phpWord ->addSection ();
1378
+
1379
+ $ html = '<table>
1380
+ <tbody>
1381
+ <tr>
1382
+ <td style="border:1px solid red;">border:1px solid red;</td>
1383
+ <td style="border:1px green dotted;">border:1px green dotted;</td>
1384
+ <td style="border:solid 2px #b8860b;">border:solid 2px #b8860b;</td>
1385
+ <td style="border-left:solid blue 1px;">border-left:solid blue 1px;</td>
1386
+ </tr>
1387
+ </tbody>
1388
+ </table> ' ;
1389
+ Html::addHtml ($ section , $ html );
1390
+ $ doc = TestHelperDOCX::getDocument ($ phpWord , 'Word2007 ' );
1391
+
1392
+ // [1]
1393
+ $ path = '/w:document/w:body/w:tbl/w:tr/w:tc[1]/w:tcPr/w:tcBorders/w:top ' ;
1394
+ self ::assertTrue ($ doc ->elementExists ($ path ));
1395
+ self ::assertEquals ('red ' , $ doc ->getElementAttribute ($ path , 'w:color ' ));
1396
+ self ::assertEquals (7 , $ doc ->getElementAttribute ($ path , 'w:sz ' ));
1397
+ self ::assertEquals ('single ' , $ doc ->getElementAttribute ($ path , 'w:val ' ));
1398
+
1399
+ $ path = '/w:document/w:body/w:tbl/w:tr/w:tc[1]/w:tcPr/w:tcBorders/w:left ' ;
1400
+ self ::assertTrue ($ doc ->elementExists ($ path ));
1401
+ self ::assertEquals ('red ' , $ doc ->getElementAttribute ($ path , 'w:color ' ));
1402
+ self ::assertEquals (7 , $ doc ->getElementAttribute ($ path , 'w:sz ' ));
1403
+ self ::assertEquals ('single ' , $ doc ->getElementAttribute ($ path , 'w:val ' ));
1404
+
1405
+ $ path = '/w:document/w:body/w:tbl/w:tr/w:tc[1]/w:tcPr/w:tcBorders/w:bottom ' ;
1406
+ self ::assertTrue ($ doc ->elementExists ($ path ));
1407
+ self ::assertEquals ('red ' , $ doc ->getElementAttribute ($ path , 'w:color ' ));
1408
+ self ::assertEquals (7 , $ doc ->getElementAttribute ($ path , 'w:sz ' ));
1409
+ self ::assertEquals ('single ' , $ doc ->getElementAttribute ($ path , 'w:val ' ));
1410
+
1411
+ $ path = '/w:document/w:body/w:tbl/w:tr/w:tc[1]/w:tcPr/w:tcBorders/w:right ' ;
1412
+ self ::assertTrue ($ doc ->elementExists ($ path ));
1413
+ self ::assertEquals ('red ' , $ doc ->getElementAttribute ($ path , 'w:color ' ));
1414
+ self ::assertEquals (7 , $ doc ->getElementAttribute ($ path , 'w:sz ' ));
1415
+ self ::assertEquals ('single ' , $ doc ->getElementAttribute ($ path , 'w:val ' ));
1416
+
1417
+ // [2]
1418
+ $ path = '/w:document/w:body/w:tbl/w:tr/w:tc[2]/w:tcPr/w:tcBorders/w:top ' ;
1419
+ self ::assertTrue ($ doc ->elementExists ($ path ));
1420
+ self ::assertEquals ('green ' , $ doc ->getElementAttribute ($ path , 'w:color ' ));
1421
+ self ::assertEquals (7 , $ doc ->getElementAttribute ($ path , 'w:sz ' ));
1422
+ self ::assertEquals ('dotted ' , $ doc ->getElementAttribute ($ path , 'w:val ' ));
1423
+
1424
+ // [3]
1425
+ $ path = '/w:document/w:body/w:tbl/w:tr/w:tc[3]/w:tcPr/w:tcBorders/w:top ' ;
1426
+ self ::assertTrue ($ doc ->elementExists ($ path ));
1427
+ self ::assertEquals ('b8860b ' , $ doc ->getElementAttribute ($ path , 'w:color ' ));
1428
+ self ::assertEquals (15 , $ doc ->getElementAttribute ($ path , 'w:sz ' ));
1429
+ self ::assertEquals ('single ' , $ doc ->getElementAttribute ($ path , 'w:val ' ));
1430
+
1431
+ // [4]
1432
+ $ path = '/w:document/w:body/w:tbl/w:tr/w:tc[4]/w:tcPr/w:tcBorders/w:left ' ;
1433
+ self ::assertTrue ($ doc ->elementExists ($ path ));
1434
+ self ::assertEquals ('blue ' , $ doc ->getElementAttribute ($ path , 'w:color ' ));
1435
+ self ::assertEquals (7 , $ doc ->getElementAttribute ($ path , 'w:sz ' ));
1436
+ self ::assertEquals ('single ' , $ doc ->getElementAttribute ($ path , 'w:val ' ));
1437
+
1438
+ $ path = '/w:document/w:body/w:tbl/w:tr/w:tc[4]/w:tcPr/w:tcBorders/w:right ' ;
1439
+ self ::assertNotTrue ($ doc ->elementExists ($ path ));
1440
+ $ path = '/w:document/w:body/w:tbl/w:tr/w:tc[4]/w:tcPr/w:tcBorders/w:top ' ;
1441
+ self ::assertNotTrue ($ doc ->elementExists ($ path ));
1442
+ $ path = '/w:document/w:body/w:tbl/w:tr/w:tc[4]/w:tcPr/w:tcBorders/w:bottom ' ;
1443
+ self ::assertNotTrue ($ doc ->elementExists ($ path ));
1444
+ }
1373
1445
}
0 commit comments