Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / vendor / masterminds / html5 / test / HTML5 / Parser / DOMTreeBuilderTest.php
index a441af837f342dc33acc945d3dfec8f520a7075d..68cf612ec37bd8d5a4ba8cf6b8a2aadacdaee2c3 100644 (file)
@@ -643,4 +643,66 @@ EOM;
         $this->assertSame(3, $dom->getElementById('first')->getElementsByTagName('option')->length);
         $this->assertSame(2, $dom->getElementById('second')->getElementsByTagName('option')->length);
     }
+
+    public function testVoidTag() {
+        $html = <<<EOM
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>testVoidTag</title>
+        <meta>
+        <meta>
+    </head>
+    <body></body>
+</html>
+EOM;
+
+        $dom = $this->parse($html);
+        $this->assertSame(2, $dom->getElementsByTagName('meta')->length);
+        $this->assertSame(0, $dom->getElementsByTagName('meta')->item(0)->childNodes->length);
+        $this->assertSame(0, $dom->getElementsByTagName('meta')->item(1)->childNodes->length);
+    }
+
+    public function testIgnoreSelfClosingTag() {
+        $html = <<<EOM
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>testIllegalSelfClosingTag</title>
+    </head>
+    <body>
+        <div /><span>Hello, World!</span></div>
+    </body>
+</html>
+EOM;
+
+        $dom = $this->parse($html);
+        $this->assertSame(1, $dom->getElementsByTagName('div')->item(0)->childNodes->length);
+    }
+
+    public function testIAudioInParagraph() {
+        $html = <<<EOM
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>testIllegalSelfClosingTag</title>
+    </head>
+    <body>
+    <p>
+        <audio preload="none" controls="controls">
+            <source src="https://example.com/test.mp3" type="audio/mpeg" />
+            Your browser does not support the audio element.
+        </audio>
+     </p>
+    </body>
+</html>>
+</html>
+EOM;
+
+        $dom = $this->parse($html);
+        $audio = $dom->getElementsByTagName('audio')->item(0);
+
+        $this->assertSame('p', $audio->parentNode->nodeName);
+        $this->assertSame(3, $audio->childNodes->length);
+    }
 }