From e4a488746552d866aec819d9c1db85db2344a80f Mon Sep 17 00:00:00 2001 From: Arne Blankerts Date: Sun, 3 Dec 2023 13:46:44 +0100 Subject: [PATCH] Add more Serializer tests to make infection happy --- tests/serializer/HTMLSerializerTest.php | 53 +++++++++++++++++++++++++ 1 file changed, 53 insertions(+) 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'));