add (failing) test and correct documentation sample to valid HTML

This commit is contained in:
Sami Mussbach 2018-02-01 13:58:08 +01:00
parent 9a91d54e10
commit 8a9a4784d9
2 changed files with 44 additions and 4 deletions

View File

@ -29,10 +29,13 @@ $html .= '<ol>
<ol> <ol>
<li>List 2 item 1</li> <li>List 2 item 1</li>
<li>List 2 item 2</li> <li>List 2 item 2</li>
<ol> <li>
<li>sub list 1</li> <ol>
<li>sub list 2</li> <li>sub list 1</li>
</ol> <li>sub list 2</li>
</ol>
</li>
<li>List 2 item 3</li> <li>List 2 item 3</li>
<ol> <ol>
<li>sub list 1, restarts with a</li> <li>sub list 1, restarts with a</li>

View File

@ -272,6 +272,43 @@ class HtmlTest extends \PHPUnit\Framework\TestCase
$this->assertNotEquals($firstListnumId, $secondListnumId); $this->assertNotEquals($firstListnumId, $secondListnumId);
} }
/**
* Tests parsing of nested ul/li
*/
public function testOrderedNestedListNumbering()
{
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$section = $phpWord->addSection();
$html = '<ol>
<li>List 1 item 1</li>
<li>List 1 item 2</li>
</ol>
<p>Some Text</p>
<ol>
<li>List 2 item 1</li>
<li>
<ol>
<li>sub list 1</li>
<li>sub list 2</li>
</ol>
</li>
</ol>';
Html::addHtml($section, $html, false, false);
$doc = TestHelperDOCX::getDocument($phpWord, 'Word2007');
echo $doc->printXml();
$this->assertTrue($doc->elementExists('/w:document/w:body/w:p/w:pPr/w:numPr/w:numId'));
$this->assertTrue($doc->elementExists('/w:document/w:body/w:p/w:r/w:t'));
$this->assertEquals('List 1 item 1', $doc->getElement('/w:document/w:body/w:p[1]/w:r/w:t')->nodeValue);
$this->assertEquals('List 2 item 1', $doc->getElement('/w:document/w:body/w:p[4]/w:r/w:t')->nodeValue);
$firstListnumId = $doc->getElementAttribute('/w:document/w:body/w:p[1]/w:pPr/w:numPr/w:numId', 'w:val');
$secondListnumId = $doc->getElementAttribute('/w:document/w:body/w:p[4]/w:pPr/w:numPr/w:numId', 'w:val');
$this->assertNotEquals($firstListnumId, $secondListnumId);
}
/** /**
* Tests parsing of ul/li * Tests parsing of ul/li
*/ */