diff --git a/tests/serializer/HTMLSerializerTest.php b/tests/serializer/HTMLSerializerTest.php index 7604c02..fb2bff5 100644 --- a/tests/serializer/HTMLSerializerTest.php +++ b/tests/serializer/HTMLSerializerTest.php @@ -164,6 +164,59 @@ public function testEncodingGetSerializedCorrectly() { } + public function testNoRedundantNamespaceDeclarationsAreCreated(): void { + $dom = new DOMDocument(); + $dom->preserveWhiteSpace = false; + $dom->loadXML(' +

+ + +

+ + + + + '); + + $expected = implode("\n", [ + '', + '

', + ' ', + ' ', + '

', + '

', + ' ', + '

', + '' . "\n" + ]); + + $this->assertSame( + $expected, + (new HTMLSerializer())->noHtml5Doctype()->serialize($dom) + ); + } + + public function testNoRedundantNamespacesAreCreated(): void { + $dom = new DOMDocument(); + $dom->preserveWhiteSpace = false; + $dom->loadXML( + ' + + + '); + + $expected = implode("\n", [ + '', + '

', + '' . "\n" + ]); + + $this->assertSame( + $expected, + (new HTMLSerializer())->noHtml5Doctype()->serialize($dom) + ); + } + private function createInputDocument(): Document { return Document::fromString(file_get_contents(__DIR__ . '/../_data/serializer/input.xml'));