Skip to content

Commit c5a1b56

Browse files
OlisaevAGOlisaevAG
OlisaevAG
authored and
OlisaevAG
committed
feat: more tests
1 parent 9824b97 commit c5a1b56

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

tests/PhpWordTests/Shared/HtmlTest.php

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1370,4 +1370,76 @@ public function testParseRubyHtml(): void
13701370
$doc->getElementAttribute('/w:document/w:body/w:p/w:r/w:ruby/w:rubyPr/w:lid', 'w:val')
13711371
);
13721372
}
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+
}
13731445
}

0 commit comments

Comments
 (0)