Merge remote-tracking branch 'samimussbach/PHPWord/fixNestedLists' into various_html_parsing_fixes
This commit is contained in:
commit
c0ed4ab03d
|
|
@ -31,10 +31,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>
|
||||||
|
|
|
||||||
|
|
@ -299,6 +299,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
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue