diff options
Diffstat (limited to 'www/wiki/tests/phpunit/includes/tidy')
-rw-r--r-- | www/wiki/tests/phpunit/includes/tidy/BalancerTest.php | 169 | ||||
-rw-r--r-- | www/wiki/tests/phpunit/includes/tidy/RemexDriverTest.php | 307 | ||||
-rw-r--r-- | www/wiki/tests/phpunit/includes/tidy/html5lib-tests.json | 80692 |
3 files changed, 81168 insertions, 0 deletions
diff --git a/www/wiki/tests/phpunit/includes/tidy/BalancerTest.php b/www/wiki/tests/phpunit/includes/tidy/BalancerTest.php new file mode 100644 index 00000000..8a4f662a --- /dev/null +++ b/www/wiki/tests/phpunit/includes/tidy/BalancerTest.php @@ -0,0 +1,169 @@ +<?php + +class BalancerTest extends MediaWikiTestCase { + + /** + * Anything that needs to happen before your tests should go here. + */ + protected function setUp() { + // Be sure to do call the parent setup and teardown functions. + // This makes sure that all the various cleanup and restorations + // happen as they should (including the restoration for setMwGlobals). + parent::setUp(); + } + + /** + * @covers MediaWiki\Tidy\Balancer + * @covers MediaWiki\Tidy\BalanceSets + * @covers MediaWiki\Tidy\BalanceElement + * @covers MediaWiki\Tidy\BalanceStack + * @covers MediaWiki\Tidy\BalanceMarker + * @covers MediaWiki\Tidy\BalanceActiveFormattingElements + * @dataProvider provideBalancerTests + */ + public function testBalancer( $description, $input, $expected, $useTidy ) { + $balancer = new MediaWiki\Tidy\Balancer( [ + 'strict' => false, /* not strict */ + 'allowedHtmlElements' => null, /* no sanitization */ + 'tidyCompat' => $useTidy, /* standard parser */ + 'allowComments' => true, /* comment parsing */ + ] ); + $output = $balancer->balance( $input ); + + // Ignore self-closing tags + $output = preg_replace( '/\s*\/>/', '>', $output ); + + $this->assertEquals( $expected, $output, $description ); + } + + public static function provideBalancerTests() { + // Get the tests from html5lib-tests.json + $json = json_decode( file_get_contents( + __DIR__ . '/html5lib-tests.json' + ), true ); + // Munge this slightly into the format phpunit expects + // for providers, and filter out HTML constructs which + // the balancer doesn't support. + $tests = []; + $okre = "~ \A + (?i:<!DOCTYPE\ html>)? + <html><head></head><body> + .* + </body></html> + \z ~xs"; + foreach ( $json as $filename => $cases ) { + foreach ( $cases as $case ) { + $html = $case['document']['html']; + if ( !preg_match( $okre, $html ) ) { + // Skip tests which involve stuff in the <head> or + // weird doctypes. + continue; + } + // We used to do this: + // $html = substr( $html, strlen( $start ), -strlen( $end ) ); + // But now we use a different field in the test case, + // which reports how domino would parse this case in a + // no-quirks <body> context. (The original test case may + // have had a different context, or relied on quirks mode.) + $html = $case['document']['noQuirksBodyHtml']; + // Normalize case of SVG attributes. + $html = str_replace( 'foreignObject', 'foreignobject', $html ); + // Normalize case of MathML attributes. + $html = str_replace( 'definitionURL', 'definitionurl', $html ); + + if ( + isset( $case['document']['props']['comment'] ) && + preg_match( ',<!--[^>]*<,', $html ) + ) { + // Skip tests which include HTML comments containing + // the < character, which we don't support. + continue; + } + if ( strpos( $case['data'], '<![CDATA[' ) !== false ) { + // Skip tests involving <![CDATA[ ]]> quoting. + continue; + } + if ( + stripos( $case['data'], '<!DOCTYPE' ) !== false && + stripos( $case['data'], '<!DOCTYPE html>' ) === false + ) { + // Skip tests involving unusual doctypes. + continue; + } + $literalre = "~ <rdar: | < /? ( + html | head | body | frame | frameset | plaintext + ) > ~xi"; + if ( preg_match( $literalre, $case['data'] ) ) { + // Skip tests involving some literal tags, which are + // unsupported but don't show up in the expected output. + continue; + } + if ( + isset( $case['document']['props']['tags']['iframe'] ) || + isset( $case['document']['props']['tags']['noembed'] ) || + isset( $case['document']['props']['tags']['noscript'] ) || + isset( $case['document']['props']['tags']['script'] ) || + isset( $case['document']['props']['tags']['svg script'] ) || + isset( $case['document']['props']['tags']['svg title'] ) || + isset( $case['document']['props']['tags']['title'] ) || + isset( $case['document']['props']['tags']['xmp'] ) + ) { + // Skip tests with unsupported tags which *do* show + // up in the expected output. + continue; + } + if ( + $filename === 'entities01.dat' || + $filename === 'entities02.dat' || + preg_match( '/&([a-z]+|#x[0-9A-F]+);/i', $case['data'] ) || + preg_match( '/^(&|&#|&#X|&#x|-|&x-test|&)$/', $case['data'] ) + ) { + // Skip tests involving entity encoding. + continue; + } + if ( + isset( $case['document']['props']['tagWithLt'] ) || + isset( $case['document']['props']['attrWithFunnyChar'] ) || + preg_match( ':^(</b test|<di|<foo bar=qux/>)$:', $case['data'] ) || + preg_match( ':</p<p>:', $case['data'] ) || + preg_match( ':<b &=&>|<p/x/y/z>:', $case['data'] ) + ) { + // Skip tests with funny tag or attribute names, + // which are really tests of the HTML tokenizer, not + // the tree builder. + continue; + } + if ( + preg_match( ':encoding=" text/html "|type=" hidden":', $case['data'] ) + ) { + // The Sanitizer normalizes whitespace in attribute + // values, which makes this test case invalid. + continue; + } + if ( $filename === 'plain-text-unsafe.dat' ) { + // Skip tests with ASCII null, etc. + continue; + } + $data = preg_replace( + '~<!DOCTYPE html>~i', '', $case['data'] + ); + $tests[] = [ + $filename, # use better description? + $data, + $html, + false # strict HTML5 compat mode, no tidy + ]; + } + } + + # Some additional tests for mediawiki-specific features + $tests[] = [ + 'Round-trip serialization for <pre>/<listing>/<textarea>', + "<pre>\n\na</pre><listing>\n\nb</listing><textarea>\n\nc</textarea>", + "<pre>\n\na</pre><listing>\n\nb</listing><textarea>\n\nc</textarea>", + true # use the tidy-compatible mode + ]; + + return $tests; + } +} diff --git a/www/wiki/tests/phpunit/includes/tidy/RemexDriverTest.php b/www/wiki/tests/phpunit/includes/tidy/RemexDriverTest.php new file mode 100644 index 00000000..a5ebaa5d --- /dev/null +++ b/www/wiki/tests/phpunit/includes/tidy/RemexDriverTest.php @@ -0,0 +1,307 @@ +<?php + +class RemexDriverTest extends MediaWikiTestCase { + static private $remexTidyTestData = [ + // Tests from Html5Depurate + [ + 'Empty string', + "", + "" + ], + [ + 'Simple p-wrap', + "x", + "<p>x</p>" + ], + [ + 'No p-wrap of blank node', + " ", + " " + ], + [ + 'p-wrap terminated by div', + "x<div></div>", + "<p>x</p><div></div>" + ], + [ + 'p-wrap not terminated by span', + "x<span></span>", + "<p>x<span></span></p>" + ], + [ + 'An element is non-blank and so gets p-wrapped', + "<span></span>", + "<p><span></span></p>" + ], + [ + 'The blank flag is set after a block-level element', + "<div></div> ", + "<div></div> " + ], + [ + 'Blank detection between two block-level elements', + "<div></div> <div></div>", + "<div></div> <div></div>" + ], + [ + 'But p-wrapping of non-blank content works after an element', + "<div></div>x", + "<div></div><p>x</p>" + ], + [ + 'p-wrapping between two block-level elements', + "<div></div>x<div></div>", + "<div></div><p>x</p><div></div>" + ], + [ + 'p-wrap inside blockquote', + "<blockquote>x</blockquote>", + "<blockquote><p>x</p></blockquote>" + ], + [ + 'A comment is blank for p-wrapping purposes', + "<!-- x -->", + "<!-- x -->" + ], + [ + 'A comment is blank even when a p-wrap was opened by a text node', + " <!-- x -->", + " <!-- x -->" + ], + [ + 'A comment does not open a p-wrap', + "<!-- x -->x", + "<!-- x --><p>x</p>" + ], + [ + 'A comment does not close a p-wrap', + "x<!-- x -->", + "<p>x<!-- x --></p>" + ], + [ + 'Empty li', + "<ul><li></li></ul>", + "<ul><li class=\"mw-empty-elt\"></li></ul>" + ], + [ + 'li with element', + "<ul><li><span></span></li></ul>", + "<ul><li><span></span></li></ul>" + ], + [ + 'li with text', + "<ul><li>x</li></ul>", + "<ul><li>x</li></ul>" + ], + [ + 'Empty tr', + "<table><tbody><tr></tr></tbody></table>", + "<table><tbody><tr class=\"mw-empty-elt\"></tr></tbody></table>" + ], + [ + 'Empty p', + "<p>\n</p>", + "<p class=\"mw-empty-elt\">\n</p>" + ], + [ + 'No p-wrapping of an inline element which contains a block element (T150317)', + "<small><div>x</div></small>", + "<small><div>x</div></small>" + ], + [ + 'p-wrapping of an inline element which contains an inline element', + "<small><b>x</b></small>", + "<p><small><b>x</b></small></p>" + ], + [ + 'p-wrapping is enabled in a blockquote in an inline element', + "<small><blockquote>x</blockquote></small>", + "<small><blockquote><p>x</p></blockquote></small>" + ], + [ + 'All bare text should be p-wrapped even when surrounded by block tags', + "<small><blockquote>x</blockquote></small>y<div></div>z", + "<small><blockquote><p>x</p></blockquote></small><p>y</p><div></div><p>z</p>" + ], + [ + 'Split tag stack 1', + "<small>x<div>y</div>z</small>", + "<p><small>x</small></p><small><div>y</div></small><p><small>z</small></p>" + ], + [ + 'Split tag stack 2', + "<small><div>y</div>z</small>", + "<small><div>y</div></small><p><small>z</small></p>" + ], + [ + 'Split tag stack 3', + "<small>x<div>y</div></small>", + "<p><small>x</small></p><small><div>y</div></small>" + ], + [ + 'Split tag stack 4 (modified to use splittable tag)', + "a<code>b<i>c<div>d</div></i>e</code>", + "<p>a<code>b<i>c</i></code></p><code><i><div>d</div></i></code><p><code>e</code></p>" + ], + [ + "Split tag stack regression check 1", + "x<span><div>y</div></span>", + "<p>x</p><span><div>y</div></span>" + ], + [ + "Split tag stack regression check 2 (modified to use splittable tag)", + "a<code><i><div>d</div></i>e</code>", + "<p>a</p><code><i><div>d</div></i></code><p><code>e</code></p>" + ], + // Simple tests from pwrap.js + [ + 'Simple pwrap test 1', + 'a', + '<p>a</p>' + ], + [ + '<span> is not a splittable tag, but gets p-wrapped in simple wrapping scenarios', + '<span>a</span>', + '<p><span>a</span></p>' + ], + [ + 'Simple pwrap test 3', + 'x <div>a</div> <div>b</div> y', + '<p>x </p><div>a</div> <div>b</div><p> y</p>' + ], + [ + 'Simple pwrap test 4', + 'x<!--c--> <div>a</div> <div>b</div> <!--c-->y', + '<p>x<!--c--> </p><div>a</div> <div>b</div> <!--c--><p>y</p>' + ], + // Complex tests from pwrap.js + [ + 'Complex pwrap test 1', + '<i>x<div>a</div>y</i>', + '<p><i>x</i></p><i><div>a</div></i><p><i>y</i></p>' + ], + [ + 'Complex pwrap test 2', + 'a<small>b</small><i>c<div>d</div>e</i>f', + '<p>a<small>b</small><i>c</i></p><i><div>d</div></i><p><i>e</i>f</p>' + ], + [ + 'Complex pwrap test 3', + 'a<small>b<i>c<div>d</div></i>e</small>', + '<p>a<small>b<i>c</i></small></p><small><i><div>d</div></i></small><p><small>e</small></p>' + ], + [ + 'Complex pwrap test 4', + 'x<small><div>y</div></small>', + '<p>x</p><small><div>y</div></small>' + ], + [ + 'Complex pwrap test 5', + 'a<small><i><div>d</div></i>e</small>', + '<p>a</p><small><i><div>d</div></i></small><p><small>e</small></p>' + ], + // phpcs:disable Generic.Files.LineLength + [ + 'Complex pwrap test 6', + '<i>a<div>b</div>c<b>d<div>e</div>f</b>g</i>', + // PHP 5 does not allow concatenation in initialisation of a class static variable + '<p><i>a</i></p><i><div>b</div></i><p><i>c<b>d</b></i></p><i><b><div>e</div></b></i><p><i><b>f</b>g</i></p>' + ], + // phpcs:enable + /* FIXME the second <b> causes a stack split which clones the <i> even + * though no <p> is actually generated + [ + 'Complex pwrap test 7', + '<i><b><font><div>x</div></font></b><div>y</div><b><font><div>z</div></font></b></i>', + '<i><b><font><div>x</div></font></b><div>y</div><b><font><div>z</div></font></b></i>' + ], + */ + // New local tests + [ + 'Blank text node after block end', + '<small>x<div>y</div> <b>z</b></small>', + '<p><small>x</small></p><small><div>y</div></small><p><small> <b>z</b></small></p>' + ], + [ + 'Text node fostering (FIXME: wrap missing)', + '<table>x</table>', + 'x<table></table>' + ], + [ + 'Blockquote fostering', + '<table><blockquote>x</blockquote></table>', + '<blockquote><p>x</p></blockquote><table></table>' + ], + [ + 'Block element fostering', + '<table><div>x', + '<div>x</div><table></table>' + ], + [ + 'Formatting element fostering (FIXME: wrap missing)', + '<table><b>x', + '<b>x</b><table></table>' + ], + [ + 'AAA clone of p-wrapped element (FIXME: empty b)', + '<b>x<p>y</b>z</p>', + '<p><b>x</b></p><b></b><p><b>y</b>z</p>', + ], + [ + 'AAA with fostering (FIXME: wrap missing)', + '<table><b>1<p>2</b>3</p>', + '<b>1</b><p><b>2</b>3</p><table></table>' + ], + [ + 'AAA causes reparent of p-wrapped text node (T178632)', + '<i><blockquote>x</i></blockquote>', + '<i></i><blockquote><p><i>x</i></p></blockquote>', + ], + [ + 'p-wrap ended by reparenting (T200827)', + '<i><blockquote><p></i>', + '<i></i><blockquote><p><i></i></p><p><i></i></p></blockquote>', + ], + ]; + + public function provider() { + return self::$remexTidyTestData; + } + + /** + * @dataProvider provider + * @covers MediaWiki\Tidy\RemexCompatFormatter + * @covers MediaWiki\Tidy\RemexCompatMunger + * @covers MediaWiki\Tidy\RemexDriver + * @covers MediaWiki\Tidy\RemexMungerData + */ + public function testTidy( $desc, $input, $expected ) { + $r = new MediaWiki\Tidy\RemexDriver( [] ); + $result = $r->tidy( $input ); + $this->assertEquals( $expected, $result, $desc ); + } + + public function html5libProvider() { + $files = json_decode( file_get_contents( __DIR__ . '/html5lib-tests.json' ), true ); + $tests = []; + foreach ( $files as $file => $fileTests ) { + foreach ( $fileTests as $i => $test ) { + $tests[] = [ "$file:$i", $test['data'] ]; + } + } + return $tests; + } + + /** + * This is a quick and dirty test to make sure none of the html5lib tests + * generate exceptions. We don't really know what the expected output is. + * + * @dataProvider html5libProvider + * @coversNothing + */ + public function testHtml5Lib( $desc, $input ) { + $r = new MediaWiki\Tidy\RemexDriver( [] ); + $result = $r->tidy( $input ); + $this->assertTrue( true, $desc ); + } +} diff --git a/www/wiki/tests/phpunit/includes/tidy/html5lib-tests.json b/www/wiki/tests/phpunit/includes/tidy/html5lib-tests.json new file mode 100644 index 00000000..2b1c3e8c --- /dev/null +++ b/www/wiki/tests/phpunit/includes/tidy/html5lib-tests.json @@ -0,0 +1,80692 @@ +{ + "adoption01.dat": [ + { + "data": "<a><p></a></p>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,10): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a" + }, + { + "tag": "p", + "children": [ + { + "tag": "a" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a></a><p><a></a></p></body></html>", + "noQuirksBodyHtml": "<a></a><p><a></a></p>" + } + }, + { + "data": "<a>1<p>2</a>3</p>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,12): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "1" + } + ] + }, + { + "tag": "p", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "2" + } + ] + }, + { + "text": "3" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a>1</a><p><a>2</a>3</p></body></html>", + "noQuirksBodyHtml": "<a>1</a><p><a>2</a>3</p>" + } + }, + { + "data": "<a>1<button>2</a>3</button>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,17): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "button": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "1" + } + ] + }, + { + "tag": "button", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "2" + } + ] + }, + { + "text": "3" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a>1</a><button><a>2</a>3</button></body></html>", + "noQuirksBodyHtml": "<a>1</a><button><a>2</a>3</button>" + } + }, + { + "data": "<a>1<b>2</a>3</b>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,12): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "b": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "1" + }, + { + "tag": "b", + "children": [ + { + "text": "2" + } + ] + } + ] + }, + { + "tag": "b", + "children": [ + { + "text": "3" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a>1<b>2</b></a><b>3</b></body></html>", + "noQuirksBodyHtml": "<a>1<b>2</b></a><b>3</b>" + } + }, + { + "data": "<a>1<div>2<div>3</a>4</div>5</div>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,20): adoption-agency-1.3", + "(1,20): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "1" + } + ] + }, + { + "tag": "div", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "2" + } + ] + }, + { + "tag": "div", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "3" + } + ] + }, + { + "text": "4" + } + ] + }, + { + "text": "5" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a>1</a><div><a>2</a><div><a>3</a>4</div>5</div></body></html>", + "noQuirksBodyHtml": "<a>1</a><div><a>2</a><div><a>3</a>4</div>5</div>" + } + }, + { + "data": "<table><a>1<p>2</a>3</p>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,10): unexpected-start-tag-implies-table-voodoo", + "(1,11): unexpected-character-implies-table-voodoo", + "(1,14): unexpected-start-tag-implies-table-voodoo", + "(1,15): unexpected-character-implies-table-voodoo", + "(1,19): unexpected-end-tag-implies-table-voodoo", + "(1,19): adoption-agency-1.3", + "(1,20): unexpected-character-implies-table-voodoo", + "(1,24): unexpected-end-tag-implies-table-voodoo", + "(1,24): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "p": true, + "table": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "1" + } + ] + }, + { + "tag": "p", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "2" + } + ] + }, + { + "text": "3" + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a>1</a><p><a>2</a>3</p><table></table></body></html>", + "noQuirksBodyHtml": "<a>1</a><p><a>2</a>3</p><table></table>" + } + }, + { + "data": "<b><b><a><p></a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,16): adoption-agency-1.3", + "(1,16): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "a": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "a" + }, + { + "tag": "p", + "children": [ + { + "tag": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b><b><a></a><p><a></a></p></b></b></body></html>", + "noQuirksBodyHtml": "<b><b><a></a><p><a></a></p></b></b>" + } + }, + { + "data": "<b><a><b><p></a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,16): adoption-agency-1.3", + "(1,16): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "a": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "b" + } + ] + }, + { + "tag": "b", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b><a><b></b></a><b><p><a></a></p></b></b></body></html>", + "noQuirksBodyHtml": "<b><a><b></b></a><b><p><a></a></p></b></b>" + } + }, + { + "data": "<a><b><b><p></a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,16): adoption-agency-1.3", + "(1,16): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "b": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "b" + } + ] + } + ] + }, + { + "tag": "b", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a><b><b></b></b></a><b><b><p><a></a></p></b></b></body></html>", + "noQuirksBodyHtml": "<a><b><b></b></b></a><b><b><p><a></a></p></b></b>" + } + }, + { + "data": "<p>1<s id=\"A\">2<b id=\"B\">3</p>4</s>5</b>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,30): unexpected-end-tag", + "(1,35): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "s": true, + "b": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "text": "1" + }, + { + "tag": "s", + "attrs": [ + { + "name": "id", + "value": "A" + } + ], + "children": [ + { + "text": "2" + }, + { + "tag": "b", + "attrs": [ + { + "name": "id", + "value": "B" + } + ], + "children": [ + { + "text": "3" + } + ] + } + ] + } + ] + }, + { + "tag": "s", + "attrs": [ + { + "name": "id", + "value": "A" + } + ], + "children": [ + { + "tag": "b", + "attrs": [ + { + "name": "id", + "value": "B" + } + ], + "children": [ + { + "text": "4" + } + ] + } + ] + }, + { + "tag": "b", + "attrs": [ + { + "name": "id", + "value": "B" + } + ], + "children": [ + { + "text": "5" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p>1<s id=\"A\">2<b id=\"B\">3</b></s></p><s id=\"A\"><b id=\"B\">4</b></s><b id=\"B\">5</b></body></html>", + "noQuirksBodyHtml": "<p>1<s id=\"A\">2<b id=\"B\">3</b></s></p><s id=\"A\"><b id=\"B\">4</b></s><b id=\"B\">5</b>" + } + }, + { + "data": "<table><a>1<td>2</td>3</table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,10): unexpected-start-tag-implies-table-voodoo", + "(1,11): unexpected-character-implies-table-voodoo", + "(1,15): unexpected-cell-in-table-body", + "(1,30): unexpected-implied-end-tag-in-table-view" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "1" + } + ] + }, + { + "tag": "a", + "children": [ + { + "text": "3" + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "text": "2" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a>1</a><a>3</a><table><tbody><tr><td>2</td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<a>1</a><a>3</a><table><tbody><tr><td>2</td></tr></tbody></table>" + } + }, + { + "data": "<table>A<td>B</td>C</table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,8): unexpected-character-implies-table-voodoo", + "(1,12): unexpected-cell-in-table-body", + "(1,22): unexpected-character-implies-table-voodoo" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "AC" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "text": "B" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>AC<table><tbody><tr><td>B</td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "AC<table><tbody><tr><td>B</td></tr></tbody></table>" + } + }, + { + "data": "<a><svg><tr><input></a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,23): unexpected-end-tag", + "(1,23): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "svg svg": true, + "svg tr": true, + "svg input": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "tr", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "input", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a><svg><tr><input></input></tr></svg></a></body></html>", + "noQuirksBodyHtml": "<a><svg><tr><input></input></tr></svg></a>" + } + }, + { + "data": "<div><a><b><div><div><div><div><div><div><div><div><div><div></a>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,65): adoption-agency-1.3", + "(1,65): adoption-agency-1.3", + "(1,65): adoption-agency-1.3", + "(1,65): adoption-agency-1.3", + "(1,65): adoption-agency-1.3", + "(1,65): adoption-agency-1.3", + "(1,65): adoption-agency-1.3", + "(1,65): adoption-agency-1.3", + "(1,65): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "a": true, + "b": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "b" + } + ] + }, + { + "tag": "b", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><a><b></b></a><b><div><a></a><div><a></a><div><a></a><div><a></a><div><a></a><div><a></a><div><a></a><div><a><div><div></div></div></a></div></div></div></div></div></div></div></div></b></div></body></html>", + "noQuirksBodyHtml": "<div><a><b></b></a><b><div><a></a><div><a></a><div><a></a><div><a></a><div><a></a><div><a></a><div><a></a><div><a><div><div></div></div></a></div></div></div></div></div></div></div></div></b></div>" + } + }, + { + "data": "<div><a><b><u><i><code><div></a>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,32): adoption-agency-1.3", + "(1,32): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "a": true, + "b": true, + "u": true, + "i": true, + "code": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "u", + "children": [ + { + "tag": "i", + "children": [ + { + "tag": "code" + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "u", + "children": [ + { + "tag": "i", + "children": [ + { + "tag": "code", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><a><b><u><i><code></code></i></u></b></a><u><i><code><div><a></a></div></code></i></u></div></body></html>", + "noQuirksBodyHtml": "<div><a><b><u><i><code></code></i></u></b></a><u><i><code><div><a></a></div></code></i></u></div>" + } + }, + { + "data": "<b><b><b><b>x</b></b></b></b>y", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "x" + } + ] + } + ] + } + ] + } + ] + }, + { + "text": "y" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b><b><b><b>x</b></b></b></b>y</body></html>", + "noQuirksBodyHtml": "<b><b><b><b>x</b></b></b></b>y" + } + }, + { + "data": "<p><b><b><b><b><p>x", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,18): unexpected-end-tag", + "(1,19): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "b": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "b" + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "x" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p><b><b><b><b></b></b></b></b></p><p><b><b><b>x</b></b></b></p></body></html>", + "noQuirksBodyHtml": "<p><b><b><b><b></b></b></b></b></p><p><b><b><b>x</b></b></b></p>" + } + }, + { + "data": "<b><em><foo><foob><fooc><aside></b></em>", + "errors": [ + "(1,35): adoption-agency-1.3", + "(1,40): adoption-agency-1.3", + "(1,40): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "div" + }, + "document": { + "props": { + "tags": { + "b": true, + "em": true, + "foo": true, + "foob": true, + "fooc": true, + "aside": true + } + }, + "tree": [ + { + "tag": "b", + "children": [ + { + "tag": "em", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foob", + "children": [ + { + "tag": "fooc" + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "aside", + "children": [ + { + "tag": "b" + } + ] + } + ], + "html": "<b><em><foo><foob><fooc></fooc></foob></foo></em></b><aside><b></b></aside>", + "noQuirksBodyHtml": "<b><em><foo><foob><fooc></fooc></foob></foo></em></b><aside><b></b></aside>" + } + } + ], + "adoption02.dat": [ + { + "data": "<b>1<i>2<p>3</b>4", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,16): adoption-agency-1.3", + "(1,17): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "i": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "1" + }, + { + "tag": "i", + "children": [ + { + "text": "2" + } + ] + } + ] + }, + { + "tag": "i", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "3" + } + ] + }, + { + "text": "4" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b>1<i>2</i></b><i><p><b>3</b>4</p></i></body></html>", + "noQuirksBodyHtml": "<b>1<i>2</i></b><i><p><b>3</b>4</p></i>" + } + }, + { + "data": "<a><div><style></style><address><a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,35): unexpected-start-tag-implies-end-tag", + "(1,35): adoption-agency-1.3", + "(1,35): adoption-agency-1.3", + "(1,35): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "div": true, + "style": true, + "address": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "style" + } + ] + }, + { + "tag": "address", + "children": [ + { + "tag": "a" + }, + { + "tag": "a" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a></a><div><a><style></style></a><address><a></a><a></a></address></div></body></html>", + "noQuirksBodyHtml": "<a></a><div><a><style></style></a><address><a></a><a></a></address></div>" + } + } + ], + "comments01.dat": [ + { + "data": "FOO<!-- BAR -->BAZ", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "comment": " BAR " + }, + { + "text": "BAZ" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<!-- BAR -->BAZ</body></html>", + "noQuirksBodyHtml": "FOO<!-- BAR -->BAZ" + } + }, + { + "data": "FOO<!-- BAR --!>BAZ", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,15): unexpected-bang-after-double-dash-in-comment" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "comment": " BAR " + }, + { + "text": "BAZ" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<!-- BAR -->BAZ</body></html>", + "noQuirksBodyHtml": "FOO<!-- BAR -->BAZ" + } + }, + { + "data": "FOO<!-- BAR -- >BAZ", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,15): unexpected-char-in-comment", + "(1,21): eof-in-comment" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "comment": " BAR -- >BAZ" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<!-- BAR -- >BAZ--></body></html>", + "noQuirksBodyHtml": "FOO<!-- BAR -- >BAZ-->" + } + }, + { + "data": "FOO<!-- BAR -- <QUX> -- MUX -->BAZ", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,15): unexpected-char-in-comment", + "(1,24): unexpected-char-in-comment" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "comment": " BAR -- <QUX> -- MUX " + }, + { + "text": "BAZ" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<!-- BAR -- <QUX> -- MUX -->BAZ</body></html>", + "noQuirksBodyHtml": "FOO<!-- BAR -- <QUX> -- MUX -->BAZ" + } + }, + { + "data": "FOO<!-- BAR -- <QUX> -- MUX --!>BAZ", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,15): unexpected-char-in-comment", + "(1,24): unexpected-char-in-comment", + "(1,31): unexpected-bang-after-double-dash-in-comment" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "comment": " BAR -- <QUX> -- MUX " + }, + { + "text": "BAZ" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<!-- BAR -- <QUX> -- MUX -->BAZ</body></html>", + "noQuirksBodyHtml": "FOO<!-- BAR -- <QUX> -- MUX -->BAZ" + } + }, + { + "data": "FOO<!-- BAR -- <QUX> -- MUX -- >BAZ", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,15): unexpected-char-in-comment", + "(1,24): unexpected-char-in-comment", + "(1,31): unexpected-char-in-comment", + "(1,35): eof-in-comment" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "comment": " BAR -- <QUX> -- MUX -- >BAZ" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<!-- BAR -- <QUX> -- MUX -- >BAZ--></body></html>", + "noQuirksBodyHtml": "FOO<!-- BAR -- <QUX> -- MUX -- >BAZ-->" + } + }, + { + "data": "FOO<!---->BAZ", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "comment": "" + }, + { + "text": "BAZ" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<!---->BAZ</body></html>", + "noQuirksBodyHtml": "FOO<!---->BAZ" + } + }, + { + "data": "FOO<!--->BAZ", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,9): incorrect-comment" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "comment": "" + }, + { + "text": "BAZ" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<!---->BAZ</body></html>", + "noQuirksBodyHtml": "FOO<!---->BAZ" + } + }, + { + "data": "FOO<!-->BAZ", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,8): incorrect-comment" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "comment": "" + }, + { + "text": "BAZ" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<!---->BAZ</body></html>", + "noQuirksBodyHtml": "FOO<!---->BAZ" + } + }, + { + "data": "<?xml version=\"1.0\">Hi", + "errors": [ + "(1,1): expected-tag-name-but-got-question-mark", + "(1,22): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "?xml version=\"1.0\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hi" + } + ] + } + ] + } + ], + "html": "<!--?xml version=\"1.0\"--><html><head></head><body>Hi</body></html>", + "noQuirksBodyHtml": "<!--?xml version=\"1.0\"-->Hi" + } + }, + { + "data": "<?xml version=\"1.0\">", + "errors": [ + "(1,1): expected-tag-name-but-got-question-mark", + "(1,20): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "?xml version=\"1.0\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!--?xml version=\"1.0\"--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!--?xml version=\"1.0\"-->" + } + }, + { + "data": "<?xml version", + "errors": [ + "(1,1): expected-tag-name-but-got-question-mark", + "(1,13): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "?xml version" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!--?xml version--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!--?xml version-->" + } + }, + { + "data": "FOO<!----->BAZ", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,10): unexpected-dash-after-double-dash-in-comment" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "comment": "-" + }, + { + "text": "BAZ" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<!----->BAZ</body></html>", + "noQuirksBodyHtml": "FOO<!----->BAZ" + } + }, + { + "data": "<html><!-- comment --><title>Comment before head</title>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "comment": " comment " + }, + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "Comment before head" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><!-- comment --><head><title>Comment before head</title></head><body></body></html>", + "noQuirksBodyHtml": "<!-- comment --><title>Comment before head</title>" + } + } + ], + "doctype01.dat": [ + { + "data": "<!DOCTYPE html>Hello", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!dOctYpE HtMl>Hello", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPEhtml>Hello", + "errors": [ + "(1,9): need-space-after-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE>Hello", + "errors": [ + "(1,9): need-space-after-doctype", + "(1,10): expected-doctype-name-but-got-right-bracket", + "(1,10): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE ><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE >Hello", + "errors": [ + "(1,11): expected-doctype-name-but-got-right-bracket", + "(1,11): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE ><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato>Hello", + "errors": [ + "(1,17): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato >Hello", + "errors": [ + "(1,18): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato taco>Hello", + "errors": [ + "(1,17): expected-space-or-right-bracket-in-doctype", + "(1,22): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato taco \"ddd>Hello", + "errors": [ + "(1,17): expected-space-or-right-bracket-in-doctype", + "(1,27): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato sYstEM>Hello", + "errors": [ + "(1,24): unexpected-char-in-doctype", + "(1,24): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato sYstEM >Hello", + "errors": [ + "(1,28): unexpected-char-in-doctype", + "(1,28): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato sYstEM ggg>Hello", + "errors": [ + "(1,34): unexpected-char-in-doctype", + "(1,37): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato SYSTEM taco >Hello", + "errors": [ + "(1,25): unexpected-char-in-doctype", + "(1,31): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato SYSTEM 'taco\"'>Hello", + "errors": [ + "(1,32): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato \"\" \"taco\"\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato SYSTEM \"taco\">Hello", + "errors": [ + "(1,31): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato \"\" \"taco\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato SYSTEM \"tai'co\">Hello", + "errors": [ + "(1,33): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato \"\" \"tai'co\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato SYSTEMtaco \"ddd\">Hello", + "errors": [ + "(1,24): unexpected-char-in-doctype", + "(1,34): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato grass SYSTEM taco>Hello", + "errors": [ + "(1,17): expected-space-or-right-bracket-in-doctype", + "(1,35): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato pUbLIc>Hello", + "errors": [ + "(1,24): unexpected-end-of-doctype", + "(1,24): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato pUbLIc >Hello", + "errors": [ + "(1,25): unexpected-end-of-doctype", + "(1,25): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato pUbLIcgoof>Hello", + "errors": [ + "(1,24): unexpected-char-in-doctype", + "(1,28): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato PUBLIC goof>Hello", + "errors": [ + "(1,25): unexpected-char-in-doctype", + "(1,29): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato PUBLIC \"go'of\">Hello", + "errors": [ + "(1,32): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato \"go'of\" \"\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato PUBLIC 'go'of'>Hello", + "errors": [ + "(1,29): unexpected-char-in-doctype", + "(1,32): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato \"go\" \"\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato PUBLIC 'go:hh of' >Hello", + "errors": [ + "(1,38): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato \"go:hh of\" \"\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE potato PUBLIC \"W3C-//dfdf\" SYSTEM ggg>Hello", + "errors": [ + "(1,38): unexpected-char-in-doctype", + "(1,48): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "potato \"W3C-//dfdf\" \"\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\n \"http://www.w3.org/TR/html4/strict.dtd\">Hello", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE ...>Hello", + "errors": [ + "(1,14): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "..." + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE ...><html><head></head><body>Hello</body></html>", + "noQuirksBodyHtml": "Hello" + } + }, + { + "data": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">", + "errors": [ + "(2,58): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\"\n\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">", + "errors": [ + "(2,54): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE root-element [SYSTEM OR PUBLIC FPI] \"uri\" [ \n<!-- internal declarations -->\n]>", + "errors": [ + "(1,23): expected-space-or-right-bracket-in-doctype", + "(2,30): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true, + "escaped": true + }, + "tree": [ + { + "doctype": "root-element" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "]>", + "escaped": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE root-element><html><head></head><body>]></body></html>", + "noQuirksBodyHtml": "\n]>" + } + }, + { + "data": "<!DOCTYPE html PUBLIC\n \"-//WAPFORUM//DTD XHTML Mobile 1.0//EN\"\n \"http://www.wapforum.org/DTD/xhtml-mobile10.dtd\">", + "errors": [ + "(3,53): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html \"-//WAPFORUM//DTD XHTML Mobile 1.0//EN\" \"http://www.wapforum.org/DTD/xhtml-mobile10.dtd\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE HTML SYSTEM \"http://www.w3.org/DTD/HTML4-strict.dtd\"><body><b>Mine!</b></body>", + "errors": [ + "(1,63): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html \"\" \"http://www.w3.org/DTD/HTML4-strict.dtd\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "Mine!" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><b>Mine!</b></body></html>", + "noQuirksBodyHtml": "<b>Mine!</b>" + } + }, + { + "data": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\"http://www.w3.org/TR/html4/strict.dtd\">", + "errors": [ + "(1,50): unexpected-char-in-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"'http://www.w3.org/TR/html4/strict.dtd'>", + "errors": [ + "(1,50): unexpected-char-in-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE HTML PUBLIC\"-//W3C//DTD HTML 4.01//EN\"'http://www.w3.org/TR/html4/strict.dtd'>", + "errors": [ + "(1,21): unexpected-char-in-doctype", + "(1,49): unexpected-char-in-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE HTML PUBLIC'-//W3C//DTD HTML 4.01//EN''http://www.w3.org/TR/html4/strict.dtd'>", + "errors": [ + "(1,21): unexpected-char-in-doctype", + "(1,49): unexpected-char-in-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + } + ], + "domjs-unsafe.dat": [ + { + "data": "<svg><![CDATA[foo\nbar]]>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(2,6): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo\nbar" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>foo\nbar</svg></body></html>", + "noQuirksBodyHtml": "<svg>foo\nbar</svg>" + } + }, + { + "data": "<svg><![CDATA[foo\rbar]]>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(2,6): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo\nbar" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>foo\nbar</svg></body></html>", + "noQuirksBodyHtml": "<svg>foo\nbar</svg>" + } + }, + { + "data": "<svg><![CDATA[foo\r\nbar]]>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(2,6): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo\nbar" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>foo\nbar</svg></body></html>", + "noQuirksBodyHtml": "<svg>foo\nbar</svg>" + } + }, + { + "data": "<script>a='\u0000'</script>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,12): invalid-codepoint" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "a='�'", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script>a='�'</script></head><body></body></html>", + "noQuirksBodyHtml": "<script>a='�'</script>" + } + }, + { + "data": "<script type=\"data\"><!--\u0000</script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag", + "(1,25): invalid-codepoint" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!--�", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!--�</script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!--�</script>" + } + }, + { + "data": "<script type=\"data\"><!--foo\u0000</script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag", + "(1,28): invalid-codepoint" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!--foo�", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!--foo�</script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!--foo�</script>" + } + }, + { + "data": "<script type=\"data\"><!-- foo-\u0000</script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag", + "(1,30): invalid-codepoint" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!-- foo-�", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!-- foo-�</script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!-- foo-�</script>" + } + }, + { + "data": "<script type=\"data\"><!-- foo--\u0000</script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag", + "(1,31): invalid-codepoint" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!-- foo--�", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!-- foo--�</script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!-- foo--�</script>" + } + }, + { + "data": "<script type=\"data\"><!-- foo-", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag", + "(1,29): expected-script-data-but-got-eof", + "(1,29): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!-- foo-", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!-- foo-</script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!-- foo-</script>" + } + }, + { + "data": "<script type=\"data\"><!-- foo-<</script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!-- foo-<", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!-- foo-<</script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!-- foo-<</script>" + } + }, + { + "data": "<script type=\"data\"><!-- foo-<S", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag", + "(1,31): expected-script-data-but-got-eof", + "(1,31): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!-- foo-<S", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!-- foo-<S</script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!-- foo-<S</script>" + } + }, + { + "data": "<script type=\"data\"><!-- foo-</SCRIPT>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!-- foo-", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!-- foo-</script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!-- foo-</script>" + } + }, + { + "data": "<script type=\"data\"><!--<p></script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!--<p>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!--<p></script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!--<p></script>" + } + }, + { + "data": "<script type=\"data\"><!--<script></script></script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!--<script></script>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!--<script></script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!--<script></script></script>" + } + }, + { + "data": "<script type=\"data\"><!--<script>\u0000</script></script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag", + "(1,33): invalid-codepoint" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!--<script>�</script>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!--<script>�</script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!--<script>�</script></script>" + } + }, + { + "data": "<script type=\"data\"><!--<script>-\u0000</script></script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag", + "(1,34): invalid-codepoint" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!--<script>-�</script>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!--<script>-�</script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!--<script>-�</script></script>" + } + }, + { + "data": "<script type=\"data\"><!--<script>--\u0000</script></script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag", + "(1,35): invalid-codepoint" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!--<script>--�</script>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!--<script>--�</script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!--<script>--�</script></script>" + } + }, + { + "data": "<script type=\"data\"><!--<script>---</script></script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!--<script>---</script>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!--<script>---</script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!--<script>---</script></script>" + } + }, + { + "data": "<script type=\"data\"><!--<script></scrip></SCRIPT></script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!--<script></scrip></SCRIPT>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!--<script></scrip></SCRIPT></script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!--<script></scrip></SCRIPT></script>" + } + }, + { + "data": "<script type=\"data\"><!--<script></scrip </SCRIPT></script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!--<script></scrip </SCRIPT>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!--<script></scrip </SCRIPT></script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!--<script></scrip </SCRIPT></script>" + } + }, + { + "data": "<script type=\"data\"><!--<script></scrip/</SCRIPT></script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!--<script></scrip/</SCRIPT>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!--<script></scrip/</SCRIPT></script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!--<script></scrip/</SCRIPT></script>" + } + }, + { + "data": "<script type=\"data\"></scrip/></script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "</scrip/>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"></scrip/></script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"></scrip/></script>" + } + }, + { + "data": "<script type=\"data\"></scrip ></script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "</scrip >", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"></scrip ></script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"></scrip ></script>" + } + }, + { + "data": "<script type=\"data\"><!--</scrip></script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!--</scrip>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!--</scrip></script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!--</scrip></script>" + } + }, + { + "data": "<script type=\"data\"><!--</scrip </script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!--</scrip ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!--</scrip </script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!--</scrip </script>" + } + }, + { + "data": "<script type=\"data\"><!--</scrip/</script>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "data" + } + ], + "children": [ + { + "text": "<!--</scrip/", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script type=\"data\"><!--</scrip/</script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"data\"><!--</scrip/</script>" + } + }, + { + "data": "<!DOCTYPE html><!DOCTYPE html>", + "errors": [ + "(1,30): unexpected-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<html><!DOCTYPE html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,21): unexpected-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<html><head><!DOCTYPE html></head>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,27): unexpected-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<html><head></head><!DOCTYPE html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,34): unexpected-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<body></body><!DOCTYPE html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,28): unexpected-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<table><!DOCTYPE html></table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,22): unexpected-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table></table></body></html>", + "noQuirksBodyHtml": "<table></table>" + } + }, + { + "data": "<select><!DOCTYPE html></select>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,23): unexpected-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select></select></body></html>", + "noQuirksBodyHtml": "<select></select>" + } + }, + { + "data": "<table><colgroup><!DOCTYPE html></colgroup></table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,32): unexpected-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "colgroup": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "colgroup" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><colgroup></colgroup></table></body></html>", + "noQuirksBodyHtml": "<table><colgroup></colgroup></table>" + } + }, + { + "data": "<table><colgroup><!--test--></colgroup></table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "colgroup": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "colgroup", + "children": [ + { + "comment": "test" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><colgroup><!--test--></colgroup></table></body></html>", + "noQuirksBodyHtml": "<table><colgroup><!--test--></colgroup></table>" + } + }, + { + "data": "<table><colgroup><html></colgroup></table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,23): non-html-root" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "colgroup": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "colgroup" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><colgroup></colgroup></table></body></html>", + "noQuirksBodyHtml": "<table><colgroup></colgroup></table>" + } + }, + { + "data": "<table><colgroup> foo</colgroup></table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,32): foster-parenting-character-in-table", + "(1,32): foster-parenting-character-in-table", + "(1,32): foster-parenting-character-in-table", + "(1,32): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "colgroup": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "foo" + }, + { + "tag": "table", + "children": [ + { + "tag": "colgroup", + "children": [ + { + "text": " " + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>foo<table><colgroup> </colgroup></table></body></html>", + "noQuirksBodyHtml": "foo<table><colgroup> </colgroup></table>" + } + }, + { + "data": "<select><!--test--></select>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "comment": "test" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select><!--test--></select></body></html>", + "noQuirksBodyHtml": "<select><!--test--></select>" + } + }, + { + "data": "<select><html></select>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,14): non-html-root" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select></select></body></html>", + "noQuirksBodyHtml": "<select></select>" + } + }, + { + "data": "<frameset><html></frameset>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(1,16): non-html-root" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<frameset></frameset><html>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(1,27): non-html-root" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<frameset></frameset><!DOCTYPE html>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(1,36): unexpected-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<html><body></body></html><!DOCTYPE html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,41): unexpected-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<svg><!DOCTYPE html></svg>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,20): unexpected-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg></svg></body></html>", + "noQuirksBodyHtml": "<svg></svg>" + } + }, + { + "data": "<svg><font></font></svg>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg font": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "font", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><font></font></svg></body></html>", + "noQuirksBodyHtml": "<svg><font></font></svg>" + } + }, + { + "data": "<svg><font id=foo></font></svg>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg font": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "font", + "ns": "http://www.w3.org/2000/svg", + "attrs": [ + { + "name": "id", + "value": "foo" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><font id=\"foo\"></font></svg></body></html>", + "noQuirksBodyHtml": "<svg><font id=\"foo\"></font></svg>" + } + }, + { + "data": "<svg><font size=4></font></svg>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,18): unexpected-html-element-in-foreign-content", + "(1,31): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "font": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg></svg><font size=\"4\"></font></body></html>", + "noQuirksBodyHtml": "<svg><font size=\"4\"></font></svg>" + } + }, + { + "data": "<svg><font color=red></font></svg>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,21): unexpected-html-element-in-foreign-content", + "(1,34): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "font": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "font", + "attrs": [ + { + "name": "color", + "value": "red" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg></svg><font color=\"red\"></font></body></html>", + "noQuirksBodyHtml": "<svg><font color=\"red\"></font></svg>" + } + }, + { + "data": "<svg><font font=sans></font></svg>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg font": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "font", + "ns": "http://www.w3.org/2000/svg", + "attrs": [ + { + "name": "font", + "value": "sans" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><font font=\"sans\"></font></svg></body></html>", + "noQuirksBodyHtml": "<svg><font font=\"sans\"></font></svg>" + } + } + ], + "entities01.dat": [ + { + "data": "FOO>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO>BAR", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO>BAR</body></html>", + "noQuirksBodyHtml": "FOO>BAR" + } + }, + { + "data": "FOO>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,6): named-entity-without-semicolon" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO>BAR", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO>BAR</body></html>", + "noQuirksBodyHtml": "FOO>BAR" + } + }, + { + "data": "FOO> BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,6): named-entity-without-semicolon" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO> BAR", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO> BAR</body></html>", + "noQuirksBodyHtml": "FOO> BAR" + } + }, + { + "data": "FOO>;;BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO>;;BAR", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO>;;BAR</body></html>", + "noQuirksBodyHtml": "FOO>;;BAR" + } + }, + { + "data": "I'm ¬it; I tell you", + "errors": [ + "(1,4): expected-doctype-but-got-chars", + "(1,9): named-entity-without-semicolon" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "I'm ¬it; I tell you" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>I'm ¬it; I tell you</body></html>", + "noQuirksBodyHtml": "I'm ¬it; I tell you" + } + }, + { + "data": "I'm ∉ I tell you", + "errors": [ + "(1,4): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "I'm ∉ I tell you" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>I'm ∉ I tell you</body></html>", + "noQuirksBodyHtml": "I'm ∉ I tell you" + } + }, + { + "data": "FOO& BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO& BAR", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO& BAR</body></html>", + "noQuirksBodyHtml": "FOO& BAR" + } + }, + { + "data": "FOO&<BAR>", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,9): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "bar": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO&", + "escaped": true + }, + { + "tag": "bar" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO&<bar></bar></body></html>", + "noQuirksBodyHtml": "FOO&<bar></bar>" + } + }, + { + "data": "FOO&&&>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO&&&>BAR", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO&&&>BAR</body></html>", + "noQuirksBodyHtml": "FOO&&&>BAR" + } + }, + { + "data": "FOO)BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO)BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO)BAR</body></html>", + "noQuirksBodyHtml": "FOO)BAR" + } + }, + { + "data": "FOOABAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOABAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOABAR</body></html>", + "noQuirksBodyHtml": "FOOABAR" + } + }, + { + "data": "FOOABAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOABAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOABAR</body></html>", + "noQuirksBodyHtml": "FOOABAR" + } + }, + { + "data": "FOO&#BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,5): expected-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO&#BAR", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO&#BAR</body></html>", + "noQuirksBodyHtml": "FOO&#BAR" + } + }, + { + "data": "FOO&#ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,5): expected-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO&#ZOO", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO&#ZOO</body></html>", + "noQuirksBodyHtml": "FOO&#ZOO" + } + }, + { + "data": "FOOºR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,7): expected-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOºR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOºR</body></html>", + "noQuirksBodyHtml": "FOOºR" + } + }, + { + "data": "FOO&#xZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,6): expected-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO&#xZOO", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO&#xZOO</body></html>", + "noQuirksBodyHtml": "FOO&#xZOO" + } + }, + { + "data": "FOO&#XZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,6): expected-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO&#XZOO", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO&#XZOO</body></html>", + "noQuirksBodyHtml": "FOO&#XZOO" + } + }, + { + "data": "FOO)BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,7): numeric-entity-without-semicolon" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO)BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO)BAR</body></html>", + "noQuirksBodyHtml": "FOO)BAR" + } + }, + { + "data": "FOO䆺R", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,10): numeric-entity-without-semicolon" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO䆺R" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO䆺R</body></html>", + "noQuirksBodyHtml": "FOO䆺R" + } + }, + { + "data": "FOOAZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,8): numeric-entity-without-semicolon" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOAZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOAZOO</body></html>", + "noQuirksBodyHtml": "FOOAZOO" + } + }, + { + "data": "FOO�ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO�ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO�ZOO</body></html>", + "noQuirksBodyHtml": "FOO�ZOO" + } + }, + { + "data": "FOOxZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOxZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOxZOO</body></html>", + "noQuirksBodyHtml": "FOOxZOO" + } + }, + { + "data": "FOOyZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOyZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOyZOO</body></html>", + "noQuirksBodyHtml": "FOOyZOO" + } + }, + { + "data": "FOO€ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO€ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO€ZOO</body></html>", + "noQuirksBodyHtml": "FOO€ZOO" + } + }, + { + "data": "FOOZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOZOO</body></html>", + "noQuirksBodyHtml": "FOOZOO" + } + }, + { + "data": "FOO‚ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO‚ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO‚ZOO</body></html>", + "noQuirksBodyHtml": "FOO‚ZOO" + } + }, + { + "data": "FOOƒZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOƒZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOƒZOO</body></html>", + "noQuirksBodyHtml": "FOOƒZOO" + } + }, + { + "data": "FOO„ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO„ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO„ZOO</body></html>", + "noQuirksBodyHtml": "FOO„ZOO" + } + }, + { + "data": "FOO…ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO…ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO…ZOO</body></html>", + "noQuirksBodyHtml": "FOO…ZOO" + } + }, + { + "data": "FOO†ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO†ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO†ZOO</body></html>", + "noQuirksBodyHtml": "FOO†ZOO" + } + }, + { + "data": "FOO‡ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO‡ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO‡ZOO</body></html>", + "noQuirksBodyHtml": "FOO‡ZOO" + } + }, + { + "data": "FOOˆZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOˆZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOˆZOO</body></html>", + "noQuirksBodyHtml": "FOOˆZOO" + } + }, + { + "data": "FOO‰ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO‰ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO‰ZOO</body></html>", + "noQuirksBodyHtml": "FOO‰ZOO" + } + }, + { + "data": "FOOŠZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOŠZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOŠZOO</body></html>", + "noQuirksBodyHtml": "FOOŠZOO" + } + }, + { + "data": "FOO‹ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO‹ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO‹ZOO</body></html>", + "noQuirksBodyHtml": "FOO‹ZOO" + } + }, + { + "data": "FOOŒZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOŒZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOŒZOO</body></html>", + "noQuirksBodyHtml": "FOOŒZOO" + } + }, + { + "data": "FOOZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOZOO</body></html>", + "noQuirksBodyHtml": "FOOZOO" + } + }, + { + "data": "FOOŽZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOŽZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOŽZOO</body></html>", + "noQuirksBodyHtml": "FOOŽZOO" + } + }, + { + "data": "FOOZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOZOO</body></html>", + "noQuirksBodyHtml": "FOOZOO" + } + }, + { + "data": "FOOZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOZOO</body></html>", + "noQuirksBodyHtml": "FOOZOO" + } + }, + { + "data": "FOO‘ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO‘ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO‘ZOO</body></html>", + "noQuirksBodyHtml": "FOO‘ZOO" + } + }, + { + "data": "FOO’ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO’ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO’ZOO</body></html>", + "noQuirksBodyHtml": "FOO’ZOO" + } + }, + { + "data": "FOO“ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO“ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO“ZOO</body></html>", + "noQuirksBodyHtml": "FOO“ZOO" + } + }, + { + "data": "FOO”ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO”ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO”ZOO</body></html>", + "noQuirksBodyHtml": "FOO”ZOO" + } + }, + { + "data": "FOO•ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO•ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO•ZOO</body></html>", + "noQuirksBodyHtml": "FOO•ZOO" + } + }, + { + "data": "FOO–ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO–ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO–ZOO</body></html>", + "noQuirksBodyHtml": "FOO–ZOO" + } + }, + { + "data": "FOO—ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO—ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO—ZOO</body></html>", + "noQuirksBodyHtml": "FOO—ZOO" + } + }, + { + "data": "FOO˜ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO˜ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO˜ZOO</body></html>", + "noQuirksBodyHtml": "FOO˜ZOO" + } + }, + { + "data": "FOO™ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO™ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO™ZOO</body></html>", + "noQuirksBodyHtml": "FOO™ZOO" + } + }, + { + "data": "FOOšZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOšZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOšZOO</body></html>", + "noQuirksBodyHtml": "FOOšZOO" + } + }, + { + "data": "FOO›ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO›ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO›ZOO</body></html>", + "noQuirksBodyHtml": "FOO›ZOO" + } + }, + { + "data": "FOOœZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOœZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOœZOO</body></html>", + "noQuirksBodyHtml": "FOOœZOO" + } + }, + { + "data": "FOOZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOZOO</body></html>", + "noQuirksBodyHtml": "FOOZOO" + } + }, + { + "data": "FOOžZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOžZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOžZOO</body></html>", + "noQuirksBodyHtml": "FOOžZOO" + } + }, + { + "data": "FOOŸZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOŸZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOŸZOO</body></html>", + "noQuirksBodyHtml": "FOOŸZOO" + } + }, + { + "data": "FOO ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO ZOO", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO ZOO</body></html>", + "noQuirksBodyHtml": "FOO ZOO" + } + }, + { + "data": "FOO퟿ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOZOO</body></html>", + "noQuirksBodyHtml": "FOOZOO" + } + }, + { + "data": "FOO�ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO�ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO�ZOO</body></html>", + "noQuirksBodyHtml": "FOO�ZOO" + } + }, + { + "data": "FOO�ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO�ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO�ZOO</body></html>", + "noQuirksBodyHtml": "FOO�ZOO" + } + }, + { + "data": "FOO�ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO�ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO�ZOO</body></html>", + "noQuirksBodyHtml": "FOO�ZOO" + } + }, + { + "data": "FOO�ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO�ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO�ZOO</body></html>", + "noQuirksBodyHtml": "FOO�ZOO" + } + }, + { + "data": "FOOZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOZOO</body></html>", + "noQuirksBodyHtml": "FOOZOO" + } + }, + { + "data": "FOOZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,13): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOZOO</body></html>", + "noQuirksBodyHtml": "FOOZOO" + } + }, + { + "data": "FOO􈟔ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOZOO</body></html>", + "noQuirksBodyHtml": "FOOZOO" + } + }, + { + "data": "FOOZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,13): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOOZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOOZOO</body></html>", + "noQuirksBodyHtml": "FOOZOO" + } + }, + { + "data": "FOO�ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,13): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO�ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO�ZOO</body></html>", + "noQuirksBodyHtml": "FOO�ZOO" + } + }, + { + "data": "FOO�ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,13): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO�ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO�ZOO</body></html>", + "noQuirksBodyHtml": "FOO�ZOO" + } + }, + { + "data": "FOO�", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,13): illegal-codepoint-for-numeric-entity", + "(1,13): eof-in-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO�" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO�</body></html>", + "noQuirksBodyHtml": "FOO�" + } + }, + { + "data": "FOO�", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,13): illegal-codepoint-for-numeric-entity", + "(1,13): eof-in-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO�" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO�</body></html>", + "noQuirksBodyHtml": "FOO�" + } + }, + { + "data": "FOO�", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,13): illegal-codepoint-for-numeric-entity", + "(1,13): eof-in-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO�" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO�</body></html>", + "noQuirksBodyHtml": "FOO�" + } + }, + { + "data": "FOO�ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,16): numeric-entity-without-semicolon", + "(1,16): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO�ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO�ZOO</body></html>", + "noQuirksBodyHtml": "FOO�ZOO" + } + }, + { + "data": "FOO�ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,15): numeric-entity-without-semicolon", + "(1,15): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO�ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO�ZOO</body></html>", + "noQuirksBodyHtml": "FOO�ZOO" + } + }, + { + "data": "FOO�ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,17): numeric-entity-without-semicolon", + "(1,17): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO�ZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO�ZOO</body></html>", + "noQuirksBodyHtml": "FOO�ZOO" + } + } + ], + "entities02.dat": [ + { + "data": "<div bar=\"ZZ>YY\"></div>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ>YY" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ>YY\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ>YY\"></div>" + } + }, + { + "data": "<div bar=\"ZZ&\"></div>", + "errors": [ + "(1,15): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ&", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ&\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ&\"></div>" + } + }, + { + "data": "<div bar='ZZ&'></div>", + "errors": [ + "(1,15): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ&", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ&\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ&\"></div>" + } + }, + { + "data": "<div bar=ZZ&></div>", + "errors": [ + "(1,13): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ&", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ&\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ&\"></div>" + } + }, + { + "data": "<div bar=\"ZZ>=YY\"></div>", + "errors": [ + "(1,15): named-entity-without-semicolon", + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ>=YY", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ&gt=YY\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ&gt=YY\"></div>" + } + }, + { + "data": "<div bar=\"ZZ>0YY\"></div>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ>0YY", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ&gt0YY\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ&gt0YY\"></div>" + } + }, + { + "data": "<div bar=\"ZZ>9YY\"></div>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ>9YY", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ&gt9YY\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ&gt9YY\"></div>" + } + }, + { + "data": "<div bar=\"ZZ>aYY\"></div>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ>aYY", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ&gtaYY\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ&gtaYY\"></div>" + } + }, + { + "data": "<div bar=\"ZZ>ZYY\"></div>", + "errors": [ + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ>ZYY", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ&gtZYY\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ&gtZYY\"></div>" + } + }, + { + "data": "<div bar=\"ZZ> YY\"></div>", + "errors": [ + "(1,15): named-entity-without-semicolon", + "(1,20): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ> YY" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ> YY\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ> YY\"></div>" + } + }, + { + "data": "<div bar=\"ZZ>\"></div>", + "errors": [ + "(1,15): named-entity-without-semicolon", + "(1,17): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ>" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ>\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ>\"></div>" + } + }, + { + "data": "<div bar='ZZ>'></div>", + "errors": [ + "(1,15): named-entity-without-semicolon", + "(1,17): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ>" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ>\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ>\"></div>" + } + }, + { + "data": "<div bar=ZZ>></div>", + "errors": [ + "(1,14): named-entity-without-semicolon", + "(1,15): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ>" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ>\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ>\"></div>" + } + }, + { + "data": "<div bar=\"ZZ£_id=23\"></div>", + "errors": [ + "(1,18): named-entity-without-semicolon", + "(1,26): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ£_id=23" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ£_id=23\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ£_id=23\"></div>" + } + }, + { + "data": "<div bar=\"ZZ&prod_id=23\"></div>", + "errors": [ + "(1,25): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ&prod_id=23", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ&prod_id=23\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ&prod_id=23\"></div>" + } + }, + { + "data": "<div bar=\"ZZ£_id=23\"></div>", + "errors": [ + "(1,27): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ£_id=23" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ£_id=23\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ£_id=23\"></div>" + } + }, + { + "data": "<div bar=\"ZZ∏_id=23\"></div>", + "errors": [ + "(1,26): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ∏_id=23" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ∏_id=23\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ∏_id=23\"></div>" + } + }, + { + "data": "<div bar=\"ZZ£=23\"></div>", + "errors": [ + "(1,18): named-entity-without-semicolon", + "(1,23): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ£=23", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ&pound=23\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ&pound=23\"></div>" + } + }, + { + "data": "<div bar=\"ZZ&prod=23\"></div>", + "errors": [ + "(1,22): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "bar", + "value": "ZZ&prod=23", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div bar=\"ZZ&prod=23\"></div></body></html>", + "noQuirksBodyHtml": "<div bar=\"ZZ&prod=23\"></div>" + } + }, + { + "data": "<div>ZZ£_id=23</div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,13): named-entity-without-semicolon" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "ZZ£_id=23" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div>ZZ£_id=23</div></body></html>", + "noQuirksBodyHtml": "<div>ZZ£_id=23</div>" + } + }, + { + "data": "<div>ZZ&prod_id=23</div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "ZZ&prod_id=23", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div>ZZ&prod_id=23</div></body></html>", + "noQuirksBodyHtml": "<div>ZZ&prod_id=23</div>" + } + }, + { + "data": "<div>ZZ£_id=23</div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "ZZ£_id=23" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div>ZZ£_id=23</div></body></html>", + "noQuirksBodyHtml": "<div>ZZ£_id=23</div>" + } + }, + { + "data": "<div>ZZ∏_id=23</div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "ZZ∏_id=23" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div>ZZ∏_id=23</div></body></html>", + "noQuirksBodyHtml": "<div>ZZ∏_id=23</div>" + } + }, + { + "data": "<div>ZZ£=23</div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,13): named-entity-without-semicolon" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "ZZ£=23" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div>ZZ£=23</div></body></html>", + "noQuirksBodyHtml": "<div>ZZ£=23</div>" + } + }, + { + "data": "<div>ZZ&prod=23</div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "ZZ&prod=23", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div>ZZ&prod=23</div></body></html>", + "noQuirksBodyHtml": "<div>ZZ&prod=23</div>" + } + }, + { + "data": "<div>ZZÆ=</div>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "ZZÆ=" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div>ZZÆ=</div></body></html>", + "noQuirksBodyHtml": "<div>ZZÆ=</div>" + } + } + ], + "foreign-fragment.dat": [ + { + "data": "<nobr>X", + "errors": [ + "6: HTML start tag “nobr” in a foreign namespace context.", + "7: End of file seen and there were open elements.", + "6: Unclosed element “nobr”." + ], + "fragment": { + "name": "path", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": { + "svg nobr": true + } + }, + "tree": [ + { + "tag": "nobr", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "X" + } + ] + } + ], + "html": "<nobr>X</nobr>", + "noQuirksBodyHtml": "<nobr>X</nobr>" + } + }, + { + "data": "<font color></font>X", + "errors": [ + "12: HTML start tag “font” in a foreign namespace context." + ], + "fragment": { + "name": "path", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": { + "svg font": true + } + }, + "tree": [ + { + "tag": "font", + "ns": "http://www.w3.org/2000/svg", + "attrs": [ + { + "name": "color", + "value": "" + } + ] + }, + { + "text": "X" + } + ], + "html": "<font color=\"\"></font>X", + "noQuirksBodyHtml": "<font color=\"\"></font>X" + } + }, + { + "data": "<font></font>X", + "errors": [], + "fragment": { + "name": "path", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": { + "svg font": true + } + }, + "tree": [ + { + "tag": "font", + "ns": "http://www.w3.org/2000/svg" + }, + { + "text": "X" + } + ], + "html": "<font></font>X", + "noQuirksBodyHtml": "<font></font>X" + } + }, + { + "data": "<g></path>X", + "errors": [ + "10: End tag “path” did not match the name of the current open element (“g”).", + "11: End of file seen and there were open elements.", + "3: Unclosed element “g”." + ], + "fragment": { + "name": "path", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": { + "svg g": true + } + }, + "tree": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "X" + } + ] + } + ], + "html": "<g>X</g>", + "noQuirksBodyHtml": "<g>X</g>" + } + }, + { + "data": "</path>X", + "errors": [ + "5: Stray end tag “path”." + ], + "fragment": { + "name": "path", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "</foreignObject>X", + "errors": [ + "5: Stray end tag “foreignobject”." + ], + "fragment": { + "name": "foreignObject", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "</desc>X", + "errors": [ + "5: Stray end tag “desc”." + ], + "fragment": { + "name": "desc", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "</title>X", + "errors": [ + "5: Stray end tag “title”." + ], + "fragment": { + "name": "title", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "</svg>X", + "errors": [ + "5: Stray end tag “svg”." + ], + "fragment": { + "name": "svg", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "</mfenced>X", + "errors": [ + "5: Stray end tag “mfenced”." + ], + "fragment": { + "name": "mfenced", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "</malignmark>X", + "errors": [ + "5: Stray end tag “malignmark”." + ], + "fragment": { + "name": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "</math>X", + "errors": [ + "5: Stray end tag “math”." + ], + "fragment": { + "name": "math", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "</annotation-xml>X", + "errors": [ + "5: Stray end tag “annotation-xml”." + ], + "fragment": { + "name": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "</mtext>X", + "errors": [ + "5: Stray end tag “mtext”." + ], + "fragment": { + "name": "mtext", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "</mi>X", + "errors": [ + "5: Stray end tag “mi”." + ], + "fragment": { + "name": "mi", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "</mo>X", + "errors": [ + "5: Stray end tag “mo”." + ], + "fragment": { + "name": "mo", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "</mn>X", + "errors": [ + "5: Stray end tag “mn”." + ], + "fragment": { + "name": "mn", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "</ms>X", + "errors": [ + "5: Stray end tag “ms”." + ], + "fragment": { + "name": "ms", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "<b></b><mglyph/><i></i><malignmark/><u></u><ms/>X", + "errors": [ + "51: Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.", + "52: End of file seen and there were open elements.", + "51: Unclosed element “ms”." + ], + "fragment": { + "name": "ms", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "b": true, + "math mglyph": true, + "i": true, + "math malignmark": true, + "u": true, + "ms": true + } + }, + "tree": [ + { + "tag": "b" + }, + { + "tag": "mglyph", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "i" + }, + { + "tag": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "u" + }, + { + "tag": "ms", + "children": [ + { + "text": "X" + } + ] + } + ], + "html": "<b></b><mglyph></mglyph><i></i><malignmark></malignmark><u></u><ms>X</ms>", + "noQuirksBodyHtml": "<b></b><mglyph><i></i><malignmark><u></u><ms>X</ms></malignmark></mglyph>" + } + }, + { + "data": "<malignmark></malignmark>", + "errors": [], + "fragment": { + "name": "ms", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "math malignmark": true + } + }, + "tree": [ + { + "tag": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ], + "html": "<malignmark></malignmark>", + "noQuirksBodyHtml": "<malignmark></malignmark>" + } + }, + { + "data": "<div></div>", + "errors": [], + "fragment": { + "name": "ms", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "div": true + } + }, + "tree": [ + { + "tag": "div" + } + ], + "html": "<div></div>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<figure></figure>", + "errors": [], + "fragment": { + "name": "ms", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "figure": true + } + }, + "tree": [ + { + "tag": "figure" + } + ], + "html": "<figure></figure>", + "noQuirksBodyHtml": "<figure></figure>" + } + }, + { + "data": "<b></b><mglyph/><i></i><malignmark/><u></u><mn/>X", + "errors": [ + "51: Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.", + "52: End of file seen and there were open elements.", + "51: Unclosed element “mn”." + ], + "fragment": { + "name": "mn", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "b": true, + "math mglyph": true, + "i": true, + "math malignmark": true, + "u": true, + "mn": true + } + }, + "tree": [ + { + "tag": "b" + }, + { + "tag": "mglyph", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "i" + }, + { + "tag": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "u" + }, + { + "tag": "mn", + "children": [ + { + "text": "X" + } + ] + } + ], + "html": "<b></b><mglyph></mglyph><i></i><malignmark></malignmark><u></u><mn>X</mn>", + "noQuirksBodyHtml": "<b></b><mglyph><i></i><malignmark><u></u><mn>X</mn></malignmark></mglyph>" + } + }, + { + "data": "<malignmark></malignmark>", + "errors": [], + "fragment": { + "name": "mn", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "math malignmark": true + } + }, + "tree": [ + { + "tag": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ], + "html": "<malignmark></malignmark>", + "noQuirksBodyHtml": "<malignmark></malignmark>" + } + }, + { + "data": "<div></div>", + "errors": [], + "fragment": { + "name": "mn", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "div": true + } + }, + "tree": [ + { + "tag": "div" + } + ], + "html": "<div></div>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<figure></figure>", + "errors": [], + "fragment": { + "name": "mn", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "figure": true + } + }, + "tree": [ + { + "tag": "figure" + } + ], + "html": "<figure></figure>", + "noQuirksBodyHtml": "<figure></figure>" + } + }, + { + "data": "<b></b><mglyph/><i></i><malignmark/><u></u><mo/>X", + "errors": [ + "51: Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.", + "52: End of file seen and there were open elements.", + "51: Unclosed element “mo”." + ], + "fragment": { + "name": "mo", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "b": true, + "math mglyph": true, + "i": true, + "math malignmark": true, + "u": true, + "mo": true + } + }, + "tree": [ + { + "tag": "b" + }, + { + "tag": "mglyph", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "i" + }, + { + "tag": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "u" + }, + { + "tag": "mo", + "children": [ + { + "text": "X" + } + ] + } + ], + "html": "<b></b><mglyph></mglyph><i></i><malignmark></malignmark><u></u><mo>X</mo>", + "noQuirksBodyHtml": "<b></b><mglyph><i></i><malignmark><u></u><mo>X</mo></malignmark></mglyph>" + } + }, + { + "data": "<malignmark></malignmark>", + "errors": [], + "fragment": { + "name": "mo", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "math malignmark": true + } + }, + "tree": [ + { + "tag": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ], + "html": "<malignmark></malignmark>", + "noQuirksBodyHtml": "<malignmark></malignmark>" + } + }, + { + "data": "<div></div>", + "errors": [], + "fragment": { + "name": "mo", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "div": true + } + }, + "tree": [ + { + "tag": "div" + } + ], + "html": "<div></div>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<figure></figure>", + "errors": [], + "fragment": { + "name": "mo", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "figure": true + } + }, + "tree": [ + { + "tag": "figure" + } + ], + "html": "<figure></figure>", + "noQuirksBodyHtml": "<figure></figure>" + } + }, + { + "data": "<b></b><mglyph/><i></i><malignmark/><u></u><mi/>X", + "errors": [ + "51: Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.", + "52: End of file seen and there were open elements.", + "51: Unclosed element “mi”." + ], + "fragment": { + "name": "mi", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "b": true, + "math mglyph": true, + "i": true, + "math malignmark": true, + "u": true, + "mi": true + } + }, + "tree": [ + { + "tag": "b" + }, + { + "tag": "mglyph", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "i" + }, + { + "tag": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "u" + }, + { + "tag": "mi", + "children": [ + { + "text": "X" + } + ] + } + ], + "html": "<b></b><mglyph></mglyph><i></i><malignmark></malignmark><u></u><mi>X</mi>", + "noQuirksBodyHtml": "<b></b><mglyph><i></i><malignmark><u></u><mi>X</mi></malignmark></mglyph>" + } + }, + { + "data": "<malignmark></malignmark>", + "errors": [], + "fragment": { + "name": "mi", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "math malignmark": true + } + }, + "tree": [ + { + "tag": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ], + "html": "<malignmark></malignmark>", + "noQuirksBodyHtml": "<malignmark></malignmark>" + } + }, + { + "data": "<div></div>", + "errors": [], + "fragment": { + "name": "mi", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "div": true + } + }, + "tree": [ + { + "tag": "div" + } + ], + "html": "<div></div>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<figure></figure>", + "errors": [], + "fragment": { + "name": "mi", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "figure": true + } + }, + "tree": [ + { + "tag": "figure" + } + ], + "html": "<figure></figure>", + "noQuirksBodyHtml": "<figure></figure>" + } + }, + { + "data": "<b></b><mglyph/><i></i><malignmark/><u></u><mtext/>X", + "errors": [ + "51: Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.", + "52: End of file seen and there were open elements.", + "51: Unclosed element “mtext”." + ], + "fragment": { + "name": "mtext", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "b": true, + "math mglyph": true, + "i": true, + "math malignmark": true, + "u": true, + "mtext": true + } + }, + "tree": [ + { + "tag": "b" + }, + { + "tag": "mglyph", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "i" + }, + { + "tag": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "u" + }, + { + "tag": "mtext", + "children": [ + { + "text": "X" + } + ] + } + ], + "html": "<b></b><mglyph></mglyph><i></i><malignmark></malignmark><u></u><mtext>X</mtext>", + "noQuirksBodyHtml": "<b></b><mglyph><i></i><malignmark><u></u><mtext>X</mtext></malignmark></mglyph>" + } + }, + { + "data": "<malignmark></malignmark>", + "errors": [], + "fragment": { + "name": "mtext", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "math malignmark": true + } + }, + "tree": [ + { + "tag": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ], + "html": "<malignmark></malignmark>", + "noQuirksBodyHtml": "<malignmark></malignmark>" + } + }, + { + "data": "<div></div>", + "errors": [], + "fragment": { + "name": "mtext", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "div": true + } + }, + "tree": [ + { + "tag": "div" + } + ], + "html": "<div></div>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<figure></figure>", + "errors": [], + "fragment": { + "name": "mtext", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "figure": true + } + }, + "tree": [ + { + "tag": "figure" + } + ], + "html": "<figure></figure>", + "noQuirksBodyHtml": "<figure></figure>" + } + }, + { + "data": "<div></div>", + "errors": [ + "5: HTML start tag “div” in a foreign namespace context." + ], + "fragment": { + "name": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "math div": true + } + }, + "tree": [ + { + "tag": "div", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ], + "html": "<div></div>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<figure></figure>", + "errors": [], + "fragment": { + "name": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "math figure": true + } + }, + "tree": [ + { + "tag": "figure", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ], + "html": "<figure></figure>", + "noQuirksBodyHtml": "<figure></figure>" + } + }, + { + "data": "<div></div>", + "errors": [ + "5: HTML start tag “div” in a foreign namespace context." + ], + "fragment": { + "name": "math", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "math div": true + } + }, + "tree": [ + { + "tag": "div", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ], + "html": "<div></div>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<figure></figure>", + "errors": [], + "fragment": { + "name": "math", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + "document": { + "props": { + "tags": { + "math figure": true + } + }, + "tree": [ + { + "tag": "figure", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ], + "html": "<figure></figure>", + "noQuirksBodyHtml": "<figure></figure>" + } + }, + { + "data": "<div></div>", + "errors": [], + "fragment": { + "name": "foreignObject", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": { + "div": true + } + }, + "tree": [ + { + "tag": "div" + } + ], + "html": "<div></div>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<figure></figure>", + "errors": [], + "fragment": { + "name": "foreignObject", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": { + "figure": true + } + }, + "tree": [ + { + "tag": "figure" + } + ], + "html": "<figure></figure>", + "noQuirksBodyHtml": "<figure></figure>" + } + }, + { + "data": "<div></div>", + "errors": [], + "fragment": { + "name": "title", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": { + "div": true + } + }, + "tree": [ + { + "tag": "div" + } + ], + "html": "<div></div>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<figure></figure>", + "errors": [], + "fragment": { + "name": "title", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": { + "figure": true + } + }, + "tree": [ + { + "tag": "figure" + } + ], + "html": "<figure></figure>", + "noQuirksBodyHtml": "<figure></figure>" + } + }, + { + "data": "<figure></figure>", + "errors": [], + "fragment": { + "name": "desc", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": { + "figure": true + } + }, + "tree": [ + { + "tag": "figure" + } + ], + "html": "<figure></figure>", + "noQuirksBodyHtml": "<figure></figure>" + } + }, + { + "data": "<div><h1>X</h1></div>", + "errors": [ + "5: HTML start tag “div” in a foreign namespace context.", + "9: HTML start tag “h1” in a foreign namespace context." + ], + "fragment": { + "name": "svg", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": { + "svg div": true, + "svg h1": true + } + }, + "tree": [ + { + "tag": "div", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "h1", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ], + "html": "<div><h1>X</h1></div>", + "noQuirksBodyHtml": "<div><h1>X</h1></div>" + } + }, + { + "data": "<div></div>", + "errors": [ + "5: HTML start tag “div” in a foreign namespace context." + ], + "fragment": { + "name": "svg", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": { + "svg div": true + } + }, + "tree": [ + { + "tag": "div", + "ns": "http://www.w3.org/2000/svg" + } + ], + "html": "<div></div>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<div></div>", + "errors": [], + "fragment": { + "name": "desc", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": { + "div": true + } + }, + "tree": [ + { + "tag": "div" + } + ], + "html": "<div></div>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<figure></figure>", + "errors": [], + "fragment": { + "name": "desc", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": { + "figure": true + } + }, + "tree": [ + { + "tag": "figure" + } + ], + "html": "<figure></figure>", + "noQuirksBodyHtml": "<figure></figure>" + } + }, + { + "data": "<plaintext><foo>", + "errors": [ + "(1,16): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "desc", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": { + "plaintext": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "plaintext", + "children": [ + { + "text": "<foo>", + "no_escape": true + } + ] + } + ], + "html": "<plaintext><foo></plaintext>", + "noQuirksBodyHtml": "<plaintext><foo></plaintext>" + } + }, + { + "data": "<frameset>X", + "errors": [ + "6: Stray start tag “frameset”." + ], + "fragment": { + "name": "desc", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "<head>X", + "errors": [ + "6: Stray start tag “head”." + ], + "fragment": { + "name": "desc", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "<body>X", + "errors": [ + "6: Stray start tag “body”." + ], + "fragment": { + "name": "desc", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "<html>X", + "errors": [ + "6: Stray start tag “html”." + ], + "fragment": { + "name": "desc", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "<html class=\"foo\">X", + "errors": [ + "6: Stray start tag “html”." + ], + "fragment": { + "name": "desc", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "<body class=\"foo\">X", + "errors": [ + "6: Stray start tag “body”." + ], + "fragment": { + "name": "desc", + "ns": "http://www.w3.org/2000/svg" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "X" + } + ], + "html": "X", + "noQuirksBodyHtml": "X" + } + } + ], + "html5test-com.dat": [ + { + "data": "<div<div>", + "errors": [ + "(1,9): expected-doctype-but-got-start-tag", + "(1,9): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div<div": true + }, + "tagWithLt": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div<div" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div<div></div<div></body></html>", + "noQuirksBodyHtml": "<div<div></div<div>" + } + }, + { + "data": "<div foo<bar=''>", + "errors": [ + "(1,9): invalid-character-in-attribute-name", + "(1,16): expected-doctype-but-got-start-tag", + "(1,16): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "attrWithFunnyChar": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "foo<bar", + "value": "" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div foo<bar=\"\"></div></body></html>", + "noQuirksBodyHtml": "<div foo<bar=\"\"></div>" + } + }, + { + "data": "<div foo=`bar`>", + "errors": [ + "(1,10): equals-in-unquoted-attribute-value", + "(1,14): unexpected-character-in-unquoted-attribute-value", + "(1,15): expected-doctype-but-got-start-tag", + "(1,15): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "foo", + "value": "`bar`" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div foo=\"`bar`\"></div></body></html>", + "noQuirksBodyHtml": "<div foo=\"`bar`\"></div>" + } + }, + { + "data": "<div \\\"foo=''>", + "errors": [ + "(1,7): invalid-character-in-attribute-name", + "(1,14): expected-doctype-but-got-start-tag", + "(1,14): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "attrWithFunnyChar": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "\\\"foo", + "value": "" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div \\\"foo=\"\"></div></body></html>", + "noQuirksBodyHtml": "<div \\\"foo=\"\"></div>" + } + }, + { + "data": "<a href='\\nbar'></a>", + "errors": [ + "(1,16): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "\\nbar" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a href=\"\\nbar\"></a></body></html>", + "noQuirksBodyHtml": "<a href=\"\\nbar\"></a>" + } + }, + { + "data": "<!DOCTYPE html>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "⟨⟩", + "errors": [ + "(1,6): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "⟨⟩" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>⟨⟩</body></html>", + "noQuirksBodyHtml": "⟨⟩" + } + }, + { + "data": "'", + "errors": [ + "(1,6): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "'" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>'</body></html>", + "noQuirksBodyHtml": "'" + } + }, + { + "data": "ⅈ", + "errors": [ + "(1,12): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "ⅈ" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>ⅈ</body></html>", + "noQuirksBodyHtml": "ⅈ" + } + }, + { + "data": "𝕂", + "errors": [ + "(1,6): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "𝕂" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>𝕂</body></html>", + "noQuirksBodyHtml": "𝕂" + } + }, + { + "data": "∉", + "errors": [ + "(1,9): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "∉" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>∉</body></html>", + "noQuirksBodyHtml": "∉" + } + }, + { + "data": "<?import namespace=\"foo\" implementation=\"#bar\">", + "errors": [ + "(1,1): expected-tag-name-but-got-question-mark", + "(1,47): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "?import namespace=\"foo\" implementation=\"#bar\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!--?import namespace=\"foo\" implementation=\"#bar\"--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!--?import namespace=\"foo\" implementation=\"#bar\"-->" + } + }, + { + "data": "<!--foo--bar-->", + "errors": [ + "(1,10): unexpected-char-in-comment", + "(1,15): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "foo--bar" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!--foo--bar--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!--foo--bar-->" + } + }, + { + "data": "<![CDATA[x]]>", + "errors": [ + "(1,2): expected-dashes-or-doctype", + "(1,13): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "[CDATA[x]]" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!--[CDATA[x]]--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!--[CDATA[x]]-->" + } + }, + { + "data": "<textarea><!--</textarea>--></textarea>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(1,39): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea", + "children": [ + { + "text": "<!--", + "escaped": true + } + ] + }, + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body><textarea><!--</textarea>--></body></html>", + "noQuirksBodyHtml": "<textarea><!--</textarea>-->" + } + }, + { + "data": "<textarea><!--</textarea>-->", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea", + "children": [ + { + "text": "<!--", + "escaped": true + } + ] + }, + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body><textarea><!--</textarea>--></body></html>", + "noQuirksBodyHtml": "<textarea><!--</textarea>-->" + } + }, + { + "data": "<style><!--</style>--></style>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,30): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "<!--", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head><style><!--</style></head><body>--></body></html>", + "noQuirksBodyHtml": "<style><!--</style>-->" + } + }, + { + "data": "<style><!--</style>-->", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "<!--", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head><style><!--</style></head><body>--></body></html>", + "noQuirksBodyHtml": "<style><!--</style>-->" + } + }, + { + "data": "<ul><li>A </li> <li>B</li></ul>", + "errors": [ + "(1,4): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ul": true, + "li": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ul", + "children": [ + { + "tag": "li", + "children": [ + { + "text": "A " + } + ] + }, + { + "text": " " + }, + { + "tag": "li", + "children": [ + { + "text": "B" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ul><li>A </li> <li>B</li></ul></body></html>", + "noQuirksBodyHtml": "<ul><li>A </li> <li>B</li></ul>" + } + }, + { + "data": "<table><form><input type=hidden><input></form><div></div></table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,13): unexpected-form-in-table", + "(1,32): unexpected-hidden-input-in-table", + "(1,39): unexpected-start-tag-implies-table-voodoo", + "(1,46): unexpected-end-tag-implies-table-voodoo", + "(1,46): unexpected-end-tag", + "(1,51): unexpected-start-tag-implies-table-voodoo", + "(1,57): unexpected-end-tag-implies-table-voodoo" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "input": true, + "div": true, + "table": true, + "form": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "input" + }, + { + "tag": "div" + }, + { + "tag": "table", + "children": [ + { + "tag": "form" + }, + { + "tag": "input", + "attrs": [ + { + "name": "type", + "value": "hidden" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><input><div></div><table><form></form><input type=\"hidden\"></table></body></html>", + "noQuirksBodyHtml": "<input><div></div><table><form></form><input type=\"hidden\"></table>" + } + }, + { + "data": "<i>A<b>B<p></i>C</b>D", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,15): adoption-agency-1.3", + "(1,20): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "i": true, + "b": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "A" + }, + { + "tag": "b", + "children": [ + { + "text": "B" + } + ] + } + ] + }, + { + "tag": "b" + }, + { + "tag": "p", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "i" + }, + { + "text": "C" + } + ] + }, + { + "text": "D" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><i>A<b>B</b></i><b></b><p><b><i></i>C</b>D</p></body></html>", + "noQuirksBodyHtml": "<i>A<b>B</b></i><b></b><p><b><i></i>C</b>D</p>" + } + }, + { + "data": "<div></div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div></div></body></html>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<svg></svg>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg></svg></body></html>", + "noQuirksBodyHtml": "<svg></svg>" + } + }, + { + "data": "<math></math>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math></math></body></html>", + "noQuirksBodyHtml": "<math></math>" + } + } + ], + "inbody01.dat": [ + { + "data": "<button>1</foo>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,15): unexpected-end-tag", + "(1,15): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "button": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "button", + "children": [ + { + "text": "1" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><button>1</button></body></html>", + "noQuirksBodyHtml": "<button>1</button>" + } + }, + { + "data": "<foo>1<p>2</foo>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,16): unexpected-end-tag", + "(1,16): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "foo": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "foo", + "children": [ + { + "text": "1" + }, + { + "tag": "p", + "children": [ + { + "text": "2" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><foo>1<p>2</p></foo></body></html>", + "noQuirksBodyHtml": "<foo>1<p>2</p></foo>" + } + }, + { + "data": "<dd>1</foo>", + "errors": [ + "(1,4): expected-doctype-but-got-start-tag", + "(1,11): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "dd": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "dd", + "children": [ + { + "text": "1" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><dd>1</dd></body></html>", + "noQuirksBodyHtml": "<dd>1</dd>" + } + }, + { + "data": "<foo>1<dd>2</foo>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,17): unexpected-end-tag", + "(1,17): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "foo": true, + "dd": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "foo", + "children": [ + { + "text": "1" + }, + { + "tag": "dd", + "children": [ + { + "text": "2" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><foo>1<dd>2</dd></foo></body></html>", + "noQuirksBodyHtml": "<foo>1<dd>2</dd></foo>" + } + } + ], + "isindex.dat": [ + { + "data": "<isindex>", + "errors": [ + "(1,9): expected-doctype-but-got-start-tag", + "(1,9): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "isindex": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "isindex" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><isindex></isindex></body></html>", + "noQuirksBodyHtml": "<isindex></isindex>" + } + }, + { + "data": "<isindex name=\"A\" action=\"B\" prompt=\"C\" foo=\"D\">", + "errors": [ + "(1,48): expected-doctype-but-got-start-tag", + "(1,48): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "isindex": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "isindex", + "attrs": [ + { + "name": "action", + "value": "B" + }, + { + "name": "foo", + "value": "D" + }, + { + "name": "name", + "value": "A" + }, + { + "name": "prompt", + "value": "C" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><isindex name=\"A\" action=\"B\" prompt=\"C\" foo=\"D\"></isindex></body></html>", + "noQuirksBodyHtml": "<isindex name=\"A\" action=\"B\" prompt=\"C\" foo=\"D\"></isindex>" + } + }, + { + "data": "<form><isindex>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,15): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "form": true, + "isindex": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "form", + "children": [ + { + "tag": "isindex" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><form><isindex></isindex></form></body></html>", + "noQuirksBodyHtml": "<form><isindex></isindex></form>" + } + }, + { + "data": "<!doctype html><isindex>x</isindex>x", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "isindex": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "isindex", + "children": [ + { + "text": "x" + } + ] + }, + { + "text": "x" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><isindex>x</isindex>x</body></html>", + "noQuirksBodyHtml": "<isindex>x</isindex>x" + } + } + ], + "main-element.dat": [ + { + "data": "<!doctype html><p>foo<main>bar<p>baz", + "errors": [ + "(1,36): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "main": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "main", + "children": [ + { + "text": "bar" + }, + { + "tag": "p", + "children": [ + { + "text": "baz" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p>foo</p><main>bar<p>baz</p></main></body></html>", + "noQuirksBodyHtml": "<p>foo</p><main>bar<p>baz</p></main>" + } + }, + { + "data": "<!doctype html><main><p>foo</main>bar", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "main": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "main", + "children": [ + { + "tag": "p", + "children": [ + { + "text": "foo" + } + ] + } + ] + }, + { + "text": "bar" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><main><p>foo</p></main>bar</body></html>", + "noQuirksBodyHtml": "<main><p>foo</p></main>bar" + } + }, + { + "data": "<!DOCTYPE html>xxx<svg><x><g><a><main><b>", + "errors": [ + " * (1,42) unexpected HTML-like start tag token in foreign content", + " * (1,42) unexpected end of file" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg x": true, + "svg g": true, + "svg a": true, + "svg main": true, + "b": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "xxx" + }, + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "x", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "a", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "main", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "b" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>xxx<svg><x><g><a><main></main></a></g></x></svg><b></b></body></html>", + "noQuirksBodyHtml": "xxx<svg><x><g><a><main><b></b></main></a></g></x></svg>" + } + } + ], + "math.dat": [ + { + "data": "<math><tr><td><mo><tr>", + "errors": [], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "math math": true, + "math tr": true, + "math td": true, + "math mo": true + } + }, + "tree": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "tr", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "td", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mo", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ], + "html": "<math><tr><td><mo></mo></td></tr></math>", + "noQuirksBodyHtml": "<math><tr><td><mo></mo></td></tr></math>" + } + }, + { + "data": "<math><tr><td><mo><tr>", + "errors": [], + "fragment": { + "name": "tr" + }, + "document": { + "props": { + "tags": { + "math math": true, + "math tr": true, + "math td": true, + "math mo": true + } + }, + "tree": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "tr", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "td", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mo", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ], + "html": "<math><tr><td><mo></mo></td></tr></math>", + "noQuirksBodyHtml": "<math><tr><td><mo></mo></td></tr></math>" + } + }, + { + "data": "<math><thead><mo><tbody>", + "errors": [], + "fragment": { + "name": "thead" + }, + "document": { + "props": { + "tags": { + "math math": true, + "math thead": true, + "math mo": true + } + }, + "tree": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "thead", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mo", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ], + "html": "<math><thead><mo></mo></thead></math>", + "noQuirksBodyHtml": "<math><thead><mo></mo></thead></math>" + } + }, + { + "data": "<math><tfoot><mo><tbody>", + "errors": [], + "fragment": { + "name": "tfoot" + }, + "document": { + "props": { + "tags": { + "math math": true, + "math tfoot": true, + "math mo": true + } + }, + "tree": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "tfoot", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mo", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ], + "html": "<math><tfoot><mo></mo></tfoot></math>", + "noQuirksBodyHtml": "<math><tfoot><mo></mo></tfoot></math>" + } + }, + { + "data": "<math><tbody><mo><tfoot>", + "errors": [], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "math math": true, + "math tbody": true, + "math mo": true + } + }, + "tree": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "tbody", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mo", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ], + "html": "<math><tbody><mo></mo></tbody></math>", + "noQuirksBodyHtml": "<math><tbody><mo></mo></tbody></math>" + } + }, + { + "data": "<math><tbody><mo></table>", + "errors": [], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "math math": true, + "math tbody": true, + "math mo": true + } + }, + "tree": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "tbody", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mo", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ], + "html": "<math><tbody><mo></mo></tbody></math>", + "noQuirksBodyHtml": "<math><tbody><mo></mo></tbody></math>" + } + }, + { + "data": "<math><thead><mo></table>", + "errors": [], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "math math": true, + "math thead": true, + "math mo": true + } + }, + "tree": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "thead", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mo", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ], + "html": "<math><thead><mo></mo></thead></math>", + "noQuirksBodyHtml": "<math><thead><mo></mo></thead></math>" + } + }, + { + "data": "<math><tfoot><mo></table>", + "errors": [], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "math math": true, + "math tfoot": true, + "math mo": true + } + }, + "tree": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "tfoot", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mo", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ], + "html": "<math><tfoot><mo></mo></tfoot></math>", + "noQuirksBodyHtml": "<math><tfoot><mo></mo></tfoot></math>" + } + } + ], + "menuitem-element.dat": [ + { + "data": "<menuitem>", + "errors": [ + "10: Start tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”." + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "menuitem": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "menuitem" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><menuitem></menuitem></body></html>", + "noQuirksBodyHtml": "<menuitem></menuitem>" + } + }, + { + "data": "</menuitem>", + "errors": [ + "11: End tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.", + "11: Stray end tag “menuitem”." + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE html><body><menuitem>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "menuitem": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "menuitem", + "children": [ + { + "text": "A" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><menuitem>A</menuitem></body></html>", + "noQuirksBodyHtml": "<menuitem>A</menuitem>" + } + }, + { + "data": "<!DOCTYPE html><body><menuitem>A<menuitem>B", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "menuitem": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "menuitem", + "children": [ + { + "text": "A" + } + ] + }, + { + "tag": "menuitem", + "children": [ + { + "text": "B" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><menuitem>A</menuitem><menuitem>B</menuitem></body></html>", + "noQuirksBodyHtml": "<menuitem>A</menuitem><menuitem>B</menuitem>" + } + }, + { + "data": "<!DOCTYPE html><body><menuitem>A<menu>B</menu>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "menuitem": true, + "menu": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "menuitem", + "children": [ + { + "text": "A" + } + ] + }, + { + "tag": "menu", + "children": [ + { + "text": "B" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><menuitem>A</menuitem><menu>B</menu></body></html>", + "noQuirksBodyHtml": "<menuitem>A</menuitem><menu>B</menu>" + } + }, + { + "data": "<!DOCTYPE html><body><menuitem>A<hr>B", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "menuitem": true, + "hr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "menuitem", + "children": [ + { + "text": "A" + } + ] + }, + { + "tag": "hr" + }, + { + "text": "B" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><menuitem>A</menuitem><hr>B</body></html>", + "noQuirksBodyHtml": "<menuitem>A</menuitem><hr>B" + } + }, + { + "data": "<!DOCTYPE html><li><menuitem><li>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "li": true, + "menuitem": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "li", + "children": [ + { + "tag": "menuitem" + } + ] + }, + { + "tag": "li" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><li><menuitem></menuitem></li><li></li></body></html>", + "noQuirksBodyHtml": "<li><menuitem></menuitem></li><li></li>" + } + }, + { + "data": "<!DOCTYPE html><menuitem><p></menuitem>x", + "errors": [ + "39: Stray end tag “menuitem”." + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "menuitem": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "menuitem", + "children": [ + { + "tag": "p", + "children": [ + { + "text": "x" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><menuitem><p>x</p></menuitem></body></html>", + "noQuirksBodyHtml": "<menuitem><p>x</p></menuitem>" + } + }, + { + "data": "<!DOCTYPE html><p><b></p><menuitem>", + "errors": [ + "25: End tag “p” seen, but there were open elements.", + "21: Unclosed element “b”.", + "35: End of file seen and there were open elements." + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "b": true, + "menuitem": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "b" + } + ] + }, + { + "tag": "b", + "children": [ + { + "tag": "menuitem" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><b></b></p><b><menuitem></menuitem></b></body></html>", + "noQuirksBodyHtml": "<p><b></b></p><b><menuitem></menuitem></b>" + } + }, + { + "data": "<!DOCTYPE html><menuitem><asdf></menuitem>x", + "errors": [ + "40: End tag “menuitem” seen, but there were open elements.", + "31: Unclosed element “asdf”." + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "menuitem": true, + "asdf": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "menuitem", + "children": [ + { + "tag": "asdf" + } + ] + }, + { + "text": "x" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><menuitem><asdf></asdf></menuitem>x</body></html>", + "noQuirksBodyHtml": "<menuitem><asdf></asdf></menuitem>x" + } + }, + { + "data": "<!DOCTYPE html></menuitem>", + "errors": [ + "26: Stray end tag “menuitem”." + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE html><html></menuitem>", + "errors": [ + "26: Stray end tag “menuitem”." + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE html><head></menuitem>", + "errors": [ + "26: Stray end tag “menuitem”." + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE html><select><menuitem></select>", + "errors": [ + "33: Stray start tag “menuitem”." + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>", + "noQuirksBodyHtml": "<select></select>" + } + }, + { + "data": "<!DOCTYPE html><option><menuitem>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "option": true, + "menuitem": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "option", + "children": [ + { + "tag": "menuitem" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><option><menuitem></menuitem></option></body></html>", + "noQuirksBodyHtml": "<option><menuitem></menuitem></option>" + } + }, + { + "data": "<!DOCTYPE html><menuitem><option>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "menuitem": true, + "option": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "menuitem", + "children": [ + { + "tag": "option" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><menuitem><option></option></menuitem></body></html>", + "noQuirksBodyHtml": "<menuitem><option></option></menuitem>" + } + }, + { + "data": "<!DOCTYPE html><menuitem></body>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "menuitem": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "menuitem" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><menuitem></menuitem></body></html>", + "noQuirksBodyHtml": "<menuitem></menuitem>" + } + }, + { + "data": "<!DOCTYPE html><menuitem></html>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "menuitem": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "menuitem" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><menuitem></menuitem></body></html>", + "noQuirksBodyHtml": "<menuitem></menuitem>" + } + }, + { + "data": "<!DOCTYPE html><menuitem><p>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "menuitem": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "menuitem", + "children": [ + { + "tag": "p" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><menuitem><p></p></menuitem></body></html>", + "noQuirksBodyHtml": "<menuitem><p></p></menuitem>" + } + }, + { + "data": "<!DOCTYPE html><menuitem><li>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "menuitem": true, + "li": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "menuitem", + "children": [ + { + "tag": "li" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><menuitem><li></li></menuitem></body></html>", + "noQuirksBodyHtml": "<menuitem><li></li></menuitem>" + } + } + ], + "namespace-sensitivity.dat": [ + { + "data": "<body><table><tr><td><svg><td><foreignObject><span></td>Foo", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "svg svg": true, + "svg td": true, + "svg foreignObject": true, + "span": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Foo" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "td", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "span" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>Foo<table><tbody><tr><td><svg><td><foreignObject><span></span></foreignObject></td></svg></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "Foo<table><tbody><tr><td><svg><td><foreignObject><span></span></foreignObject></td></svg></td></tr></tbody></table>" + } + } + ], + "noscript01.dat": [ + { + "data": "<head><noscript><!doctype html><!--foo--></noscript>", + "errors": [ + "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.", + "Line: 1 Col: 31 Unexpected DOCTYPE. Ignored." + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "comment": "foo" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript><!--foo--></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><!--foo--></noscript>" + } + }, + { + "data": "<head><noscript><html class=\"foo\"><!--foo--></noscript>", + "errors": [ + "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.", + "Line: 1 Col: 34 html needs to be the first start tag." + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "attrs": [ + { + "name": "class", + "value": "foo" + } + ], + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "comment": "foo" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html class=\"foo\"><head><noscript><!--foo--></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><!--foo--></noscript>" + } + }, + { + "data": "<head><noscript></noscript>", + "errors": [ + "(1,6): expected-doctype-but-got-tag" + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript" + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript></noscript>" + } + }, + { + "data": "<head><noscript> </noscript>", + "errors": [ + "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE." + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "text": " ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript> </noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript> </noscript>" + } + }, + { + "data": "<head><noscript><!--foo--></noscript>", + "errors": [ + "(1,6): expected-doctype-but-got-tag" + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "comment": "foo" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript><!--foo--></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><!--foo--></noscript>" + } + }, + { + "data": "<head><noscript><basefont><!--foo--></noscript>", + "errors": [ + "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE." + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "basefont": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "tag": "basefont" + }, + { + "comment": "foo" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript><basefont><!--foo--></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><basefont><!--foo--></noscript>" + } + }, + { + "data": "<head><noscript><bgsound><!--foo--></noscript>", + "errors": [ + "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE." + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "bgsound": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "tag": "bgsound" + }, + { + "comment": "foo" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript><bgsound><!--foo--></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><bgsound><!--foo--></noscript>" + } + }, + { + "data": "<head><noscript><link><!--foo--></noscript>", + "errors": [ + "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE." + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "link": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "tag": "link" + }, + { + "comment": "foo" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript><link><!--foo--></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><link><!--foo--></noscript>" + } + }, + { + "data": "<head><noscript><meta><!--foo--></noscript>", + "errors": [ + "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE." + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "meta": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "tag": "meta" + }, + { + "comment": "foo" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript><meta><!--foo--></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><meta><!--foo--></noscript>" + } + }, + { + "data": "<head><noscript><noframes>XXX</noscript></noframes></noscript>", + "errors": [ + "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE." + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "noframes": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "tag": "noframes", + "children": [ + { + "text": "XXX</noscript>", + "no_escape": true + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript><noframes>XXX</noscript></noframes></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><noframes>XXX</noscript></noframes></noscript>" + } + }, + { + "data": "<head><noscript><style>XXX</style></noscript>", + "errors": [ + "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE." + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "style": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "XXX", + "no_escape": true + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript><style>XXX</style></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><style>XXX</style></noscript>" + } + }, + { + "data": "<head><noscript></br><!--foo--></noscript>", + "errors": [ + "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.", + "Line: 1 Col: 21 Element br not allowed in a inhead-noscript context", + "Line: 1 Col: 21 Unexpected end tag (br). Treated as br element.", + "Line: 1 Col: 42 Unexpected end tag (noscript). Ignored." + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true, + "br": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript" + } + ] + }, + { + "tag": "body", + "children": [ + { + "tag": "br" + }, + { + "comment": "foo" + } + ] + } + ] + } + ], + "html": "<html><head><noscript></noscript></head><body><br><!--foo--></body></html>", + "noQuirksBodyHtml": "<noscript><br><!--foo--></noscript>" + } + }, + { + "data": "<head><noscript><head class=\"foo\"><!--foo--></noscript>", + "errors": [ + "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.", + "Line: 1 Col: 34 Unexpected start tag (head)." + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "comment": "foo" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript><!--foo--></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><!--foo--></noscript>" + } + }, + { + "data": "<head><noscript><noscript class=\"foo\"><!--foo--></noscript>", + "errors": [ + "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.", + "Line: 1 Col: 34 Unexpected start tag (noscript)." + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "comment": "foo" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript><!--foo--></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><noscript class=\"foo\"><!--foo--></noscript></noscript>" + } + }, + { + "data": "<head><noscript></p><!--foo--></noscript>", + "errors": [ + "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.", + "Line: 1 Col: 20 Unexpected end tag (p). Ignored." + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "comment": "foo" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript><!--foo--></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><p></p><!--foo--></noscript>" + } + }, + { + "data": "<head><noscript><p><!--foo--></noscript>", + "errors": [ + "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.", + "Line: 1 Col: 19 Element p not allowed in a inhead-noscript context", + "Line: 1 Col: 40 Unexpected end tag (noscript). Ignored." + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true, + "p": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript" + } + ] + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "comment": "foo" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head><noscript></noscript></head><body><p><!--foo--></p></body></html>", + "noQuirksBodyHtml": "<noscript><p><!--foo--></p></noscript>" + } + }, + { + "data": "<head><noscript>XXX<!--foo--></noscript></head>", + "errors": [ + "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.", + "Line: 1 Col: 19 Unexpected non-space character. Expected inhead-noscript content", + "Line: 1 Col: 30 Unexpected end tag (noscript). Ignored.", + "Line: 1 Col: 37 Unexpected end tag (head). Ignored." + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript" + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "XXX" + }, + { + "comment": "foo" + } + ] + } + ] + } + ], + "html": "<html><head><noscript></noscript></head><body>XXX<!--foo--></body></html>", + "noQuirksBodyHtml": "<noscript>XXX<!--foo--></noscript>" + } + }, + { + "data": "<head><noscript>", + "errors": [ + "(1,6): expected-doctype-but-got-tag", + "(1,6): eof-in-head-noscript" + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript" + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript></noscript>" + } + } + ], + "pending-spec-changes-plain-text-unsafe.dat": [ + { + "data": "<body><table>\u0000filler\u0000text\u0000", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,14): invalid-codepoint", + "(1,14): invalid-codepoint-in-table-text", + "(1,21): invalid-codepoint", + "(1,21): invalid-codepoint-in-table-text", + "(1,26): invalid-codepoint", + "(1,26): invalid-codepoint-in-table-text", + "(1,26): foster-parenting-character-in-table", + "(1,26): foster-parenting-character-in-table", + "(1,26): foster-parenting-character-in-table", + "(1,26): foster-parenting-character-in-table", + "(1,26): foster-parenting-character-in-table", + "(1,26): foster-parenting-character-in-table", + "(1,26): foster-parenting-character-in-table", + "(1,26): foster-parenting-character-in-table", + "(1,26): foster-parenting-character-in-table", + "(1,26): foster-parenting-character-in-table", + "(1,26): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "fillertext" + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>fillertext<table></table></body></html>", + "noQuirksBodyHtml": "fillertext<table></table>" + } + } + ], + "pending-spec-changes.dat": [ + { + "data": "<input type=\"hidden\"><frameset>", + "errors": [ + "(1,21): expected-doctype-but-got-start-tag", + "(1,31): unexpected-start-tag", + "(1,31): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<input type=\"hidden\">" + } + }, + { + "data": "<!DOCTYPE html><table><caption><svg>foo</table>bar", + "errors": [ + "(1,47): unexpected-end-tag", + "(1,47): end-table-tag-in-caption" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + } + ] + } + ] + }, + { + "text": "bar" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><caption><svg>foo</svg></caption></table>bar</body></html>", + "noQuirksBodyHtml": "<table><caption><svg>foo</svg></caption></table>bar" + } + }, + { + "data": "<table><tr><td><svg><desc><td></desc><circle>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,30): unexpected-cell-end-tag", + "(1,37): unexpected-end-tag", + "(1,45): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "svg svg": true, + "svg desc": true, + "circle": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "desc", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + }, + { + "tag": "td", + "children": [ + { + "tag": "circle" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td><svg><desc></desc></svg></td><td><circle></circle></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><svg><desc></desc></svg></td><td><circle></circle></td></tr></tbody></table>" + } + } + ], + "plain-text-unsafe.dat": [ + { + "data": "FOO
ZOO", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,11): illegal-codepoint-for-numeric-entity" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO\rZOO" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO\rZOO</body></html>", + "noQuirksBodyHtml": "FOO\rZOO" + } + }, + { + "data": "<html>\u0000<frameset></frameset>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,7): invalid-codepoint", + "(1,7): invalid-codepoint-in-body", + "(1,17): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<html> \u0000 <frameset></frameset>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,8): invalid-codepoint", + "(1,8): invalid-codepoint-in-body", + "(1,19): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": " " + } + }, + { + "data": "<html>a\u0000a<frameset></frameset>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,8): invalid-codepoint", + "(1,8): invalid-codepoint-in-body", + "(1,19): unexpected-start-tag", + "(1,30): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "aa" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>aa</body></html>", + "noQuirksBodyHtml": "aa" + } + }, + { + "data": "<html>\u0000\u0000<frameset></frameset>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,7): invalid-codepoint", + "(1,7): invalid-codepoint-in-body", + "(1,8): invalid-codepoint", + "(1,8): invalid-codepoint-in-body", + "(1,18): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<html>\u0000\n <frameset></frameset>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,7): invalid-codepoint", + "(1,7): invalid-codepoint-in-body", + "(2,11): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "\n " + } + }, + { + "data": "<html><select>\u0000", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,15): invalid-codepoint", + "(1,15): invalid-codepoint-in-select", + "(1,15): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select></select></body></html>", + "noQuirksBodyHtml": "<select></select>" + } + }, + { + "data": "\u0000", + "errors": [ + "(1,1): invalid-codepoint", + "(1,1): expected-doctype-but-got-chars", + "(1,1): invalid-codepoint-in-body" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<body>\u0000", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,7): invalid-codepoint", + "(1,7): invalid-codepoint-in-body" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<plaintext>\u0000filler\u0000text\u0000", + "errors": [ + "(1,11): expected-doctype-but-got-start-tag", + "(1,12): invalid-codepoint", + "(1,19): invalid-codepoint", + "(1,24): invalid-codepoint", + "(1,24): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "plaintext": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "plaintext", + "children": [ + { + "text": "�filler�text�", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><plaintext>�filler�text�</plaintext></body></html>", + "noQuirksBodyHtml": "<plaintext>�filler�text�</plaintext>" + } + }, + { + "data": "<svg><![CDATA[\u0000filler\u0000text\u0000]]>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,30): invalid-codepoint", + "(1,30): invalid-codepoint", + "(1,30): invalid-codepoint", + "(1,30): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "�filler�text�" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>�filler�text�</svg></body></html>", + "noQuirksBodyHtml": "<svg>�filler�text�</svg>" + } + }, + { + "data": "<body><!\u0000>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,8): expected-dashes-or-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "comment": "�" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><!--�--></body></html>", + "noQuirksBodyHtml": "<!--�-->" + } + }, + { + "data": "<body><!\u0000filler\u0000text>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,8): expected-dashes-or-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "comment": "�filler�text" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><!--�filler�text--></body></html>", + "noQuirksBodyHtml": "<!--�filler�text-->" + } + }, + { + "data": "<body><svg><foreignObject>\u0000filler\u0000text", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,27): invalid-codepoint", + "(1,27): invalid-codepoint-in-body", + "(1,34): invalid-codepoint", + "(1,34): invalid-codepoint-in-body", + "(1,38): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg foreignObject": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "fillertext" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><foreignObject>fillertext</foreignObject></svg></body></html>", + "noQuirksBodyHtml": "<svg><foreignObject>fillertext</foreignObject></svg>" + } + }, + { + "data": "<svg>\u0000filler\u0000text", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,6): invalid-codepoint", + "(1,6): invalid-codepoint-in-foreign-content", + "(1,13): invalid-codepoint", + "(1,13): invalid-codepoint-in-foreign-content", + "(1,17): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "�filler�text" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>�filler�text</svg></body></html>", + "noQuirksBodyHtml": "<svg>�filler�text</svg>" + } + }, + { + "data": "<svg>\u0000<frameset>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,6): invalid-codepoint", + "(1,6): invalid-codepoint-in-foreign-content", + "(1,16): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "�" + }, + { + "tag": "frameset", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>�<frameset></frameset></svg></body></html>", + "noQuirksBodyHtml": "<svg>�<frameset></frameset></svg>" + } + }, + { + "data": "<svg>\u0000 <frameset>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,6): invalid-codepoint", + "(1,6): invalid-codepoint-in-foreign-content", + "(1,17): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "� " + }, + { + "tag": "frameset", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>� <frameset></frameset></svg></body></html>", + "noQuirksBodyHtml": "<svg>� <frameset></frameset></svg>" + } + }, + { + "data": "<svg>\u0000a<frameset>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,6): invalid-codepoint", + "(1,6): invalid-codepoint-in-foreign-content", + "(1,17): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "�a" + }, + { + "tag": "frameset", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>�a<frameset></frameset></svg></body></html>", + "noQuirksBodyHtml": "<svg>�a<frameset></frameset></svg>" + } + }, + { + "data": "<svg>\u0000</svg><frameset>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,6): invalid-codepoint", + "(1,6): invalid-codepoint-in-foreign-content", + "(1,22): unexpected-start-tag", + "(1,22): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<svg>�</svg>" + } + }, + { + "data": "<svg>\u0000 </svg><frameset>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,6): invalid-codepoint", + "(1,6): invalid-codepoint-in-foreign-content", + "(1,23): unexpected-start-tag", + "(1,23): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<svg>� </svg>" + } + }, + { + "data": "<svg>\u0000a</svg><frameset>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,6): invalid-codepoint", + "(1,6): invalid-codepoint-in-foreign-content", + "(1,23): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "�a" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>�a</svg></body></html>", + "noQuirksBodyHtml": "<svg>�a</svg>" + } + }, + { + "data": "<svg><path></path></svg><frameset>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,34): unexpected-start-tag", + "(1,34): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<svg><path></path></svg>" + } + }, + { + "data": "<svg><p><frameset>", + "errors": [ + "(1, 5) expected-doctype-but-got-start-tag", + "(1, 8) unexpected-html-element-in-foreign-content", + "(1, 18) unexpected-start-tag", + "(1, 18) eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<svg><p><frameset></frameset></p></svg>" + } + }, + { + "data": "<!DOCTYPE html><pre>\r\n\r\nA</pre>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "pre": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "pre", + "children": [ + { + "text": "\nA" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><pre>\nA</pre></body></html>", + "noQuirksBodyHtml": "<pre>\nA</pre>" + } + }, + { + "data": "<!DOCTYPE html><pre>\r\rA</pre>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "pre": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "pre", + "children": [ + { + "text": "\nA" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><pre>\nA</pre></body></html>", + "noQuirksBodyHtml": "<pre>\nA</pre>" + } + }, + { + "data": "<!DOCTYPE html><pre>\rA</pre>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "pre": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "pre", + "children": [ + { + "text": "A" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><pre>A</pre></body></html>", + "noQuirksBodyHtml": "<pre>A</pre>" + } + }, + { + "data": "<!DOCTYPE html><table><tr><td><math><mtext>\u0000a", + "errors": [ + "(1,44): invalid-codepoint", + "(1,44): invalid-codepoint-in-body", + "(1,45): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "math math": true, + "math mtext": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mtext", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><math><mtext>a</mtext></math></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><math><mtext>a</mtext></math></td></tr></tbody></table>" + } + }, + { + "data": "<!DOCTYPE html><table><tr><td><svg><foreignObject>\u0000a", + "errors": [ + "(1,51): invalid-codepoint", + "(1,51): invalid-codepoint-in-body", + "(1,52): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "svg svg": true, + "svg foreignObject": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><svg><foreignObject>a</foreignObject></svg></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><svg><foreignObject>a</foreignObject></svg></td></tr></tbody></table>" + } + }, + { + "data": "<!DOCTYPE html><math><mi>a\u0000b", + "errors": [ + "(1,27): invalid-codepoint", + "(1,27): invalid-codepoint-in-body", + "(1,28): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "ab" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><mi>ab</mi></math></body></html>", + "noQuirksBodyHtml": "<math><mi>ab</mi></math>" + } + }, + { + "data": "<!DOCTYPE html><math><mo>a\u0000b", + "errors": [ + "(1,27): invalid-codepoint", + "(1,27): invalid-codepoint-in-body", + "(1,28): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mo": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mo", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "ab" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><mo>ab</mo></math></body></html>", + "noQuirksBodyHtml": "<math><mo>ab</mo></math>" + } + }, + { + "data": "<!DOCTYPE html><math><mn>a\u0000b", + "errors": [ + "(1,27): invalid-codepoint", + "(1,27): invalid-codepoint-in-body", + "(1,28): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mn": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mn", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "ab" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><mn>ab</mn></math></body></html>", + "noQuirksBodyHtml": "<math><mn>ab</mn></math>" + } + }, + { + "data": "<!DOCTYPE html><math><ms>a\u0000b", + "errors": [ + "(1,27): invalid-codepoint", + "(1,27): invalid-codepoint-in-body", + "(1,28): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math ms": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "ms", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "ab" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><ms>ab</ms></math></body></html>", + "noQuirksBodyHtml": "<math><ms>ab</ms></math>" + } + }, + { + "data": "<!DOCTYPE html><math><mtext>a\u0000b", + "errors": [ + "(1,30): invalid-codepoint", + "(1,30): invalid-codepoint-in-body", + "(1,31): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mtext": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mtext", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "ab" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><mtext>ab</mtext></math></body></html>", + "noQuirksBodyHtml": "<math><mtext>ab</mtext></math>" + } + } + ], + "ruby.dat": [ + { + "data": "<html><ruby>a<rb>b<rb></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rb": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rb", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rb" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rb>b</rb><rb></rb></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rb>b</rb><rb></rb></ruby>" + } + }, + { + "data": "<html><ruby>a<rb>b<rt></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rb": true, + "rt": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rb", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rt" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rb>b</rb><rt></rt></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rb>b</rb><rt></rt></ruby>" + } + }, + { + "data": "<html><ruby>a<rb>b<rtc></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rb": true, + "rtc": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rb", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rtc" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rb>b</rb><rtc></rtc></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rb>b</rb><rtc></rtc></ruby>" + } + }, + { + "data": "<html><ruby>a<rb>b<rp></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rb": true, + "rp": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rb", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rp" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rb>b</rb><rp></rp></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rb>b</rb><rp></rp></ruby>" + } + }, + { + "data": "<html><ruby>a<rb>b<span></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,31): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rb": true, + "span": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rb", + "children": [ + { + "text": "b" + }, + { + "tag": "span" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rb>b<span></span></rb></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rb>b<span></span></rb></ruby>" + } + }, + { + "data": "<html><ruby>a<rt>b<rb></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rt": true, + "rb": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rt", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rb" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rt>b</rt><rb></rb></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rt>b</rt><rb></rb></ruby>" + } + }, + { + "data": "<html><ruby>a<rt>b<rt></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rt": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rt", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rt" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rt>b</rt><rt></rt></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rt>b</rt><rt></rt></ruby>" + } + }, + { + "data": "<html><ruby>a<rt>b<rtc></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rt": true, + "rtc": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rt", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rtc" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rt>b</rt><rtc></rtc></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rt>b</rt><rtc></rtc></ruby>" + } + }, + { + "data": "<html><ruby>a<rt>b<rp></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rt": true, + "rp": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rt", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rp" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rt>b</rt><rp></rp></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rt>b</rt><rp></rp></ruby>" + } + }, + { + "data": "<html><ruby>a<rt>b<span></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,31): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rt": true, + "span": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rt", + "children": [ + { + "text": "b" + }, + { + "tag": "span" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rt>b<span></span></rt></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rt>b<span></span></rt></ruby>" + } + }, + { + "data": "<html><ruby>a<rtc>b<rb></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rtc": true, + "rb": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rtc", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rb" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rtc>b</rtc><rb></rb></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rtc>b</rtc><rb></rb></ruby>" + } + }, + { + "data": "<html><ruby>a<rtc>b<rt>c<rt>d</ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rtc": true, + "rt": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rtc", + "children": [ + { + "text": "b" + }, + { + "tag": "rt", + "children": [ + { + "text": "c" + } + ] + }, + { + "tag": "rt", + "children": [ + { + "text": "d" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rtc>b<rt>c</rt><rt>d</rt></rtc></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rtc>b<rt>c</rt><rt>d</rt></rtc></ruby>" + } + }, + { + "data": "<html><ruby>a<rtc>b<rtc></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rtc": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rtc", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rtc" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rtc>b</rtc><rtc></rtc></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rtc>b</rtc><rtc></rtc></ruby>" + } + }, + { + "data": "<html><ruby>a<rtc>b<rp></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rtc": true, + "rp": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rtc", + "children": [ + { + "text": "b" + }, + { + "tag": "rp" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rtc>b<rp></rp></rtc></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rtc>b<rp></rp></rtc></ruby>" + } + }, + { + "data": "<html><ruby>a<rtc>b<span></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rtc": true, + "span": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rtc", + "children": [ + { + "text": "b" + }, + { + "tag": "span" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rtc>b<span></span></rtc></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rtc>b<span></span></rtc></ruby>" + } + }, + { + "data": "<html><ruby>a<rp>b<rb></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rp": true, + "rb": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rp", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rb" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rp>b</rp><rb></rb></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rp>b</rp><rb></rb></ruby>" + } + }, + { + "data": "<html><ruby>a<rp>b<rt></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rp": true, + "rt": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rp", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rt" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rp>b</rp><rt></rt></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rp>b</rp><rt></rt></ruby>" + } + }, + { + "data": "<html><ruby>a<rp>b<rtc></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rp": true, + "rtc": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rp", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rtc" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rp>b</rp><rtc></rtc></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rp>b</rp><rtc></rtc></ruby>" + } + }, + { + "data": "<html><ruby>a<rp>b<rp></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rp": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rp", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rp" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rp>b</rp><rp></rp></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rp>b</rp><rp></rp></ruby>" + } + }, + { + "data": "<html><ruby>a<rp>b<span></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,31): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rp": true, + "span": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rp", + "children": [ + { + "text": "b" + }, + { + "tag": "span" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rp>b<span></span></rp></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rp>b<span></span></rp></ruby>" + } + }, + { + "data": "<html><ruby><rtc><ruby>a<rb>b<rt></ruby></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rtc": true, + "rb": true, + "rt": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "tag": "rtc", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rb", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rt" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby><rtc><ruby>a<rb>b</rb><rt></rt></ruby></rtc></ruby></body></html>", + "noQuirksBodyHtml": "<ruby><rtc><ruby>a<rb>b</rb><rt></rt></ruby></rtc></ruby>" + } + } + ], + "scriptdata01.dat": [ + { + "data": "FOO<script>'Hello'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "children": [ + { + "text": "'Hello'", + "no_escape": true + } + ] + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script>'Hello'</script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script>'Hello'</script>BAR" + } + }, + { + "data": "FOO<script></script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script" + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script></script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script></script>BAR" + } + }, + { + "data": "FOO<script></script >BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script" + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script></script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script></script>BAR" + } + }, + { + "data": "FOO<script></script/>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,21): self-closing-flag-on-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script" + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script></script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script></script>BAR" + } + }, + { + "data": "FOO<script></script/ >BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,20): unexpected-character-after-solidus-in-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script" + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script></script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script></script>BAR" + } + }, + { + "data": "FOO<script type=\"text/plain\"></scriptx>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,42): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "text/plain" + } + ], + "children": [ + { + "text": "</scriptx>BAR", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script type=\"text/plain\"></scriptx>BAR</script></body></html>", + "noQuirksBodyHtml": "FOO<script type=\"text/plain\"></scriptx>BAR</script>" + } + }, + { + "data": "FOO<script></script foo=\">\" dd>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,31): attributes-in-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script" + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script></script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script></script>BAR" + } + }, + { + "data": "FOO<script>'<'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "children": [ + { + "text": "'<'", + "no_escape": true + } + ] + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script>'<'</script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script>'<'</script>BAR" + } + }, + { + "data": "FOO<script>'<!'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "children": [ + { + "text": "'<!'", + "no_escape": true + } + ] + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script>'<!'</script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script>'<!'</script>BAR" + } + }, + { + "data": "FOO<script>'<!-'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "children": [ + { + "text": "'<!-'", + "no_escape": true + } + ] + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script>'<!-'</script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script>'<!-'</script>BAR" + } + }, + { + "data": "FOO<script>'<!--'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "children": [ + { + "text": "'<!--'", + "no_escape": true + } + ] + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script>'<!--'</script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script>'<!--'</script>BAR" + } + }, + { + "data": "FOO<script>'<!---'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "children": [ + { + "text": "'<!---'", + "no_escape": true + } + ] + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script>'<!---'</script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script>'<!---'</script>BAR" + } + }, + { + "data": "FOO<script>'<!-->'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "children": [ + { + "text": "'<!-->'", + "no_escape": true + } + ] + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script>'<!-->'</script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script>'<!-->'</script>BAR" + } + }, + { + "data": "FOO<script>'<!-->'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "children": [ + { + "text": "'<!-->'", + "no_escape": true + } + ] + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script>'<!-->'</script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script>'<!-->'</script>BAR" + } + }, + { + "data": "FOO<script>'<!-- potato'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "children": [ + { + "text": "'<!-- potato'", + "no_escape": true + } + ] + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script>'<!-- potato'</script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script>'<!-- potato'</script>BAR" + } + }, + { + "data": "FOO<script>'<!-- <sCrIpt'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "children": [ + { + "text": "'<!-- <sCrIpt'", + "no_escape": true + } + ] + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script>'<!-- <sCrIpt'</script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script>'<!-- <sCrIpt'</script>BAR" + } + }, + { + "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt>'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,56): expected-script-data-but-got-eof", + "(1,56): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "text/plain" + } + ], + "children": [ + { + "text": "'<!-- <sCrIpt>'</script>BAR", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt>'</script>BAR</script></body></html>", + "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt>'</script>BAR</script>" + } + }, + { + "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> -'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,58): expected-script-data-but-got-eof", + "(1,58): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "text/plain" + } + ], + "children": [ + { + "text": "'<!-- <sCrIpt> -'</script>BAR", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt> -'</script>BAR</script></body></html>", + "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> -'</script>BAR</script>" + } + }, + { + "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> --'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,59): expected-script-data-but-got-eof", + "(1,59): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "text/plain" + } + ], + "children": [ + { + "text": "'<!-- <sCrIpt> --'</script>BAR", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt> --'</script>BAR</script></body></html>", + "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> --'</script>BAR</script>" + } + }, + { + "data": "FOO<script>'<!-- <sCrIpt> -->'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "children": [ + { + "text": "'<!-- <sCrIpt> -->'", + "no_escape": true + } + ] + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script>'<!-- <sCrIpt> -->'</script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script>'<!-- <sCrIpt> -->'</script>BAR" + } + }, + { + "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> --!>'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,61): expected-script-data-but-got-eof", + "(1,61): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "text/plain" + } + ], + "children": [ + { + "text": "'<!-- <sCrIpt> --!>'</script>BAR", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt> --!>'</script>BAR</script></body></html>", + "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> --!>'</script>BAR</script>" + } + }, + { + "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> -- >'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,61): expected-script-data-but-got-eof", + "(1,61): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "text/plain" + } + ], + "children": [ + { + "text": "'<!-- <sCrIpt> -- >'</script>BAR", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt> -- >'</script>BAR</script></body></html>", + "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> -- >'</script>BAR</script>" + } + }, + { + "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt '</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,56): expected-script-data-but-got-eof", + "(1,56): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "text/plain" + } + ], + "children": [ + { + "text": "'<!-- <sCrIpt '</script>BAR", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt '</script>BAR</script></body></html>", + "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt '</script>BAR</script>" + } + }, + { + "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt/'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars", + "(1,56): expected-script-data-but-got-eof", + "(1,56): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "text/plain" + } + ], + "children": [ + { + "text": "'<!-- <sCrIpt/'</script>BAR", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt/'</script>BAR</script></body></html>", + "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt/'</script>BAR</script>" + } + }, + { + "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt\\'</script>BAR", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "text/plain" + } + ], + "children": [ + { + "text": "'<!-- <sCrIpt\\'", + "no_escape": true + } + ] + }, + { + "text": "BAR" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt\\'</script>BAR</body></html>", + "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt\\'</script>BAR" + } + }, + { + "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt/'</script>BAR</script>QUX", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "text/plain" + } + ], + "children": [ + { + "text": "'<!-- <sCrIpt/'</script>BAR", + "no_escape": true + } + ] + }, + { + "text": "QUX" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt/'</script>BAR</script>QUX</body></html>", + "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt/'</script>BAR</script>QUX" + } + }, + { + "data": "FOO<script><!--<script>-></script>--></script>QUX", + "errors": [ + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "FOO" + }, + { + "tag": "script", + "children": [ + { + "text": "<!--<script>-></script>-->", + "no_escape": true + } + ] + }, + { + "text": "QUX" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>FOO<script><!--<script>-></script>--></script>QUX</body></html>", + "noQuirksBodyHtml": "FOO<script><!--<script>-></script>--></script>QUX" + } + } + ], + "tables01.dat": [ + { + "data": "<table><th>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,11): unexpected-cell-in-table-body", + "(1,11): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "th": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "th" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><th></th></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><th></th></tr></tbody></table>" + } + }, + { + "data": "<table><td>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,11): unexpected-cell-in-table-body", + "(1,11): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td></td></tr></tbody></table>" + } + }, + { + "data": "<table><col foo='bar'>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,22): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "colgroup": true, + "col": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "colgroup", + "children": [ + { + "tag": "col", + "attrs": [ + { + "name": "foo", + "value": "bar" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><colgroup><col foo=\"bar\"></colgroup></table></body></html>", + "noQuirksBodyHtml": "<table><colgroup><col foo=\"bar\"></colgroup></table>" + } + }, + { + "data": "<table><colgroup></html>foo", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,24): unexpected-end-tag", + "(1,27): foster-parenting-character-in-table", + "(1,27): foster-parenting-character-in-table", + "(1,27): foster-parenting-character-in-table", + "(1,27): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "colgroup": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "foo" + }, + { + "tag": "table", + "children": [ + { + "tag": "colgroup" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>foo<table><colgroup></colgroup></table></body></html>", + "noQuirksBodyHtml": "foo<table><colgroup></colgroup></table>" + } + }, + { + "data": "<table></table><p>foo", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table" + }, + { + "tag": "p", + "children": [ + { + "text": "foo" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table></table><p>foo</p></body></html>", + "noQuirksBodyHtml": "<table></table><p>foo</p>" + } + }, + { + "data": "<table></body></caption></col></colgroup></html></tbody></td></tfoot></th></thead></tr><td>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,14): unexpected-end-tag", + "(1,24): unexpected-end-tag", + "(1,30): unexpected-end-tag", + "(1,41): unexpected-end-tag", + "(1,48): unexpected-end-tag", + "(1,56): unexpected-end-tag", + "(1,61): unexpected-end-tag", + "(1,69): unexpected-end-tag", + "(1,74): unexpected-end-tag", + "(1,82): unexpected-end-tag", + "(1,87): unexpected-end-tag", + "(1,91): unexpected-cell-in-table-body", + "(1,91): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td></td></tr></tbody></table>" + } + }, + { + "data": "<table><select><option>3</select></table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,15): unexpected-start-tag-implies-table-voodoo" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "option": true, + "table": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "option", + "children": [ + { + "text": "3" + } + ] + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select><option>3</option></select><table></table></body></html>", + "noQuirksBodyHtml": "<select><option>3</option></select><table></table>" + } + }, + { + "data": "<table><select><table></table></select></table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,15): unexpected-start-tag-implies-table-voodoo", + "(1,22): unexpected-table-element-start-tag-in-select-in-table", + "(1,22): unexpected-start-tag-implies-end-tag", + "(1,39): unexpected-end-tag", + "(1,47): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "table": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + }, + { + "tag": "table" + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select></select><table></table><table></table></body></html>", + "noQuirksBodyHtml": "<select></select><table></table><table></table>" + } + }, + { + "data": "<table><select></table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,15): unexpected-start-tag-implies-table-voodoo", + "(1,23): unexpected-table-element-end-tag-in-select-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "table": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select></select><table></table></body></html>", + "noQuirksBodyHtml": "<select></select><table></table>" + } + }, + { + "data": "<table><select><option>A<tr><td>B</td></tr></table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,15): unexpected-start-tag-implies-table-voodoo", + "(1,28): unexpected-table-element-start-tag-in-select-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "option": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "option", + "children": [ + { + "text": "A" + } + ] + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "text": "B" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select><option>A</option></select><table><tbody><tr><td>B</td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<select><option>A</option></select><table><tbody><tr><td>B</td></tr></tbody></table>" + } + }, + { + "data": "<table><td></body></caption></col></colgroup></html>foo", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,11): unexpected-cell-in-table-body", + "(1,18): unexpected-end-tag", + "(1,28): unexpected-end-tag", + "(1,34): unexpected-end-tag", + "(1,45): unexpected-end-tag", + "(1,52): unexpected-end-tag", + "(1,55): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "text": "foo" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td>foo</td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td>foo</td></tr></tbody></table>" + } + }, + { + "data": "<table><td>A</table>B", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,11): unexpected-cell-in-table-body" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "text": "A" + } + ] + } + ] + } + ] + } + ] + }, + { + "text": "B" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td>A</td></tr></tbody></table>B</body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td>A</td></tr></tbody></table>B" + } + }, + { + "data": "<table><tr><caption>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,20): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "caption": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + }, + { + "tag": "caption" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr></tr></tbody><caption></caption></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr></tr></tbody><caption></caption></table>" + } + }, + { + "data": "<table><tr></body></caption></col></colgroup></html></td></th><td>foo", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,18): unexpected-end-tag-in-table-row", + "(1,28): unexpected-end-tag-in-table-row", + "(1,34): unexpected-end-tag-in-table-row", + "(1,45): unexpected-end-tag-in-table-row", + "(1,52): unexpected-end-tag-in-table-row", + "(1,57): unexpected-end-tag-in-table-row", + "(1,62): unexpected-end-tag-in-table-row", + "(1,69): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "text": "foo" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td>foo</td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td>foo</td></tr></tbody></table>" + } + }, + { + "data": "<table><td><tr>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,11): unexpected-cell-in-table-body", + "(1,15): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + }, + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td></td></tr><tr></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td></td></tr><tr></tr></tbody></table>" + } + }, + { + "data": "<table><td><button><td>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,11): unexpected-cell-in-table-body", + "(1,23): unexpected-cell-end-tag", + "(1,23): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "button": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "button" + } + ] + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td><button></button></td><td></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><button></button></td><td></td></tr></tbody></table>" + } + }, + { + "data": "<table><tr><td><svg><desc><td>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,30): unexpected-cell-end-tag", + "(1,30): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "svg svg": true, + "svg desc": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "desc", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td><svg><desc></desc></svg></td><td></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><svg><desc></desc></svg></td><td></td></tr></tbody></table>" + } + } + ], + "template.dat": [ + { + "data": "<body><template>Hello</template>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template>Hello</template></body></html>", + "noQuirksBodyHtml": "<template>Hello</template>" + } + }, + { + "data": "<template>Hello</template>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template>Hello</template></head><body></body></html>", + "noQuirksBodyHtml": "<template>Hello</template>" + } + }, + { + "data": "<template></template><div></div>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "body": true, + "div": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ], + "html": "<html><head><template></template></head><body><div></div></body></html>", + "noQuirksBodyHtml": "<template></template><div></div>" + } + }, + { + "data": "<html><template>Hello</template>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template>Hello</template></head><body></body></html>", + "noQuirksBodyHtml": "<template>Hello</template>" + } + }, + { + "data": "<head><template><div></div></template></head>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "div": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><div></div></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><div></div></template>" + } + }, + { + "data": "<div><template><div><span></template><b>", + "errors": [ + " * (1,6) missing DOCTYPE", + " * (1,38) mismatched template end tag", + " * (1,41) unexpected end of file" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "template": true, + "span": true, + "b": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "span" + } + ] + } + ] + } + ] + }, + { + "tag": "b" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><template><div><span></span></div></template><b></b></div></body></html>", + "noQuirksBodyHtml": "<div><template><div><span></span></div></template><b></b></div>" + } + }, + { + "data": "<div><template></div>Hello", + "errors": [ + " * (1,6) missing DOCTYPE", + " * (1,22) unexpected token in template", + " * (1,27) unexpected end of file in template", + " * (1,27) unexpected end of file" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><template>Hello</template></div></body></html>", + "noQuirksBodyHtml": "<div><template>Hello</template></div>" + } + }, + { + "data": "<div></template></div>", + "errors": [ + " * (1,6) missing DOCTYPE", + " * (1,17) unexpected template end tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div></div></body></html>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<table><template></template></table>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><template></template></table></body></html>", + "noQuirksBodyHtml": "<table><template></template></table>" + } + }, + { + "data": "<table><template></template></div>", + "errors": [ + " * (1,8) missing DOCTYPE", + " * (1,35) unexpected token in table - foster parenting", + " * (1,35) unexpected end tag", + " * (1,35) unexpected end of file" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><template></template></table></body></html>", + "noQuirksBodyHtml": "<table><template></template></table>" + } + }, + { + "data": "<table><div><template></template></div>", + "errors": [ + " * (1,8) missing DOCTYPE", + " * (1,13) unexpected token in table - foster parenting", + " * (1,40) unexpected token in table - foster parenting", + " * (1,40) unexpected end of file" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "template": true, + "table": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><template></template></div><table></table></body></html>", + "noQuirksBodyHtml": "<div><template></template></div><table></table>" + } + }, + { + "data": "<table><template></template><div></div>", + "errors": [ + "no doctype", + "bad div in table", + "bad /div in table", + "eof in table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "table": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div" + }, + { + "tag": "table", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div></div><table><template></template></table></body></html>", + "noQuirksBodyHtml": "<div></div><table><template></template></table>" + } + }, + { + "data": "<table> <template></template></table>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "text": " " + }, + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table> <template></template></table></body></html>", + "noQuirksBodyHtml": "<table> <template></template></table>" + } + }, + { + "data": "<table><tbody><template></template></tbody>", + "errors": [ + "no doctype", + "eof in table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><template></template></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><template></template></tbody></table>" + } + }, + { + "data": "<table><tbody><template></tbody></template>", + "errors": [ + "no doctype", + "bad /tbody", + "eof in table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><template></template></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><template></template></tbody></table>" + } + }, + { + "data": "<table><tbody><template></template></tbody></table>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><template></template></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><template></template></tbody></table>" + } + }, + { + "data": "<table><thead><template></template></thead>", + "errors": [ + "no doctype", + "eof in table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "thead": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "thead", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><thead><template></template></thead></table></body></html>", + "noQuirksBodyHtml": "<table><thead><template></template></thead></table>" + } + }, + { + "data": "<table><tfoot><template></template></tfoot>", + "errors": [ + "no doctype", + "eof in table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tfoot": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tfoot", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tfoot><template></template></tfoot></table></body></html>", + "noQuirksBodyHtml": "<table><tfoot><template></template></tfoot></table>" + } + }, + { + "data": "<select><template></template></select>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select><template></template></select></body></html>", + "noQuirksBodyHtml": "<select><template></template></select>" + } + }, + { + "data": "<select><template><option></option></template></select>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "template": true, + "option": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "option" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select><template><option></option></template></select></body></html>", + "noQuirksBodyHtml": "<select><template><option></option></template></select>" + } + }, + { + "data": "<template><option></option></select><option></option></template>", + "errors": [ + "no doctype", + "bad /select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "option": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "option" + }, + { + "tag": "option" + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><option></option><option></option></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><option></option><option></option></template>" + } + }, + { + "data": "<select><template></template><option></select>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "template": true, + "option": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + }, + { + "tag": "option" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select><template></template><option></option></select></body></html>", + "noQuirksBodyHtml": "<select><template></template><option></option></select>" + } + }, + { + "data": "<select><option><template></template></select>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "option": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "option", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select><option><template></template></option></select></body></html>", + "noQuirksBodyHtml": "<select><option><template></template></option></select>" + } + }, + { + "data": "<select><template>", + "errors": [ + "no doctype", + "eof in template", + "eof in select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select><template></template></select></body></html>", + "noQuirksBodyHtml": "<select><template></template></select>" + } + }, + { + "data": "<select><option></option><template>", + "errors": [ + "no doctype", + "eof in template", + "eof in select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "option": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "option" + }, + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select><option></option><template></template></select></body></html>", + "noQuirksBodyHtml": "<select><option></option><template></template></select>" + } + }, + { + "data": "<select><option></option><template><option>", + "errors": [ + "no doctype", + "eof in template", + "eof in select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "option": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "option" + }, + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "option" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select><option></option><template><option></option></template></select></body></html>", + "noQuirksBodyHtml": "<select><option></option><template><option></option></template></select>" + } + }, + { + "data": "<table><thead><template><td></template></table>", + "errors": [ + " * (1,8) missing DOCTYPE" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "thead": true, + "template": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "thead", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><thead><template><td></td></template></thead></table></body></html>", + "noQuirksBodyHtml": "<table><thead><template><td></td></template></thead></table>" + } + }, + { + "data": "<table><template><thead></template></table>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "template": true, + "thead": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "thead" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><template><thead></thead></template></table></body></html>", + "noQuirksBodyHtml": "<table><template><thead></thead></template></table>" + } + }, + { + "data": "<body><table><template><td></tr><div></template></table>", + "errors": [ + "no doctype", + "bad </tr>", + "missing </div>" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "template": true, + "td": true, + "div": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><template><td><div></div></td></template></table></body></html>", + "noQuirksBodyHtml": "<table><template><td><div></div></td></template></table>" + } + }, + { + "data": "<table><template><thead></template></thead></table>", + "errors": [ + "no doctype", + "bad /thead after /template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "template": true, + "thead": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "thead" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><template><thead></thead></template></table></body></html>", + "noQuirksBodyHtml": "<table><template><thead></thead></template></table>" + } + }, + { + "data": "<table><thead><template><tr></template></table>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "thead": true, + "template": true, + "tr": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "thead", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><thead><template><tr></tr></template></thead></table></body></html>", + "noQuirksBodyHtml": "<table><thead><template><tr></tr></template></thead></table>" + } + }, + { + "data": "<table><template><tr></template></table>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "template": true, + "tr": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><template><tr></tr></template></table></body></html>", + "noQuirksBodyHtml": "<table><template><tr></tr></template></table>" + } + }, + { + "data": "<table><tr><template><td>", + "errors": [ + "no doctype", + "eof in template", + "eof in table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "template": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><template><td></td></template></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><template><td></td></template></tr></tbody></table>" + } + }, + { + "data": "<table><template><tr><template><td></template></tr></template></table>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "template": true, + "tr": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><template><tr><template><td></td></template></tr></template></table></body></html>", + "noQuirksBodyHtml": "<table><template><tr><template><td></td></template></tr></template></table>" + } + }, + { + "data": "<table><template><tr><template><td></td></template></tr></template></table>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "template": true, + "tr": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><template><tr><template><td></td></template></tr></template></table></body></html>", + "noQuirksBodyHtml": "<table><template><tr><template><td></td></template></tr></template></table>" + } + }, + { + "data": "<table><template><td></template>", + "errors": [ + "no doctype", + "eof in table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "template": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><template><td></td></template></table></body></html>", + "noQuirksBodyHtml": "<table><template><td></td></template></table>" + } + }, + { + "data": "<body><template><td></td></template>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><td></td></template></body></html>", + "noQuirksBodyHtml": "<template><td></td></template>" + } + }, + { + "data": "<body><template><template><tr></tr></template><td></td></template>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "tr": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tr" + } + ] + } + ] + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><template><tr></tr></template><td></td></template></body></html>", + "noQuirksBodyHtml": "<template><template><tr></tr></template><td></td></template>" + } + }, + { + "data": "<table><colgroup><template><col>", + "errors": [ + "no doctype", + "eof in template", + "eof in table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "colgroup": true, + "template": true, + "col": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "colgroup", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "col" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><colgroup><template><col></template></colgroup></table></body></html>", + "noQuirksBodyHtml": "<table><colgroup><template><col></template></colgroup></table>" + } + }, + { + "data": "<frameset><template><frame></frame></template></frameset>", + "errors": [ + " * (1,11) missing DOCTYPE", + " * (1,21) unexpected start tag token", + " * (1,36) unexpected end tag token", + " * (1,47) unexpected end tag token" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true, + "frame": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset", + "children": [ + { + "tag": "frame" + } + ] + } + ] + } + ], + "html": "<html><head></head><frameset><frame></frameset></html>", + "noQuirksBodyHtml": "<template></template>" + } + }, + { + "data": "<template><frame></frame></frameset><frame></frame></template>", + "errors": [ + " * (1,11) missing DOCTYPE", + " * (1,18) unexpected start tag", + " * (1,26) unexpected end tag", + " * (1,37) unexpected end tag", + " * (1,44) unexpected start tag", + " * (1,52) unexpected end tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template></template>" + } + }, + { + "data": "<template><div><frameset><span></span></div><span></span></template>", + "errors": [ + "no doctype", + "bad frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "div": true, + "span": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "span" + } + ] + }, + { + "tag": "span" + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><div><span></span></div><span></span></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><div><span></span></div><span></span></template>" + } + }, + { + "data": "<body><template><div><frameset><span></span></div><span></span></template></body>", + "errors": [ + "no doctype", + "bad frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "div": true, + "span": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "span" + } + ] + }, + { + "tag": "span" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><div><span></span></div><span></span></template></body></html>", + "noQuirksBodyHtml": "<template><div><span></span></div><span></span></template>" + } + }, + { + "data": "<body><template><script>var i = 1;</script><td></td></template>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "script": true, + "td": true + }, + "template": true, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "script", + "children": [ + { + "text": "var i = 1;", + "no_escape": true + } + ] + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><script>var i = 1;</script><td></td></template></body></html>", + "noQuirksBodyHtml": "<template><script>var i = 1;</script><td></td></template>" + } + }, + { + "data": "<body><template><tr><div></div></tr></template>", + "errors": [ + "no doctype", + "foster-parented div", + "foster-parented /div" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "tr": true, + "div": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tr" + }, + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><tr></tr><div></div></template></body></html>", + "noQuirksBodyHtml": "<template><tr></tr><div></div></template>" + } + }, + { + "data": "<body><template><tr></tr><td></td></template>", + "errors": [ + "no doctype", + "unexpected <td>" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "tr": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tr" + }, + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><tr></tr><tr><td></td></tr></template></body></html>", + "noQuirksBodyHtml": "<template><tr></tr><tr><td></td></tr></template>" + } + }, + { + "data": "<body><template><td></td></tr><td></td></template>", + "errors": [ + "no doctype", + "bad </tr>" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "td" + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><td></td><td></td></template></body></html>", + "noQuirksBodyHtml": "<template><td></td><td></td></template>" + } + }, + { + "data": "<body><template><td></td><tbody><td></td></template>", + "errors": [ + "no doctype", + "bad <tbody>" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "td" + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><td></td><td></td></template></body></html>", + "noQuirksBodyHtml": "<template><td></td><td></td></template>" + } + }, + { + "data": "<body><template><td></td><caption></caption><td></td></template>", + "errors": [ + " * (1,7) missing DOCTYPE", + " * (1,35) unexpected start tag in table row", + " * (1,45) unexpected end tag in table row" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "td" + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><td></td><td></td></template></body></html>", + "noQuirksBodyHtml": "<template><td></td><td></td></template>" + } + }, + { + "data": "<body><template><td></td><colgroup></caption><td></td></template>", + "errors": [ + " * (1,7) missing DOCTYPE", + " * (1,36) unexpected start tag in table row", + " * (1,46) unexpected end tag in table row" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "td" + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><td></td><td></td></template></body></html>", + "noQuirksBodyHtml": "<template><td></td><td></td></template>" + } + }, + { + "data": "<body><template><td></td></table><td></td></template>", + "errors": [ + "no doctype", + "bad </table>" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "td" + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><td></td><td></td></template></body></html>", + "noQuirksBodyHtml": "<template><td></td><td></td></template>" + } + }, + { + "data": "<body><template><tr></tr><tbody><tr></tr></template>", + "errors": [ + "no doctype", + "bad <tbody>" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "tr": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tr" + }, + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><tr></tr><tr></tr></template></body></html>", + "noQuirksBodyHtml": "<template><tr></tr><tr></tr></template>" + } + }, + { + "data": "<body><template><tr></tr><caption><tr></tr></template>", + "errors": [ + "no doctype", + "bad <caption>" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "tr": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tr" + }, + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><tr></tr><tr></tr></template></body></html>", + "noQuirksBodyHtml": "<template><tr></tr><tr></tr></template>" + } + }, + { + "data": "<body><template><tr></tr></table><tr></tr></template>", + "errors": [ + "no doctype", + "bad </table>" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "tr": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tr" + }, + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><tr></tr><tr></tr></template></body></html>", + "noQuirksBodyHtml": "<template><tr></tr><tr></tr></template>" + } + }, + { + "data": "<body><template><thead></thead><caption></caption><tbody></tbody></template>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "thead": true, + "caption": true, + "tbody": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "thead" + }, + { + "tag": "caption" + }, + { + "tag": "tbody" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><thead></thead><caption></caption><tbody></tbody></template></body></html>", + "noQuirksBodyHtml": "<template><thead></thead><caption></caption><tbody></tbody></template>" + } + }, + { + "data": "<body><template><thead></thead></table><tbody></tbody></template></body>", + "errors": [ + "no doctype", + "bad </table>" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "thead": true, + "tbody": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "thead" + }, + { + "tag": "tbody" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><thead></thead><tbody></tbody></template></body></html>", + "noQuirksBodyHtml": "<template><thead></thead><tbody></tbody></template>" + } + }, + { + "data": "<body><template><div><tr></tr></div></template>", + "errors": [ + "no doctype", + "bad tr", + "bad /tr" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "div": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><div></div></template></body></html>", + "noQuirksBodyHtml": "<template><div></div></template>" + } + }, + { + "data": "<body><template><em>Hello</em></template>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "em": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "em", + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><em>Hello</em></template></body></html>", + "noQuirksBodyHtml": "<template><em>Hello</em></template>" + } + }, + { + "data": "<body><template><!--comment--></template>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true + }, + "template": true, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "comment": "comment" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><!--comment--></template></body></html>", + "noQuirksBodyHtml": "<template><!--comment--></template>" + } + }, + { + "data": "<body><template><style></style><td></td></template>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "style": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "style" + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><style></style><td></td></template></body></html>", + "noQuirksBodyHtml": "<template><style></style><td></td></template>" + } + }, + { + "data": "<body><template><meta><td></td></template>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "meta": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "meta" + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><meta><td></td></template></body></html>", + "noQuirksBodyHtml": "<template><meta><td></td></template>" + } + }, + { + "data": "<body><template><link><td></td></template>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "link": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "link" + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><link><td></td></template></body></html>", + "noQuirksBodyHtml": "<template><link><td></td></template>" + } + }, + { + "data": "<body><template><template><tr></tr></template><td></td></template>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "tr": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tr" + } + ] + } + ] + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><template><tr></tr></template><td></td></template></body></html>", + "noQuirksBodyHtml": "<template><template><tr></tr></template><td></td></template>" + } + }, + { + "data": "<body><table><colgroup><template><col></col></template></colgroup></table></body>", + "errors": [ + "no doctype", + "bad /col" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "colgroup": true, + "template": true, + "col": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "colgroup", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "col" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><colgroup><template><col></template></colgroup></table></body></html>", + "noQuirksBodyHtml": "<table><colgroup><template><col></template></colgroup></table>" + } + }, + { + "data": "<body a=b><template><div></div><body c=d><div></div></body></template></body>", + "errors": [ + "no doctype", + "bad <body>", + "bad </body>" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "div": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "attrs": [ + { + "name": "a", + "value": "b" + } + ], + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "div" + }, + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body a=\"b\"><template><div></div><div></div></template></body></html>", + "noQuirksBodyHtml": "<template><div></div><div></div></template>" + } + }, + { + "data": "<html a=b><template><div><html b=c><span></template>", + "errors": [ + "no doctype", + "bad <html>", + "missing end tags in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "div": true, + "span": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "attrs": [ + { + "name": "a", + "value": "b" + } + ], + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "span" + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html a=\"b\"><head><template><div><span></span></div></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><div><span></span></div></template>" + } + }, + { + "data": "<html a=b><template><col></col><html b=c><col></col></template>", + "errors": [ + "no doctype", + "bad /col", + "bad html", + "bad /col" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "col": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "attrs": [ + { + "name": "a", + "value": "b" + } + ], + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "col" + }, + { + "tag": "col" + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html a=\"b\"><head><template><col><col></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><col><col></template>" + } + }, + { + "data": "<html a=b><template><frame></frame><html b=c><frame></frame></template>", + "errors": [ + "no doctype", + "bad frame", + "bad /frame", + "bad html", + "bad frame", + "bad /frame" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "attrs": [ + { + "name": "a", + "value": "b" + } + ], + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html a=\"b\"><head><template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template></template>" + } + }, + { + "data": "<body><template><tr></tr><template></template><td></td></template>", + "errors": [ + "no doctype", + "unexpected <td>" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "tr": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tr" + }, + { + "tag": "template", + "children": [ + { + "content": true + } + ] + }, + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><tr></tr><template></template><tr><td></td></tr></template></body></html>", + "noQuirksBodyHtml": "<template><tr></tr><template></template><tr><td></td></tr></template>" + } + }, + { + "data": "<body><template><thead></thead><template><tr></tr></template><tr></tr><tfoot></tfoot></template>", + "errors": [ + "no doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "thead": true, + "tr": true, + "tbody": true, + "tfoot": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "thead" + }, + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tr" + } + ] + } + ] + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + }, + { + "tag": "tfoot" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><thead></thead><template><tr></tr></template><tbody><tr></tr></tbody><tfoot></tfoot></template></body></html>", + "noQuirksBodyHtml": "<template><thead></thead><template><tr></tr></template><tbody><tr></tr></tbody><tfoot></tfoot></template>" + } + }, + { + "data": "<body><template><template><b><template></template></template>text</template>", + "errors": [ + "no doctype", + "missing </b>" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "b": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + }, + { + "text": "text" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><template><b><template></template></b></template>text</template></body></html>", + "noQuirksBodyHtml": "<template><template><b><template></template></b></template>text</template>" + } + }, + { + "data": "<body><template><col><colgroup>", + "errors": [ + "no doctype", + "bad colgroup", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "col": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "col" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><col></template></body></html>", + "noQuirksBodyHtml": "<template><col></template>" + } + }, + { + "data": "<body><template><col></colgroup>", + "errors": [ + "no doctype", + "bogus /colgroup", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "col": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "col" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><col></template></body></html>", + "noQuirksBodyHtml": "<template><col></template>" + } + }, + { + "data": "<body><template><col><colgroup></template></body>", + "errors": [ + "no doctype", + "bad colgroup" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "col": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "col" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><col></template></body></html>", + "noQuirksBodyHtml": "<template><col></template>" + } + }, + { + "data": "<body><template><col><div>", + "errors": [ + " * (1,7) missing DOCTYPE", + " * (1,27) unexpected token", + " * (1,27) unexpected end of file in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "col": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "col" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><col></template></body></html>", + "noQuirksBodyHtml": "<template><col></template>" + } + }, + { + "data": "<body><template><col></div>", + "errors": [ + "no doctype", + "bad /div", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "col": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "col" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><col></template></body></html>", + "noQuirksBodyHtml": "<template><col></template>" + } + }, + { + "data": "<body><template><col>Hello", + "errors": [ + "no doctype", + "unexpected text", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "col": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "col" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><col></template></body></html>", + "noQuirksBodyHtml": "<template><col></template>" + } + }, + { + "data": "<body><template><i><menu>Foo</i>", + "errors": [ + "no doctype", + "mising /menu", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "i": true, + "menu": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "i" + }, + { + "tag": "menu", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "Foo" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><i></i><menu><i>Foo</i></menu></template></body></html>", + "noQuirksBodyHtml": "<template><i></i><menu><i>Foo</i></menu></template>" + } + }, + { + "data": "<body><template></div><div>Foo</div><template></template><tr></tr>", + "errors": [ + "no doctype", + "bogus /div", + "bogus tr", + "bogus /tr", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true, + "div": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "div", + "children": [ + { + "text": "Foo" + } + ] + }, + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template><div>Foo</div><template></template></template></body></html>", + "noQuirksBodyHtml": "<template><div>Foo</div><template></template></template>" + } + }, + { + "data": "<body><div><template></div><tr><td>Foo</td></tr></template>", + "errors": [ + " * (1,7) missing DOCTYPE", + " * (1,28) unexpected token in template", + " * (1,60) unexpected end of file" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "template": true, + "tr": true, + "td": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "text": "Foo" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><template><tr><td>Foo</td></tr></template></div></body></html>", + "noQuirksBodyHtml": "<div><template><tr><td>Foo</td></tr></template></div>" + } + }, + { + "data": "<template></figcaption><sub><table></table>", + "errors": [ + "no doctype", + "bad /figcaption", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "sub": true, + "table": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "sub", + "children": [ + { + "tag": "table" + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><sub><table></table></sub></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><sub><table></table></sub></template>" + } + }, + { + "data": "<template><template>", + "errors": [ + "no doctype", + "eof in template", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><template></template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><template></template></template>" + } + }, + { + "data": "<template><div>", + "errors": [ + "no doctype", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "div": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><div></div></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><div></div></template>" + } + }, + { + "data": "<template><template><div>", + "errors": [ + "no doctype", + "eof in template", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "div": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><template><div></div></template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><template><div></div></template></template>" + } + }, + { + "data": "<template><template><table>", + "errors": [ + "no doctype", + "eof in template", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "table": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "table" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><template><table></table></template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><template><table></table></template></template>" + } + }, + { + "data": "<template><template><tbody>", + "errors": [ + "no doctype", + "eof in template", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "tbody": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tbody" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><template><tbody></tbody></template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><template><tbody></tbody></template></template>" + } + }, + { + "data": "<template><template><tr>", + "errors": [ + "no doctype", + "eof in template", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "tr": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><template><tr></tr></template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><template><tr></tr></template></template>" + } + }, + { + "data": "<template><template><td>", + "errors": [ + "no doctype", + "eof in template", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "td": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><template><td></td></template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><template><td></td></template></template>" + } + }, + { + "data": "<template><template><caption>", + "errors": [ + "no doctype", + "eof in template", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "caption": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "caption" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><template><caption></caption></template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><template><caption></caption></template></template>" + } + }, + { + "data": "<template><template><colgroup>", + "errors": [ + "no doctype", + "eof in template", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "colgroup": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "colgroup" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><template><colgroup></colgroup></template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><template><colgroup></colgroup></template></template>" + } + }, + { + "data": "<template><template><col>", + "errors": [ + "no doctype", + "eof in template", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "col": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "col" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><template><col></template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><template><col></template></template>" + } + }, + { + "data": "<template><template><tbody><select>", + "errors": [ + " * (1,11) missing DOCTYPE", + " * (1,36) unexpected token in table - foster parenting", + " * (1,36) unexpected end of file in template", + " * (1,36) unexpected end of file in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "tbody": true, + "select": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "tbody" + }, + { + "tag": "select" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><template><tbody></tbody><select></select></template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><template><tbody></tbody><select></select></template></template>" + } + }, + { + "data": "<template><template><table>Foo", + "errors": [ + "no doctype", + "foster-parenting text F", + "foster-parenting text o", + "foster-parenting text o", + "eof", + "eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "table": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "text": "Foo" + }, + { + "tag": "table" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><template>Foo<table></table></template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><template>Foo<table></table></template></template>" + } + }, + { + "data": "<template><template><frame>", + "errors": [ + "no doctype", + "bad tag", + "eof", + "eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><template></template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><template></template></template>" + } + }, + { + "data": "<template><template><script>var i", + "errors": [ + "no doctype", + "eof in script", + "eof in template", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "script": true, + "body": true + }, + "template": true, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "script", + "children": [ + { + "text": "var i", + "no_escape": true + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><template><script>var i</script></template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><template><script>var i</script></template></template>" + } + }, + { + "data": "<template><template><style>var i", + "errors": [ + "no doctype", + "eof in style", + "eof in template", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "style": true, + "body": true + }, + "template": true, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "style", + "children": [ + { + "text": "var i", + "no_escape": true + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><template><style>var i</style></template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><template><style>var i</style></template></template>" + } + }, + { + "data": "<template><table></template><body><span>Foo", + "errors": [ + "no doctype", + "missing /table", + "bad eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "table": true, + "body": true, + "span": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "table" + } + ] + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "tag": "span", + "children": [ + { + "text": "Foo" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head><template><table></table></template></head><body><span>Foo</span></body></html>", + "noQuirksBodyHtml": "<template><table></table></template><span>Foo</span>" + } + }, + { + "data": "<template><td></template><body><span>Foo", + "errors": [ + "no doctype", + "bad eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "td": true, + "body": true, + "span": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "tag": "span", + "children": [ + { + "text": "Foo" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head><template><td></td></template></head><body><span>Foo</span></body></html>", + "noQuirksBodyHtml": "<template><td></td></template><span>Foo</span>" + } + }, + { + "data": "<template><object></template><body><span>Foo", + "errors": [ + "no doctype", + "missing /object", + "bad eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "object": true, + "body": true, + "span": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "object" + } + ] + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "tag": "span", + "children": [ + { + "text": "Foo" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head><template><object></object></template></head><body><span>Foo</span></body></html>", + "noQuirksBodyHtml": "<template><object></object></template><span>Foo</span>" + } + }, + { + "data": "<template><svg><template>", + "errors": [ + "no doctype", + "eof in template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "svg svg": true, + "svg template": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "template", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><svg><template></template></svg></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><svg><template></template></svg></template>" + } + }, + { + "data": "<template><svg><foo><template><foreignObject><div></template><div>", + "errors": [ + "no doctype", + "ugly template closure", + "bad eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "svg svg": true, + "svg foo": true, + "svg template": true, + "svg foreignObject": true, + "div": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foo", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "template", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ], + "html": "<html><head><template><svg><foo><template><foreignObject><div></div></foreignObject></template></foo></svg></template></head><body><div></div></body></html>", + "noQuirksBodyHtml": "<template><svg><foo><template><foreignObject><div></div></foreignObject></template></foo></svg></template><div></div>" + } + }, + { + "data": "<dummy><template><span></dummy>", + "errors": [ + "no doctype", + "bad end tag </dummy>", + "eof in template", + "eof in dummy" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "dummy": true, + "template": true, + "span": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "dummy", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "span" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><dummy><template><span></span></template></dummy></body></html>", + "noQuirksBodyHtml": "<dummy><template><span></span></template></dummy>" + } + }, + { + "data": "<body><table><tr><td><select><template>Foo</template><caption>A</table>", + "errors": [ + "no doctype", + "(1,62): unexpected-caption-in-select-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "select": true, + "template": true, + "caption": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "text": "Foo" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "caption", + "children": [ + { + "text": "A" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td><select><template>Foo</template></select></td></tr></tbody><caption>A</caption></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><select><template>Foo</template></select></td></tr></tbody><caption>A</caption></table>" + } + }, + { + "data": "<body></body><template>", + "errors": [ + "no doctype", + "(1,23): template-after-body", + "(1,24): eof-in-template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "template": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><template></template></body></html>", + "noQuirksBodyHtml": "<template></template>" + } + }, + { + "data": "<head></head><template>", + "errors": [ + "no doctype", + "(1,23): template-after-head", + "(1,24): eof-in-template" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template></template></head><body></body></html>", + "noQuirksBodyHtml": "<template></template>" + } + }, + { + "data": "<head></head><template>Foo</template>", + "errors": [ + "no doctype", + "(1,23): template-after-head" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "text": "Foo" + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template>Foo</template></head><body></body></html>", + "noQuirksBodyHtml": "<template>Foo</template>" + } + }, + { + "data": "<!DOCTYPE HTML><dummy><table><template><table><template><table><script>", + "errors": [ + "eof script", + "eof template", + "eof template", + "eof table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "dummy": true, + "table": true, + "template": true, + "script": true + }, + "doctype": true, + "template": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "dummy", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "script" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><dummy><table><template><table><template><table><script></script></table></template></table></template></table></dummy></body></html>", + "noQuirksBodyHtml": "<dummy><table><template><table><template><table><script></script></table></template></table></template></table></dummy>" + } + }, + { + "data": "<template><a><table><a>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "template": true, + "a": true, + "table": true, + "body": true + }, + "template": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "template", + "children": [ + { + "content": true, + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "a" + }, + { + "tag": "table" + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><template><a><a></a><table></table></a></template></head><body></body></html>", + "noQuirksBodyHtml": "<template><a><a></a><table></table></a></template>" + } + } + ], + "tests1.dat": [ + { + "data": "Test", + "errors": [ + "(1,0): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Test" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>Test</body></html>", + "noQuirksBodyHtml": "Test" + } + }, + { + "data": "<p>One<p>Two", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "text": "One" + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "Two" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p>One</p><p>Two</p></body></html>", + "noQuirksBodyHtml": "<p>One</p><p>Two</p>" + } + }, + { + "data": "Line1<br>Line2<br>Line3<br>Line4", + "errors": [ + "(1,0): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "br": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Line1" + }, + { + "tag": "br" + }, + { + "text": "Line2" + }, + { + "tag": "br" + }, + { + "text": "Line3" + }, + { + "tag": "br" + }, + { + "text": "Line4" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>Line1<br>Line2<br>Line3<br>Line4</body></html>", + "noQuirksBodyHtml": "Line1<br>Line2<br>Line3<br>Line4" + } + }, + { + "data": "<html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<head>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<body>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<html><head>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<html><head></head>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<html><head></head><body>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<html><head></head><body></body>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<html><head><body></body></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<html><head></body></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<html><head><body></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<html><body></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<body></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<head></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "</head>", + "errors": [ + "(1,7): expected-doctype-but-got-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "</body>", + "errors": [ + "(1,7): expected-doctype-but-got-end-tag element." + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "</html>", + "errors": [ + "(1,7): expected-doctype-but-got-end-tag element." + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<b><table><td><i></table>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,14): unexpected-cell-in-table-body", + "(1,25): unexpected-cell-end-tag", + "(1,25): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "i": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "i" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b><table><tbody><tr><td><i></i></td></tr></tbody></table></b></body></html>", + "noQuirksBodyHtml": "<b><table><tbody><tr><td><i></i></td></tr></tbody></table></b>" + } + }, + { + "data": "<b><table><td></b><i></table>X", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,14): unexpected-cell-in-table-body", + "(1,18): unexpected-end-tag", + "(1,29): unexpected-cell-end-tag", + "(1,30): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "i": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "i" + } + ] + } + ] + } + ] + } + ] + }, + { + "text": "X" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b><table><tbody><tr><td><i></i></td></tr></tbody></table>X</b></body></html>", + "noQuirksBodyHtml": "<b><table><tbody><tr><td><i></i></td></tr></tbody></table>X</b>" + } + }, + { + "data": "<h1>Hello<h2>World", + "errors": [ + "(1,4): expected-doctype-but-got-start-tag", + "(1,13): unexpected-start-tag", + "(1,18): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "h1": true, + "h2": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "h1", + "children": [ + { + "text": "Hello" + } + ] + }, + { + "tag": "h2", + "children": [ + { + "text": "World" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><h1>Hello</h1><h2>World</h2></body></html>", + "noQuirksBodyHtml": "<h1>Hello</h1><h2>World</h2>" + } + }, + { + "data": "<a><p>X<a>Y</a>Z</p></a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,10): unexpected-start-tag-implies-end-tag", + "(1,10): adoption-agency-1.3", + "(1,24): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a" + }, + { + "tag": "p", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "X" + } + ] + }, + { + "tag": "a", + "children": [ + { + "text": "Y" + } + ] + }, + { + "text": "Z" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a></a><p><a>X</a><a>Y</a>Z</p></body></html>", + "noQuirksBodyHtml": "<a></a><p><a>X</a><a>Y</a>Z</p>" + } + }, + { + "data": "<b><button>foo</b>bar", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,18): adoption-agency-1.3", + "(1,21): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "button": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b" + }, + { + "tag": "button", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "foo" + } + ] + }, + { + "text": "bar" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b></b><button><b>foo</b>bar</button></body></html>", + "noQuirksBodyHtml": "<b></b><button><b>foo</b>bar</button>" + } + }, + { + "data": "<!DOCTYPE html><span><button>foo</span>bar", + "errors": [ + "(1,39): unexpected-end-tag", + "(1,42): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "span": true, + "button": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "span", + "children": [ + { + "tag": "button", + "children": [ + { + "text": "foobar" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><span><button>foobar</button></span></body></html>", + "noQuirksBodyHtml": "<span><button>foobar</button></span>" + } + }, + { + "data": "<p><b><div><marquee></p></b></div>X", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,11): unexpected-end-tag", + "(1,24): unexpected-end-tag", + "(1,28): unexpected-end-tag", + "(1,34): end-tag-too-early", + "(1,35): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "b": true, + "div": true, + "marquee": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "b" + } + ] + }, + { + "tag": "div", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "marquee", + "children": [ + { + "tag": "p" + }, + { + "text": "X" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p><b></b></p><div><b><marquee><p></p>X</marquee></b></div></body></html>", + "noQuirksBodyHtml": "<p><b></b></p><div><b><marquee><p></p>X</marquee></b></div>" + } + }, + { + "data": "<script><div></script></div><title><p></title><p><p>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,28): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "title": true, + "body": true, + "p": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<div>", + "no_escape": true + } + ] + }, + { + "tag": "title", + "children": [ + { + "text": "<p>", + "escaped": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "p" + } + ] + } + ] + } + ], + "html": "<html><head><script><div></script><title><p></title></head><body><p></p><p></p></body></html>", + "noQuirksBodyHtml": "<script><div></script><title><p></title><p></p><p></p>" + } + }, + { + "data": "<!--><div>--<!-->", + "errors": [ + "(1,5): incorrect-comment", + "(1,10): expected-doctype-but-got-start-tag", + "(1,17): incorrect-comment", + "(1,17): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "comment": true + }, + "tree": [ + { + "comment": "" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "--" + }, + { + "comment": "" + } + ] + } + ] + } + ] + } + ], + "html": "<!----><html><head></head><body><div>--<!----></div></body></html>", + "noQuirksBodyHtml": "<!----><div>--<!----></div>" + } + }, + { + "data": "<p><hr></p>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,11): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "hr": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "hr" + }, + { + "tag": "p" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p></p><hr><p></p></body></html>", + "noQuirksBodyHtml": "<p></p><hr><p></p>" + } + }, + { + "data": "<select><b><option><select><option></b></select>X", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,11): unexpected-start-tag-in-select", + "(1,27): unexpected-select-in-select", + "(1,39): unexpected-end-tag", + "(1,48): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "option": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "option" + } + ] + }, + { + "tag": "option", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select><option></option></select><option>X</option></body></html>", + "noQuirksBodyHtml": "<select><option></option></select><option>X</option>" + } + }, + { + "data": "<a><table><td><a><table></table><a></tr><a></table><b>X</b>C<a>Y", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,14): unexpected-cell-in-table-body", + "(1,35): unexpected-start-tag-implies-end-tag", + "(1,40): unexpected-cell-end-tag", + "(1,43): unexpected-start-tag-implies-table-voodoo", + "(1,43): unexpected-start-tag-implies-end-tag", + "(1,43): unexpected-end-tag", + "(1,63): unexpected-start-tag-implies-end-tag", + "(1,64): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "b": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "a" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "table" + } + ] + }, + { + "tag": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "a", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "X" + } + ] + }, + { + "text": "C" + } + ] + }, + { + "tag": "a", + "children": [ + { + "text": "Y" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a><a></a><table><tbody><tr><td><a><table></table></a><a></a></td></tr></tbody></table></a><a><b>X</b>C</a><a>Y</a></body></html>", + "noQuirksBodyHtml": "<a><a></a><table><tbody><tr><td><a><table></table></a><a></a></td></tr></tbody></table></a><a><b>X</b>C</a><a>Y</a>" + } + }, + { + "data": "<a X>0<b>1<a Y>2", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,15): unexpected-start-tag-implies-end-tag", + "(1,15): adoption-agency-1.3", + "(1,16): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "b": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "attrs": [ + { + "name": "x", + "value": "" + } + ], + "children": [ + { + "text": "0" + }, + { + "tag": "b", + "children": [ + { + "text": "1" + } + ] + } + ] + }, + { + "tag": "b", + "children": [ + { + "tag": "a", + "attrs": [ + { + "name": "y", + "value": "" + } + ], + "children": [ + { + "text": "2" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a x=\"\">0<b>1</b></a><b><a y=\"\">2</a></b></body></html>", + "noQuirksBodyHtml": "<a x=\"\">0<b>1</b></a><b><a y=\"\">2</a></b>" + } + }, + { + "data": "<!-----><font><div>hello<table>excite!<b>me!<th><i>please!</tr><!--X-->", + "errors": [ + "(1,7): unexpected-dash-after-double-dash-in-comment", + "(1,14): expected-doctype-but-got-start-tag", + "(1,41): unexpected-start-tag-implies-table-voodoo", + "(1,48): foster-parenting-character-in-table", + "(1,48): foster-parenting-character-in-table", + "(1,48): foster-parenting-character-in-table", + "(1,48): foster-parenting-character-in-table", + "(1,48): foster-parenting-character-in-table", + "(1,48): foster-parenting-character-in-table", + "(1,48): foster-parenting-character-in-table", + "(1,48): foster-parenting-character-in-table", + "(1,48): foster-parenting-character-in-table", + "(1,48): foster-parenting-character-in-table", + "(1,48): unexpected-cell-in-table-body", + "(1,63): unexpected-cell-end-tag", + "(1,71): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "font": true, + "div": true, + "b": true, + "table": true, + "tbody": true, + "tr": true, + "th": true, + "i": true + }, + "comment": true + }, + "tree": [ + { + "comment": "-" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "font", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "helloexcite!" + }, + { + "tag": "b", + "children": [ + { + "text": "me!" + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "th", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "please!" + } + ] + } + ] + } + ] + }, + { + "comment": "X" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!-----><html><head></head><body><font><div>helloexcite!<b>me!</b><table><tbody><tr><th><i>please!</i></th></tr><!--X--></tbody></table></div></font></body></html>", + "noQuirksBodyHtml": "<!-----><font><div>helloexcite!<b>me!</b><table><tbody><tr><th><i>please!</i></th></tr><!--X--></tbody></table></div></font>" + } + }, + { + "data": "<!DOCTYPE html><li>hello<li>world<ul>how<li>do</ul>you</body><!--do-->", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "li": true, + "ul": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "li", + "children": [ + { + "text": "hello" + } + ] + }, + { + "tag": "li", + "children": [ + { + "text": "world" + }, + { + "tag": "ul", + "children": [ + { + "text": "how" + }, + { + "tag": "li", + "children": [ + { + "text": "do" + } + ] + } + ] + }, + { + "text": "you" + } + ] + } + ] + }, + { + "comment": "do" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><li>hello</li><li>world<ul>how<li>do</li></ul>you</li></body><!--do--></html>", + "noQuirksBodyHtml": "<li>hello</li><li>world<ul>how<li>do</li></ul>you<!--do--></li>" + } + }, + { + "data": "<!DOCTYPE html>A<option>B<optgroup>C<select>D</option>E", + "errors": [ + "(1,54): unexpected-end-tag-in-select", + "(1,55): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "option": true, + "optgroup": true, + "select": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "A" + }, + { + "tag": "option", + "children": [ + { + "text": "B" + } + ] + }, + { + "tag": "optgroup", + "children": [ + { + "text": "C" + }, + { + "tag": "select", + "children": [ + { + "text": "DE" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>A<option>B</option><optgroup>C<select>DE</select></optgroup></body></html>", + "noQuirksBodyHtml": "A<option>B</option><optgroup>C<select>DE</select></optgroup>" + } + }, + { + "data": "<", + "errors": [ + "(1,1): expected-tag-name", + "(1,1): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "<", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body><</body></html>", + "noQuirksBodyHtml": "<" + } + }, + { + "data": "<#", + "errors": [ + "(1,1): expected-tag-name", + "(1,1): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "<#", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body><#</body></html>", + "noQuirksBodyHtml": "<#" + } + }, + { + "data": "</", + "errors": [ + "(1,2): expected-closing-tag-but-got-eof", + "(1,2): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "</", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body></</body></html>", + "noQuirksBodyHtml": "</" + } + }, + { + "data": "</#", + "errors": [ + "(1,2): expected-closing-tag-but-got-char", + "(1,3): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "#" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!--#--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!--#-->" + } + }, + { + "data": "<?", + "errors": [ + "(1,1): expected-tag-name-but-got-question-mark", + "(1,2): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "?" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!--?--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!--?-->" + } + }, + { + "data": "<?#", + "errors": [ + "(1,1): expected-tag-name-but-got-question-mark", + "(1,3): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "?#" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!--?#--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!--?#-->" + } + }, + { + "data": "<!", + "errors": [ + "(1,2): expected-dashes-or-doctype", + "(1,2): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!----><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!---->" + } + }, + { + "data": "<!#", + "errors": [ + "(1,2): expected-dashes-or-doctype", + "(1,3): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "#" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!--#--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!--#-->" + } + }, + { + "data": "<?COMMENT?>", + "errors": [ + "(1,1): expected-tag-name-but-got-question-mark", + "(1,11): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "?COMMENT?" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!--?COMMENT?--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!--?COMMENT?-->" + } + }, + { + "data": "<!COMMENT>", + "errors": [ + "(1,2): expected-dashes-or-doctype", + "(1,10): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "COMMENT" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!--COMMENT--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!--COMMENT-->" + } + }, + { + "data": "</ COMMENT >", + "errors": [ + "(1,2): expected-closing-tag-but-got-char", + "(1,12): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": " COMMENT " + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!-- COMMENT --><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!-- COMMENT -->" + } + }, + { + "data": "<?COM--MENT?>", + "errors": [ + "(1,1): expected-tag-name-but-got-question-mark", + "(1,13): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "?COM--MENT?" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!--?COM--MENT?--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!--?COM--MENT?-->" + } + }, + { + "data": "<!COM--MENT>", + "errors": [ + "(1,2): expected-dashes-or-doctype", + "(1,12): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "COM--MENT" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!--COM--MENT--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!--COM--MENT-->" + } + }, + { + "data": "</ COM--MENT >", + "errors": [ + "(1,2): expected-closing-tag-but-got-char", + "(1,14): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": " COM--MENT " + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!-- COM--MENT --><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!-- COM--MENT -->" + } + }, + { + "data": "<!DOCTYPE html><style> EOF", + "errors": [ + "(1,26): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": " EOF", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><style> EOF</style></head><body></body></html>", + "noQuirksBodyHtml": "<style> EOF</style>" + } + }, + { + "data": "<!DOCTYPE html><script> <!-- </script> --> </script> EOF", + "errors": [ + "(1,52): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": " <!-- ", + "no_escape": true + } + ] + }, + { + "text": " " + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "--> EOF", + "escaped": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script> <!-- </script> </head><body>--> EOF</body></html>", + "noQuirksBodyHtml": "<script> <!-- </script> --> EOF" + } + }, + { + "data": "<b><p></b>TEST", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,10): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b" + }, + { + "tag": "p", + "children": [ + { + "tag": "b" + }, + { + "text": "TEST" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b></b><p><b></b>TEST</p></body></html>", + "noQuirksBodyHtml": "<b></b><p><b></b>TEST</p>" + } + }, + { + "data": "<p id=a><b><p id=b></b>TEST", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,19): unexpected-end-tag", + "(1,23): adoption-agency-1.2" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "b": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "attrs": [ + { + "name": "id", + "value": "a" + } + ], + "children": [ + { + "tag": "b" + } + ] + }, + { + "tag": "p", + "attrs": [ + { + "name": "id", + "value": "b" + } + ], + "children": [ + { + "text": "TEST" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p id=\"a\"><b></b></p><p id=\"b\">TEST</p></body></html>", + "noQuirksBodyHtml": "<p id=\"a\"><b></b></p><p id=\"b\">TEST</p>" + } + }, + { + "data": "<b id=a><p><b id=b></p></b>TEST", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,23): unexpected-end-tag", + "(1,27): adoption-agency-1.2", + "(1,31): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "attrs": [ + { + "name": "id", + "value": "a" + } + ], + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "b", + "attrs": [ + { + "name": "id", + "value": "b" + } + ] + } + ] + }, + { + "text": "TEST" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b id=\"a\"><p><b id=\"b\"></b></p>TEST</b></body></html>", + "noQuirksBodyHtml": "<b id=\"a\"><p><b id=\"b\"></b></p>TEST</b>" + } + }, + { + "data": "<!DOCTYPE html><title>U-test</title><body><div><p>Test<u></p></div></body>", + "errors": [ + "(1,61): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true, + "div": true, + "p": true, + "u": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "U-test" + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "p", + "children": [ + { + "text": "Test" + }, + { + "tag": "u" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><title>U-test</title></head><body><div><p>Test<u></u></p></div></body></html>", + "noQuirksBodyHtml": "<title>U-test</title><div><p>Test<u></u></p></div>" + } + }, + { + "data": "<!DOCTYPE html><font><table></font></table></font>", + "errors": [ + "(1,35): unexpected-end-tag-implies-table-voodoo", + "(1,35): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "font": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "font", + "children": [ + { + "tag": "table" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><font><table></table></font></body></html>", + "noQuirksBodyHtml": "<font><table></table></font>" + } + }, + { + "data": "<font><p>hello<b>cruel</font>world", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,29): adoption-agency-1.3", + "(1,29): adoption-agency-1.3", + "(1,34): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "font": true, + "p": true, + "b": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "font" + }, + { + "tag": "p", + "children": [ + { + "tag": "font", + "children": [ + { + "text": "hello" + }, + { + "tag": "b", + "children": [ + { + "text": "cruel" + } + ] + } + ] + }, + { + "tag": "b", + "children": [ + { + "text": "world" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><font></font><p><font>hello<b>cruel</b></font><b>world</b></p></body></html>", + "noQuirksBodyHtml": "<font></font><p><font>hello<b>cruel</b></font><b>world</b></p>" + } + }, + { + "data": "<b>Test</i>Test", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,11): unexpected-end-tag", + "(1,15): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "TestTest" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b>TestTest</b></body></html>", + "noQuirksBodyHtml": "<b>TestTest</b>" + } + }, + { + "data": "<b>A<cite>B<div>C", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,17): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "cite": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "A" + }, + { + "tag": "cite", + "children": [ + { + "text": "B" + }, + { + "tag": "div", + "children": [ + { + "text": "C" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b>A<cite>B<div>C</div></cite></b></body></html>", + "noQuirksBodyHtml": "<b>A<cite>B<div>C</div></cite></b>" + } + }, + { + "data": "<b>A<cite>B<div>C</cite>D", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,24): unexpected-end-tag", + "(1,25): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "cite": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "A" + }, + { + "tag": "cite", + "children": [ + { + "text": "B" + }, + { + "tag": "div", + "children": [ + { + "text": "CD" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b>A<cite>B<div>CD</div></cite></b></body></html>", + "noQuirksBodyHtml": "<b>A<cite>B<div>CD</div></cite></b>" + } + }, + { + "data": "<b>A<cite>B<div>C</b>D", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,21): adoption-agency-1.3", + "(1,22): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "cite": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "A" + }, + { + "tag": "cite", + "children": [ + { + "text": "B" + } + ] + } + ] + }, + { + "tag": "div", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "C" + } + ] + }, + { + "text": "D" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b>A<cite>B</cite></b><div><b>C</b>D</div></body></html>", + "noQuirksBodyHtml": "<b>A<cite>B</cite></b><div><b>C</b>D</div>" + } + }, + { + "data": "", + "errors": [ + "(1,0): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<DIV>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,5): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div></div></body></html>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<DIV> abc", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,9): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": " abc" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div> abc</div></body></html>", + "noQuirksBodyHtml": "<div> abc</div>" + } + }, + { + "data": "<DIV> abc <B>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,13): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "b": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": " abc " + }, + { + "tag": "b" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div> abc <b></b></div></body></html>", + "noQuirksBodyHtml": "<div> abc <b></b></div>" + } + }, + { + "data": "<DIV> abc <B> def", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,17): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "b": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": " abc " + }, + { + "tag": "b", + "children": [ + { + "text": " def" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div> abc <b> def</b></div></body></html>", + "noQuirksBodyHtml": "<div> abc <b> def</b></div>" + } + }, + { + "data": "<DIV> abc <B> def <I>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,21): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "b": true, + "i": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": " abc " + }, + { + "tag": "b", + "children": [ + { + "text": " def " + }, + { + "tag": "i" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div> abc <b> def <i></i></b></div></body></html>", + "noQuirksBodyHtml": "<div> abc <b> def <i></i></b></div>" + } + }, + { + "data": "<DIV> abc <B> def <I> ghi", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,25): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "b": true, + "i": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": " abc " + }, + { + "tag": "b", + "children": [ + { + "text": " def " + }, + { + "tag": "i", + "children": [ + { + "text": " ghi" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div> abc <b> def <i> ghi</i></b></div></body></html>", + "noQuirksBodyHtml": "<div> abc <b> def <i> ghi</i></b></div>" + } + }, + { + "data": "<DIV> abc <B> def <I> ghi <P>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,29): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "b": true, + "i": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": " abc " + }, + { + "tag": "b", + "children": [ + { + "text": " def " + }, + { + "tag": "i", + "children": [ + { + "text": " ghi " + }, + { + "tag": "p" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div> abc <b> def <i> ghi <p></p></i></b></div></body></html>", + "noQuirksBodyHtml": "<div> abc <b> def <i> ghi <p></p></i></b></div>" + } + }, + { + "data": "<DIV> abc <B> def <I> ghi <P> jkl", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,33): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "b": true, + "i": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": " abc " + }, + { + "tag": "b", + "children": [ + { + "text": " def " + }, + { + "tag": "i", + "children": [ + { + "text": " ghi " + }, + { + "tag": "p", + "children": [ + { + "text": " jkl" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div> abc <b> def <i> ghi <p> jkl</p></i></b></div></body></html>", + "noQuirksBodyHtml": "<div> abc <b> def <i> ghi <p> jkl</p></i></b></div>" + } + }, + { + "data": "<DIV> abc <B> def <I> ghi <P> jkl </B>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,38): adoption-agency-1.3", + "(1,38): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "b": true, + "i": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": " abc " + }, + { + "tag": "b", + "children": [ + { + "text": " def " + }, + { + "tag": "i", + "children": [ + { + "text": " ghi " + } + ] + } + ] + }, + { + "tag": "i", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "b", + "children": [ + { + "text": " jkl " + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div> abc <b> def <i> ghi </i></b><i><p><b> jkl </b></p></i></div></body></html>", + "noQuirksBodyHtml": "<div> abc <b> def <i> ghi </i></b><i><p><b> jkl </b></p></i></div>" + } + }, + { + "data": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,38): adoption-agency-1.3", + "(1,42): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "b": true, + "i": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": " abc " + }, + { + "tag": "b", + "children": [ + { + "text": " def " + }, + { + "tag": "i", + "children": [ + { + "text": " ghi " + } + ] + } + ] + }, + { + "tag": "i", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "b", + "children": [ + { + "text": " jkl " + } + ] + }, + { + "text": " mno" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div> abc <b> def <i> ghi </i></b><i><p><b> jkl </b> mno</p></i></div></body></html>", + "noQuirksBodyHtml": "<div> abc <b> def <i> ghi </i></b><i><p><b> jkl </b> mno</p></i></div>" + } + }, + { + "data": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,38): adoption-agency-1.3", + "(1,47): adoption-agency-1.3", + "(1,47): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "b": true, + "i": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": " abc " + }, + { + "tag": "b", + "children": [ + { + "text": " def " + }, + { + "tag": "i", + "children": [ + { + "text": " ghi " + } + ] + } + ] + }, + { + "tag": "i" + }, + { + "tag": "p", + "children": [ + { + "tag": "i", + "children": [ + { + "tag": "b", + "children": [ + { + "text": " jkl " + } + ] + }, + { + "text": " mno " + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i></p></div></body></html>", + "noQuirksBodyHtml": "<div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i></p></div>" + } + }, + { + "data": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,38): adoption-agency-1.3", + "(1,47): adoption-agency-1.3", + "(1,51): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "b": true, + "i": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": " abc " + }, + { + "tag": "b", + "children": [ + { + "text": " def " + }, + { + "tag": "i", + "children": [ + { + "text": " ghi " + } + ] + } + ] + }, + { + "tag": "i" + }, + { + "tag": "p", + "children": [ + { + "tag": "i", + "children": [ + { + "tag": "b", + "children": [ + { + "text": " jkl " + } + ] + }, + { + "text": " mno " + } + ] + }, + { + "text": " pqr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i> pqr</p></div></body></html>", + "noQuirksBodyHtml": "<div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i> pqr</p></div>" + } + }, + { + "data": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr </P>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,38): adoption-agency-1.3", + "(1,47): adoption-agency-1.3", + "(1,56): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "b": true, + "i": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": " abc " + }, + { + "tag": "b", + "children": [ + { + "text": " def " + }, + { + "tag": "i", + "children": [ + { + "text": " ghi " + } + ] + } + ] + }, + { + "tag": "i" + }, + { + "tag": "p", + "children": [ + { + "tag": "i", + "children": [ + { + "tag": "b", + "children": [ + { + "text": " jkl " + } + ] + }, + { + "text": " mno " + } + ] + }, + { + "text": " pqr " + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i> pqr </p></div></body></html>", + "noQuirksBodyHtml": "<div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i> pqr </p></div>" + } + }, + { + "data": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr </P> stu", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,38): adoption-agency-1.3", + "(1,47): adoption-agency-1.3", + "(1,60): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "b": true, + "i": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": " abc " + }, + { + "tag": "b", + "children": [ + { + "text": " def " + }, + { + "tag": "i", + "children": [ + { + "text": " ghi " + } + ] + } + ] + }, + { + "tag": "i" + }, + { + "tag": "p", + "children": [ + { + "tag": "i", + "children": [ + { + "tag": "b", + "children": [ + { + "text": " jkl " + } + ] + }, + { + "text": " mno " + } + ] + }, + { + "text": " pqr " + } + ] + }, + { + "text": " stu" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i> pqr </p> stu</div></body></html>", + "noQuirksBodyHtml": "<div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i> pqr </p> stu</div>" + } + }, + { + "data": "<test attribute---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->", + "errors": [ + "(1,1040): expected-doctype-but-got-start-tag", + "(1,1040): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "test": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "test", + "attrs": [ + { + "name": "attribute----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------", + "value": "" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><test attribute----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------=\"\"></test></body></html>", + "noQuirksBodyHtml": "<test attribute----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------=\"\"></test>" + } + }, + { + "data": "<a href=\"blah\">aba<table><a href=\"foo\">br<tr><td></td></tr>x</table>aoe", + "errors": [ + "(1,15): expected-doctype-but-got-start-tag", + "(1,39): unexpected-start-tag-implies-table-voodoo", + "(1,39): unexpected-start-tag-implies-end-tag", + "(1,39): unexpected-end-tag", + "(1,45): foster-parenting-character-in-table", + "(1,45): foster-parenting-character-in-table", + "(1,68): foster-parenting-character-in-table", + "(1,71): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "blah" + } + ], + "children": [ + { + "text": "aba" + }, + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "foo" + } + ], + "children": [ + { + "text": "br" + } + ] + }, + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "foo" + } + ], + "children": [ + { + "text": "x" + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "foo" + } + ], + "children": [ + { + "text": "aoe" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a href=\"blah\">aba<a href=\"foo\">br</a><a href=\"foo\">x</a><table><tbody><tr><td></td></tr></tbody></table></a><a href=\"foo\">aoe</a></body></html>", + "noQuirksBodyHtml": "<a href=\"blah\">aba<a href=\"foo\">br</a><a href=\"foo\">x</a><table><tbody><tr><td></td></tr></tbody></table></a><a href=\"foo\">aoe</a>" + } + }, + { + "data": "<a href=\"blah\">aba<table><tr><td><a href=\"foo\">br</td></tr>x</table>aoe", + "errors": [ + "(1,15): expected-doctype-but-got-start-tag", + "(1,54): unexpected-cell-end-tag", + "(1,68): unexpected text in table", + "(1,71): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "blah" + } + ], + "children": [ + { + "text": "abax" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "foo" + } + ], + "children": [ + { + "text": "br" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "text": "aoe" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a href=\"blah\">abax<table><tbody><tr><td><a href=\"foo\">br</a></td></tr></tbody></table>aoe</a></body></html>", + "noQuirksBodyHtml": "<a href=\"blah\">abax<table><tbody><tr><td><a href=\"foo\">br</a></td></tr></tbody></table>aoe</a>" + } + }, + { + "data": "<table><a href=\"blah\">aba<tr><td><a href=\"foo\">br</td></tr>x</table>aoe", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,22): unexpected-start-tag-implies-table-voodoo", + "(1,29): foster-parenting-character-in-table", + "(1,29): foster-parenting-character-in-table", + "(1,29): foster-parenting-character-in-table", + "(1,54): unexpected-cell-end-tag", + "(1,68): foster-parenting-character-in-table", + "(1,71): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "blah" + } + ], + "children": [ + { + "text": "aba" + } + ] + }, + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "blah" + } + ], + "children": [ + { + "text": "x" + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "foo" + } + ], + "children": [ + { + "text": "br" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "blah" + } + ], + "children": [ + { + "text": "aoe" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a href=\"blah\">aba</a><a href=\"blah\">x</a><table><tbody><tr><td><a href=\"foo\">br</a></td></tr></tbody></table><a href=\"blah\">aoe</a></body></html>", + "noQuirksBodyHtml": "<a href=\"blah\">aba</a><a href=\"blah\">x</a><table><tbody><tr><td><a href=\"foo\">br</a></td></tr></tbody></table><a href=\"blah\">aoe</a>" + } + }, + { + "data": "<a href=a>aa<marquee>aa<a href=b>bb</marquee>aa", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(1,45): end-tag-too-early", + "(1,47): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "marquee": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "a" + } + ], + "children": [ + { + "text": "aa" + }, + { + "tag": "marquee", + "children": [ + { + "text": "aa" + }, + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "b" + } + ], + "children": [ + { + "text": "bb" + } + ] + } + ] + }, + { + "text": "aa" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a href=\"a\">aa<marquee>aa<a href=\"b\">bb</a></marquee>aa</a></body></html>", + "noQuirksBodyHtml": "<a href=\"a\">aa<marquee>aa<a href=\"b\">bb</a></marquee>aa</a>" + } + }, + { + "data": "<wbr><strike><code></strike><code><strike></code>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,28): adoption-agency-1.3", + "(1,49): adoption-agency-1.3", + "(1,49): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "wbr": true, + "strike": true, + "code": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "wbr" + }, + { + "tag": "strike", + "children": [ + { + "tag": "code" + } + ] + }, + { + "tag": "code", + "children": [ + { + "tag": "code", + "children": [ + { + "tag": "strike" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><wbr><strike><code></code></strike><code><code><strike></strike></code></code></body></html>", + "noQuirksBodyHtml": "<wbr><strike><code></code></strike><code><code><strike></strike></code></code>" + } + }, + { + "data": "<!DOCTYPE html><spacer>foo", + "errors": [ + "(1,26): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "spacer": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "spacer", + "children": [ + { + "text": "foo" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><spacer>foo</spacer></body></html>", + "noQuirksBodyHtml": "<spacer>foo</spacer>" + } + }, + { + "data": "<title><meta></title><link><title><meta></title>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "link": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "<meta>", + "escaped": true + } + ] + }, + { + "tag": "link" + }, + { + "tag": "title", + "children": [ + { + "text": "<meta>", + "escaped": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><title><meta></title><link><title><meta></title></head><body></body></html>", + "noQuirksBodyHtml": "<title><meta></title><link><title><meta></title>" + } + }, + { + "data": "<style><!--</style><meta><script>--><link></script>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "meta": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "<!--", + "no_escape": true + } + ] + }, + { + "tag": "meta" + }, + { + "tag": "script", + "children": [ + { + "text": "--><link>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><style><!--</style><meta><script>--><link></script></head><body></body></html>", + "noQuirksBodyHtml": "<style><!--</style><meta><script>--><link></script>" + } + }, + { + "data": "<head><meta></head><link>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,25): unexpected-start-tag-out-of-my-head" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "meta": true, + "link": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "meta" + }, + { + "tag": "link" + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><meta><link></head><body></body></html>", + "noQuirksBodyHtml": "<meta><link>" + } + }, + { + "data": "<table><tr><tr><td><td><span><th><span>X</table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,33): unexpected-cell-end-tag", + "(1,48): unexpected-cell-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "span": true, + "th": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + }, + { + "tag": "tr", + "children": [ + { + "tag": "td" + }, + { + "tag": "td", + "children": [ + { + "tag": "span" + } + ] + }, + { + "tag": "th", + "children": [ + { + "tag": "span", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr></tr><tr><td></td><td><span></span></td><th><span>X</span></th></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr></tr><tr><td></td><td><span></span></td><th><span>X</span></th></tr></tbody></table>" + } + }, + { + "data": "<body><body><base><link><meta><title><p></title><body><p></body>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,12): unexpected-start-tag", + "(1,54): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "base": true, + "link": true, + "meta": true, + "title": true, + "p": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "base" + }, + { + "tag": "link" + }, + { + "tag": "meta" + }, + { + "tag": "title", + "children": [ + { + "text": "<p>", + "escaped": true + } + ] + }, + { + "tag": "p" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><base><link><meta><title><p></title><p></p></body></html>", + "noQuirksBodyHtml": "<base><link><meta><title><p></title><p></p>" + } + }, + { + "data": "<textarea><p></textarea>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea", + "children": [ + { + "text": "<p>", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><textarea><p></textarea></body></html>", + "noQuirksBodyHtml": "<textarea><p></textarea>" + } + }, + { + "data": "<p><image></p>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,10): unexpected-start-tag-treated-as" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "img": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "img" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p><img></p></body></html>", + "noQuirksBodyHtml": "<p><img></p>" + } + }, + { + "data": "<a><table><a></table><p><a><div><a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,13): unexpected-start-tag-implies-table-voodoo", + "(1,13): unexpected-start-tag-implies-end-tag", + "(1,13): adoption-agency-1.3", + "(1,27): unexpected-start-tag-implies-end-tag", + "(1,27): adoption-agency-1.2", + "(1,32): unexpected-end-tag", + "(1,35): unexpected-start-tag-implies-end-tag", + "(1,35): adoption-agency-1.2", + "(1,35): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "table": true, + "p": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "a" + }, + { + "tag": "table" + } + ] + }, + { + "tag": "p", + "children": [ + { + "tag": "a" + } + ] + }, + { + "tag": "div", + "children": [ + { + "tag": "a" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a><a></a><table></table></a><p><a></a></p><div><a></a></div></body></html>", + "noQuirksBodyHtml": "<a><a></a><table></table></a><p><a></a></p><div><a></a></div>" + } + }, + { + "data": "<head></p><meta><p>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,10): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "meta": true, + "body": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "meta" + } + ] + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + } + ] + } + ] + } + ], + "html": "<html><head><meta></head><body><p></p></body></html>", + "noQuirksBodyHtml": "<p></p><meta><p></p>" + } + }, + { + "data": "<head></html><meta><p>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,19): expected-eof-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "meta": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "meta" + }, + { + "tag": "p" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><meta><p></p></body></html>", + "noQuirksBodyHtml": "<meta><p></p>" + } + }, + { + "data": "<b><table><td><i></table>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,14): unexpected-cell-in-table-body", + "(1,25): unexpected-cell-end-tag", + "(1,25): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "i": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "i" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b><table><tbody><tr><td><i></i></td></tr></tbody></table></b></body></html>", + "noQuirksBodyHtml": "<b><table><tbody><tr><td><i></i></td></tr></tbody></table></b>" + } + }, + { + "data": "<b><table><td></b><i></table>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,14): unexpected-cell-in-table-body", + "(1,18): unexpected-end-tag", + "(1,29): unexpected-cell-end-tag", + "(1,29): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "i": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "i" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b><table><tbody><tr><td><i></i></td></tr></tbody></table></b></body></html>", + "noQuirksBodyHtml": "<b><table><tbody><tr><td><i></i></td></tr></tbody></table></b>" + } + }, + { + "data": "<h1><h2>", + "errors": [ + "(1,4): expected-doctype-but-got-start-tag", + "(1,8): unexpected-start-tag", + "(1,8): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "h1": true, + "h2": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "h1" + }, + { + "tag": "h2" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><h1></h1><h2></h2></body></html>", + "noQuirksBodyHtml": "<h1></h1><h2></h2>" + } + }, + { + "data": "<a><p><a></a></p></a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,9): unexpected-start-tag-implies-end-tag", + "(1,9): adoption-agency-1.3", + "(1,21): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a" + }, + { + "tag": "p", + "children": [ + { + "tag": "a" + }, + { + "tag": "a" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a></a><p><a></a><a></a></p></body></html>", + "noQuirksBodyHtml": "<a></a><p><a></a><a></a></p>" + } + }, + { + "data": "<b><button></b></button></b>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,15): adoption-agency-1.3", + "(1,28): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "button": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b" + }, + { + "tag": "button", + "children": [ + { + "tag": "b" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b></b><button><b></b></button></body></html>", + "noQuirksBodyHtml": "<b></b><button><b></b></button>" + } + }, + { + "data": "<p><b><div><marquee></p></b></div>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,11): unexpected-end-tag", + "(1,24): unexpected-end-tag", + "(1,28): unexpected-end-tag", + "(1,34): end-tag-too-early", + "(1,34): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "b": true, + "div": true, + "marquee": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "b" + } + ] + }, + { + "tag": "div", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "marquee", + "children": [ + { + "tag": "p" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p><b></b></p><div><b><marquee><p></p></marquee></b></div></body></html>", + "noQuirksBodyHtml": "<p><b></b></p><div><b><marquee><p></p></marquee></b></div>" + } + }, + { + "data": "<script></script></div><title></title><p><p>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,23): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "title": true, + "body": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script" + }, + { + "tag": "title" + } + ] + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "p" + } + ] + } + ] + } + ], + "html": "<html><head><script></script><title></title></head><body><p></p><p></p></body></html>", + "noQuirksBodyHtml": "<script></script><title></title><p></p><p></p>" + } + }, + { + "data": "<p><hr></p>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,11): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "hr": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "hr" + }, + { + "tag": "p" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p></p><hr><p></p></body></html>", + "noQuirksBodyHtml": "<p></p><hr><p></p>" + } + }, + { + "data": "<select><b><option><select><option></b></select>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,11): unexpected-start-tag-in-select", + "(1,27): unexpected-select-in-select", + "(1,39): unexpected-end-tag", + "(1,48): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "option": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "option" + } + ] + }, + { + "tag": "option" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select><option></option></select><option></option></body></html>", + "noQuirksBodyHtml": "<select><option></option></select><option></option>" + } + }, + { + "data": "<html><head><title></title><body></body></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title" + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><title></title></head><body></body></html>", + "noQuirksBodyHtml": "<title></title>" + } + }, + { + "data": "<a><table><td><a><table></table><a></tr><a></table><a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,14): unexpected-cell-in-table-body", + "(1,35): unexpected-start-tag-implies-end-tag", + "(1,40): unexpected-cell-end-tag", + "(1,43): unexpected-start-tag-implies-table-voodoo", + "(1,43): unexpected-start-tag-implies-end-tag", + "(1,43): unexpected-end-tag", + "(1,54): unexpected-start-tag-implies-end-tag", + "(1,54): adoption-agency-1.2", + "(1,54): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "a" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "table" + } + ] + }, + { + "tag": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "a" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a><a></a><table><tbody><tr><td><a><table></table></a><a></a></td></tr></tbody></table></a><a></a></body></html>", + "noQuirksBodyHtml": "<a><a></a><table><tbody><tr><td><a><table></table></a><a></a></td></tr></tbody></table></a><a></a>" + } + }, + { + "data": "<ul><li></li><div><li></div><li><li><div><li><address><li><b><em></b><li></ul>", + "errors": [ + "(1,4): expected-doctype-but-got-start-tag", + "(1,45): end-tag-too-early", + "(1,58): end-tag-too-early", + "(1,69): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ul": true, + "li": true, + "div": true, + "address": true, + "b": true, + "em": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ul", + "children": [ + { + "tag": "li" + }, + { + "tag": "div", + "children": [ + { + "tag": "li" + } + ] + }, + { + "tag": "li" + }, + { + "tag": "li", + "children": [ + { + "tag": "div" + } + ] + }, + { + "tag": "li", + "children": [ + { + "tag": "address" + } + ] + }, + { + "tag": "li", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "em" + } + ] + } + ] + }, + { + "tag": "li" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ul><li></li><div><li></li></div><li></li><li><div></div></li><li><address></address></li><li><b><em></em></b></li><li></li></ul></body></html>", + "noQuirksBodyHtml": "<ul><li></li><div><li></li></div><li></li><li><div></div></li><li><address></address></li><li><b><em></em></b></li><li></li></ul>" + } + }, + { + "data": "<ul><li><ul></li><li>a</li></ul></li></ul>", + "errors": [ + "(1,4): expected-doctype-but-got-start-tag", + "(1,17): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ul": true, + "li": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ul", + "children": [ + { + "tag": "li", + "children": [ + { + "tag": "ul", + "children": [ + { + "tag": "li", + "children": [ + { + "text": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ul><li><ul><li>a</li></ul></li></ul></body></html>", + "noQuirksBodyHtml": "<ul><li><ul><li>a</li></ul></li></ul>" + } + }, + { + "data": "<frameset><frame><frameset><frame></frameset><noframes></noframes></frameset>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true, + "frame": true, + "noframes": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset", + "children": [ + { + "tag": "frame" + }, + { + "tag": "frameset", + "children": [ + { + "tag": "frame" + } + ] + }, + { + "tag": "noframes" + } + ] + } + ] + } + ], + "html": "<html><head></head><frameset><frame><frameset><frame></frameset><noframes></noframes></frameset></html>", + "noQuirksBodyHtml": "<noframes></noframes>" + } + }, + { + "data": "<h1><table><td><h3></table><h3></h1>", + "errors": [ + "(1,4): expected-doctype-but-got-start-tag", + "(1,15): unexpected-cell-in-table-body", + "(1,27): unexpected-cell-end-tag", + "(1,31): unexpected-start-tag", + "(1,36): end-tag-too-early" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "h1": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "h3": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "h1", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "h3" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "h3" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><h1><table><tbody><tr><td><h3></h3></td></tr></tbody></table></h1><h3></h3></body></html>", + "noQuirksBodyHtml": "<h1><table><tbody><tr><td><h3></h3></td></tr></tbody></table></h1><h3></h3>" + } + }, + { + "data": "<table><colgroup><col><colgroup><col><col><col><colgroup><col><col><thead><tr><td></table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "colgroup": true, + "col": true, + "thead": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "colgroup", + "children": [ + { + "tag": "col" + } + ] + }, + { + "tag": "colgroup", + "children": [ + { + "tag": "col" + }, + { + "tag": "col" + }, + { + "tag": "col" + } + ] + }, + { + "tag": "colgroup", + "children": [ + { + "tag": "col" + }, + { + "tag": "col" + } + ] + }, + { + "tag": "thead", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><colgroup><col></colgroup><colgroup><col><col><col></colgroup><colgroup><col><col></colgroup><thead><tr><td></td></tr></thead></table></body></html>", + "noQuirksBodyHtml": "<table><colgroup><col></colgroup><colgroup><col><col><col></colgroup><colgroup><col><col></colgroup><thead><tr><td></td></tr></thead></table>" + } + }, + { + "data": "<table><col><tbody><col><tr><col><td><col></table><col>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,37): unexpected-cell-in-table-body", + "(1,55): unexpected-start-tag-ignored" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "colgroup": true, + "col": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "colgroup", + "children": [ + { + "tag": "col" + } + ] + }, + { + "tag": "tbody" + }, + { + "tag": "colgroup", + "children": [ + { + "tag": "col" + } + ] + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + }, + { + "tag": "colgroup", + "children": [ + { + "tag": "col" + } + ] + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + }, + { + "tag": "colgroup", + "children": [ + { + "tag": "col" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><colgroup><col></colgroup><tbody></tbody><colgroup><col></colgroup><tbody><tr></tr></tbody><colgroup><col></colgroup><tbody><tr><td></td></tr></tbody><colgroup><col></colgroup></table></body></html>", + "noQuirksBodyHtml": "<table><colgroup><col></colgroup><tbody></tbody><colgroup><col></colgroup><tbody><tr></tr></tbody><colgroup><col></colgroup><tbody><tr><td></td></tr></tbody><colgroup><col></colgroup></table>" + } + }, + { + "data": "<table><colgroup><tbody><colgroup><tr><colgroup><td><colgroup></table><colgroup>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,52): unexpected-cell-in-table-body", + "(1,80): unexpected-start-tag-ignored" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "colgroup": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "colgroup" + }, + { + "tag": "tbody" + }, + { + "tag": "colgroup" + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + }, + { + "tag": "colgroup" + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + }, + { + "tag": "colgroup" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><colgroup></colgroup><tbody></tbody><colgroup></colgroup><tbody><tr></tr></tbody><colgroup></colgroup><tbody><tr><td></td></tr></tbody><colgroup></colgroup></table></body></html>", + "noQuirksBodyHtml": "<table><colgroup></colgroup><tbody></tbody><colgroup></colgroup><tbody><tr></tr></tbody><colgroup></colgroup><tbody><tr><td></td></tr></tbody><colgroup></colgroup></table>" + } + }, + { + "data": "</strong></b></em></i></u></strike></s></blink></tt></pre></big></small></font></select></h1></h2></h3></h4></h5></h6></body></br></a></img></title></span></style></script></table></th></td></tr></frame></area></link></param></hr></input></col></base></meta></basefont></bgsound></embed></spacer></p></dd></dt></caption></colgroup></tbody></tfoot></thead></address></blockquote></center></dir></div></dl></fieldset></listing></menu></ol></ul></li></nobr></wbr></form></button></marquee></object></html></frameset></head></iframe></image></isindex></noembed></noframes></noscript></optgroup></option></plaintext></textarea>", + "errors": [ + "(1,9): expected-doctype-but-got-end-tag", + "(1,9): unexpected-end-tag-before-html", + "(1,13): unexpected-end-tag-before-html", + "(1,18): unexpected-end-tag-before-html", + "(1,22): unexpected-end-tag-before-html", + "(1,26): unexpected-end-tag-before-html", + "(1,35): unexpected-end-tag-before-html", + "(1,39): unexpected-end-tag-before-html", + "(1,47): unexpected-end-tag-before-html", + "(1,52): unexpected-end-tag-before-html", + "(1,58): unexpected-end-tag-before-html", + "(1,64): unexpected-end-tag-before-html", + "(1,72): unexpected-end-tag-before-html", + "(1,79): unexpected-end-tag-before-html", + "(1,88): unexpected-end-tag-before-html", + "(1,93): unexpected-end-tag-before-html", + "(1,98): unexpected-end-tag-before-html", + "(1,103): unexpected-end-tag-before-html", + "(1,108): unexpected-end-tag-before-html", + "(1,113): unexpected-end-tag-before-html", + "(1,118): unexpected-end-tag-before-html", + "(1,130): unexpected-end-tag-after-body", + "(1,130): unexpected-end-tag-treated-as", + "(1,134): unexpected-end-tag", + "(1,140): unexpected-end-tag", + "(1,148): unexpected-end-tag", + "(1,155): unexpected-end-tag", + "(1,163): unexpected-end-tag", + "(1,172): unexpected-end-tag", + "(1,180): unexpected-end-tag", + "(1,185): unexpected-end-tag", + "(1,190): unexpected-end-tag", + "(1,195): unexpected-end-tag", + "(1,203): unexpected-end-tag", + "(1,210): unexpected-end-tag", + "(1,217): unexpected-end-tag", + "(1,225): unexpected-end-tag", + "(1,230): unexpected-end-tag", + "(1,238): unexpected-end-tag", + "(1,244): unexpected-end-tag", + "(1,251): unexpected-end-tag", + "(1,258): unexpected-end-tag", + "(1,269): unexpected-end-tag", + "(1,279): unexpected-end-tag", + "(1,287): unexpected-end-tag", + "(1,296): unexpected-end-tag", + "(1,300): unexpected-end-tag", + "(1,305): unexpected-end-tag", + "(1,310): unexpected-end-tag", + "(1,320): unexpected-end-tag", + "(1,331): unexpected-end-tag", + "(1,339): unexpected-end-tag", + "(1,347): unexpected-end-tag", + "(1,355): unexpected-end-tag", + "(1,365): end-tag-too-early", + "(1,378): end-tag-too-early", + "(1,387): end-tag-too-early", + "(1,393): end-tag-too-early", + "(1,399): end-tag-too-early", + "(1,404): end-tag-too-early", + "(1,415): end-tag-too-early", + "(1,425): end-tag-too-early", + "(1,432): end-tag-too-early", + "(1,437): end-tag-too-early", + "(1,442): end-tag-too-early", + "(1,447): unexpected-end-tag", + "(1,454): unexpected-end-tag", + "(1,460): unexpected-end-tag", + "(1,467): unexpected-end-tag", + "(1,476): end-tag-too-early", + "(1,486): end-tag-too-early", + "(1,495): end-tag-too-early", + "(1,513): expected-eof-but-got-end-tag", + "(1,513): unexpected-end-tag", + "(1,520): unexpected-end-tag", + "(1,529): unexpected-end-tag", + "(1,537): unexpected-end-tag", + "(1,547): unexpected-end-tag", + "(1,557): unexpected-end-tag", + "(1,568): unexpected-end-tag", + "(1,579): unexpected-end-tag", + "(1,590): unexpected-end-tag", + "(1,599): unexpected-end-tag", + "(1,611): unexpected-end-tag", + "(1,622): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "br": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "br" + }, + { + "tag": "p" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><br><p></p></body></html>", + "noQuirksBodyHtml": "<br><p></p>" + } + }, + { + "data": "<table><tr></strong></b></em></i></u></strike></s></blink></tt></pre></big></small></font></select></h1></h2></h3></h4></h5></h6></body></br></a></img></title></span></style></script></table></th></td></tr></frame></area></link></param></hr></input></col></base></meta></basefont></bgsound></embed></spacer></p></dd></dt></caption></colgroup></tbody></tfoot></thead></address></blockquote></center></dir></div></dl></fieldset></listing></menu></ol></ul></li></nobr></wbr></form></button></marquee></object></html></frameset></head></iframe></image></isindex></noembed></noframes></noscript></optgroup></option></plaintext></textarea>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,20): unexpected-end-tag-implies-table-voodoo", + "(1,20): unexpected-end-tag", + "(1,24): unexpected-end-tag-implies-table-voodoo", + "(1,24): unexpected-end-tag", + "(1,29): unexpected-end-tag-implies-table-voodoo", + "(1,29): unexpected-end-tag", + "(1,33): unexpected-end-tag-implies-table-voodoo", + "(1,33): unexpected-end-tag", + "(1,37): unexpected-end-tag-implies-table-voodoo", + "(1,37): unexpected-end-tag", + "(1,46): unexpected-end-tag-implies-table-voodoo", + "(1,46): unexpected-end-tag", + "(1,50): unexpected-end-tag-implies-table-voodoo", + "(1,50): unexpected-end-tag", + "(1,58): unexpected-end-tag-implies-table-voodoo", + "(1,58): unexpected-end-tag", + "(1,63): unexpected-end-tag-implies-table-voodoo", + "(1,63): unexpected-end-tag", + "(1,69): unexpected-end-tag-implies-table-voodoo", + "(1,69): end-tag-too-early", + "(1,75): unexpected-end-tag-implies-table-voodoo", + "(1,75): unexpected-end-tag", + "(1,83): unexpected-end-tag-implies-table-voodoo", + "(1,83): unexpected-end-tag", + "(1,90): unexpected-end-tag-implies-table-voodoo", + "(1,90): unexpected-end-tag", + "(1,99): unexpected-end-tag-implies-table-voodoo", + "(1,99): unexpected-end-tag", + "(1,104): unexpected-end-tag-implies-table-voodoo", + "(1,104): end-tag-too-early", + "(1,109): unexpected-end-tag-implies-table-voodoo", + "(1,109): end-tag-too-early", + "(1,114): unexpected-end-tag-implies-table-voodoo", + "(1,114): end-tag-too-early", + "(1,119): unexpected-end-tag-implies-table-voodoo", + "(1,119): end-tag-too-early", + "(1,124): unexpected-end-tag-implies-table-voodoo", + "(1,124): end-tag-too-early", + "(1,129): unexpected-end-tag-implies-table-voodoo", + "(1,129): end-tag-too-early", + "(1,136): unexpected-end-tag-in-table-row", + "(1,141): unexpected-end-tag-implies-table-voodoo", + "(1,141): unexpected-end-tag-treated-as", + "(1,145): unexpected-end-tag-implies-table-voodoo", + "(1,145): unexpected-end-tag", + "(1,151): unexpected-end-tag-implies-table-voodoo", + "(1,151): unexpected-end-tag", + "(1,159): unexpected-end-tag-implies-table-voodoo", + "(1,159): unexpected-end-tag", + "(1,166): unexpected-end-tag-implies-table-voodoo", + "(1,166): unexpected-end-tag", + "(1,174): unexpected-end-tag-implies-table-voodoo", + "(1,174): unexpected-end-tag", + "(1,183): unexpected-end-tag-implies-table-voodoo", + "(1,183): unexpected-end-tag", + "(1,196): unexpected-end-tag", + "(1,201): unexpected-end-tag", + "(1,206): unexpected-end-tag", + "(1,214): unexpected-end-tag", + "(1,221): unexpected-end-tag", + "(1,228): unexpected-end-tag", + "(1,236): unexpected-end-tag", + "(1,241): unexpected-end-tag", + "(1,249): unexpected-end-tag", + "(1,255): unexpected-end-tag", + "(1,262): unexpected-end-tag", + "(1,269): unexpected-end-tag", + "(1,280): unexpected-end-tag", + "(1,290): unexpected-end-tag", + "(1,298): unexpected-end-tag", + "(1,307): unexpected-end-tag", + "(1,311): unexpected-end-tag", + "(1,316): unexpected-end-tag", + "(1,321): unexpected-end-tag", + "(1,331): unexpected-end-tag", + "(1,342): unexpected-end-tag", + "(1,350): unexpected-end-tag", + "(1,358): unexpected-end-tag", + "(1,366): unexpected-end-tag", + "(1,376): end-tag-too-early", + "(1,389): end-tag-too-early", + "(1,398): end-tag-too-early", + "(1,404): end-tag-too-early", + "(1,410): end-tag-too-early", + "(1,415): end-tag-too-early", + "(1,426): end-tag-too-early", + "(1,436): end-tag-too-early", + "(1,443): end-tag-too-early", + "(1,448): end-tag-too-early", + "(1,453): end-tag-too-early", + "(1,458): unexpected-end-tag", + "(1,465): unexpected-end-tag", + "(1,471): unexpected-end-tag", + "(1,478): unexpected-end-tag", + "(1,487): end-tag-too-early", + "(1,497): end-tag-too-early", + "(1,506): end-tag-too-early", + "(1,524): expected-eof-but-got-end-tag", + "(1,524): unexpected-end-tag", + "(1,531): unexpected-end-tag", + "(1,540): unexpected-end-tag", + "(1,548): unexpected-end-tag", + "(1,558): unexpected-end-tag", + "(1,568): unexpected-end-tag", + "(1,579): unexpected-end-tag", + "(1,590): unexpected-end-tag", + "(1,601): unexpected-end-tag", + "(1,610): unexpected-end-tag", + "(1,622): unexpected-end-tag", + "(1,633): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "br": true, + "table": true, + "tbody": true, + "tr": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "br" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + }, + { + "tag": "p" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><br><table><tbody><tr></tr></tbody></table><p></p></body></html>", + "noQuirksBodyHtml": "<br><table><tbody><tr></tr></tbody></table><p></p>" + } + }, + { + "data": "<frameset>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(1,10): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "" + } + } + ], + "tests10.dat": [ + { + "data": "<!DOCTYPE html><svg></svg>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg></svg></body></html>", + "noQuirksBodyHtml": "<svg></svg>" + } + }, + { + "data": "<!DOCTYPE html><svg></svg><![CDATA[a]]>", + "errors": [ + "(1,28) expected-dashes-or-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + }, + { + "comment": "[CDATA[a]]" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg></svg><!--[CDATA[a]]--></body></html>", + "noQuirksBodyHtml": "<svg></svg><!--[CDATA[a]]-->" + } + }, + { + "data": "<!DOCTYPE html><body><svg></svg>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg></svg></body></html>", + "noQuirksBodyHtml": "<svg></svg>" + } + }, + { + "data": "<!DOCTYPE html><body><select><svg></svg></select>", + "errors": [ + "(1,34) unexpected-start-tag-in-select", + "(1,40) unexpected-end-tag-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>", + "noQuirksBodyHtml": "<select></select>" + } + }, + { + "data": "<!DOCTYPE html><body><select><option><svg></svg></option></select>", + "errors": [ + "(1,42) unexpected-start-tag-in-select", + "(1,48) unexpected-end-tag-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "option": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "option" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select><option></option></select></body></html>", + "noQuirksBodyHtml": "<select><option></option></select>" + } + }, + { + "data": "<!DOCTYPE html><body><table><svg></svg></table>", + "errors": [ + "(1,33) foster-parenting-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg></svg><table></table></body></html>", + "noQuirksBodyHtml": "<svg></svg><table></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><svg><g>foo</g></svg></table>", + "errors": [ + "(1,33) foster-parenting-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg g": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><g>foo</g></svg><table></table></body></html>", + "noQuirksBodyHtml": "<svg><g>foo</g></svg><table></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><svg><g>foo</g><g>bar</g></svg></table>", + "errors": [ + "(1,33) foster-parenting-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg g": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><g>foo</g><g>bar</g></svg><table></table></body></html>", + "noQuirksBodyHtml": "<svg><g>foo</g><g>bar</g></svg><table></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><tbody><svg><g>foo</g><g>bar</g></svg></tbody></table>", + "errors": [ + "(1,40) foster-parenting-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg g": true, + "table": true, + "tbody": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><g>foo</g><g>bar</g></svg><table><tbody></tbody></table></body></html>", + "noQuirksBodyHtml": "<svg><g>foo</g><g>bar</g></svg><table><tbody></tbody></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><tbody><tr><svg><g>foo</g><g>bar</g></svg></tr></tbody></table>", + "errors": [ + "(1,44) foster-parenting-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg g": true, + "table": true, + "tbody": true, + "tr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><g>foo</g><g>bar</g></svg><table><tbody><tr></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<svg><g>foo</g><g>bar</g></svg><table><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg></td></tr></tbody></table>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "svg svg": true, + "svg g": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "bar" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg></td></tr></tbody></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg><p>baz</td></tr></tbody></table>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "svg svg": true, + "svg g": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "baz" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg><p>baz</p></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg><p>baz</p></td></tr></tbody></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g></svg><p>baz</caption></table>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true, + "svg svg": true, + "svg g": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "baz" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><caption><svg><g>foo</g><g>bar</g></svg><p>baz</p></caption></table></body></html>", + "noQuirksBodyHtml": "<table><caption><svg><g>foo</g><g>bar</g></svg><p>baz</p></caption></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g><p>baz</table><p>quux", + "errors": [ + "(1,65) unexpected-html-element-in-foreign-content" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true, + "svg svg": true, + "svg g": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "baz" + } + ] + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "quux" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><caption><svg><g>foo</g><g>bar</g></svg><p>baz</p></caption></table><p>quux</p></body></html>", + "noQuirksBodyHtml": "<table><caption><svg><g>foo</g><g>bar</g><p>baz</p></svg></caption></table><p>quux</p>" + } + }, + { + "data": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g>baz</table><p>quux", + "errors": [ + "(1,73) unexpected-end-tag", + "(1,73) expected-one-end-tag-but-got-another" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true, + "svg svg": true, + "svg g": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "bar" + } + ] + }, + { + "text": "baz" + } + ] + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "quux" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><caption><svg><g>foo</g><g>bar</g>baz</svg></caption></table><p>quux</p></body></html>", + "noQuirksBodyHtml": "<table><caption><svg><g>foo</g><g>bar</g>baz</svg></caption></table><p>quux</p>" + } + }, + { + "data": "<!DOCTYPE html><body><table><colgroup><svg><g>foo</g><g>bar</g><p>baz</table><p>quux", + "errors": [ + "(1,43) foster-parenting-start-tag svg", + "(1,66) unexpected HTML-like start tag token in foreign content", + "(1,66) foster-parenting-start-tag", + "(1,67) foster-parenting-character", + "(1,68) foster-parenting-character", + "(1,69) foster-parenting-character" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg g": true, + "p": true, + "table": true, + "colgroup": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "baz" + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "colgroup" + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "quux" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><g>foo</g><g>bar</g></svg><p>baz</p><table><colgroup></colgroup></table><p>quux</p></body></html>", + "noQuirksBodyHtml": "<svg><g>foo</g><g>bar</g><p>baz</p></svg><table><colgroup></colgroup></table><p>quux</p>" + } + }, + { + "data": "<!DOCTYPE html><body><table><tr><td><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux", + "errors": [ + "(1,49) unexpected-start-tag-in-select", + "(1,52) unexpected-start-tag-in-select", + "(1,59) unexpected-end-tag-in-select", + "(1,62) unexpected-start-tag-in-select", + "(1,69) unexpected-end-tag-in-select", + "(1,72) unexpected-start-tag-in-select", + "(1,83) unexpected-table-element-end-tag-in-select-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "select": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "select", + "children": [ + { + "text": "foobarbaz" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "quux" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><select>foobarbaz</select></td></tr></tbody></table><p>quux</p></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><select>foobarbaz</select></td></tr></tbody></table><p>quux</p>" + } + }, + { + "data": "<!DOCTYPE html><body><table><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux", + "errors": [ + "(1,36) unexpected-start-tag-implies-table-voodoo", + "(1,41) unexpected-start-tag-in-select", + "(1,44) unexpected-start-tag-in-select", + "(1,51) unexpected-end-tag-in-select", + "(1,54) unexpected-start-tag-in-select", + "(1,61) unexpected-end-tag-in-select", + "(1,64) unexpected-start-tag-in-select", + "(1,75) unexpected-table-element-end-tag-in-select-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "table": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "text": "foobarbaz" + } + ] + }, + { + "tag": "table" + }, + { + "tag": "p", + "children": [ + { + "text": "quux" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select>foobarbaz</select><table></table><p>quux</p></body></html>", + "noQuirksBodyHtml": "<select>foobarbaz</select><table></table><p>quux</p>" + } + }, + { + "data": "<!DOCTYPE html><body></body></html><svg><g>foo</g><g>bar</g><p>baz", + "errors": [ + "(1,40) expected-eof-but-got-start-tag", + "(1,63) unexpected-html-element-in-foreign-content" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg g": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "baz" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><g>foo</g><g>bar</g></svg><p>baz</p></body></html>", + "noQuirksBodyHtml": "<svg><g>foo</g><g>bar</g><p>baz</p></svg>" + } + }, + { + "data": "<!DOCTYPE html><body></body><svg><g>foo</g><g>bar</g><p>baz", + "errors": [ + "(1,33) unexpected-start-tag-after-body", + "(1,56) unexpected-html-element-in-foreign-content" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg g": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "baz" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><g>foo</g><g>bar</g></svg><p>baz</p></body></html>", + "noQuirksBodyHtml": "<svg><g>foo</g><g>bar</g><p>baz</p></svg>" + } + }, + { + "data": "<!DOCTYPE html><frameset><svg><g></g><g></g><p><span>", + "errors": [ + "(1,30) unexpected-start-tag-in-frameset", + "(1,33) unexpected-start-tag-in-frameset", + "(1,37) unexpected-end-tag-in-frameset", + "(1,40) unexpected-start-tag-in-frameset", + "(1,44) unexpected-end-tag-in-frameset", + "(1,47) unexpected-start-tag-in-frameset", + "(1,53) unexpected-start-tag-in-frameset", + "(1,53) eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<svg><g></g><g></g><p><span></span></p></svg>" + } + }, + { + "data": "<!DOCTYPE html><frameset></frameset><svg><g></g><g></g><p><span>", + "errors": [ + "(1,41) unexpected-start-tag-after-frameset", + "(1,44) unexpected-start-tag-after-frameset", + "(1,48) unexpected-end-tag-after-frameset", + "(1,51) unexpected-start-tag-after-frameset", + "(1,55) unexpected-end-tag-after-frameset", + "(1,58) unexpected-start-tag-after-frameset", + "(1,64) unexpected-start-tag-after-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<svg><g></g><g></g><p><span></span></p></svg>" + } + }, + { + "data": "<!DOCTYPE html><body xlink:href=foo><svg xlink:href=foo></svg>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "attrs": [ + { + "name": "xlink:href", + "value": "foo" + } + ], + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "attrs": [ + { + "name": "href", + "ns": "http://www.w3.org/1999/xlink", + "value": "foo" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\"><svg xlink:href=\"foo\"></svg></body></html>", + "noQuirksBodyHtml": "<svg xlink:href=\"foo\"></svg>" + } + }, + { + "data": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo></g></svg>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg g": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "attrs": [ + { + "name": "xlink:href", + "value": "foo" + }, + { + "name": "xml:lang", + "value": "en" + } + ], + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "attrs": [ + { + "name": "href", + "ns": "http://www.w3.org/1999/xlink", + "value": "foo" + }, + { + "name": "lang", + "ns": "http://www.w3.org/XML/1998/namespace", + "value": "en" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\" xml:lang=\"en\"><svg><g xml:lang=\"en\" xlink:href=\"foo\"></g></svg></body></html>", + "noQuirksBodyHtml": "<svg><g xml:lang=\"en\" xlink:href=\"foo\"></g></svg>" + } + }, + { + "data": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo /></svg>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg g": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "attrs": [ + { + "name": "xlink:href", + "value": "foo" + }, + { + "name": "xml:lang", + "value": "en" + } + ], + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "attrs": [ + { + "name": "href", + "ns": "http://www.w3.org/1999/xlink", + "value": "foo" + }, + { + "name": "lang", + "ns": "http://www.w3.org/XML/1998/namespace", + "value": "en" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\" xml:lang=\"en\"><svg><g xml:lang=\"en\" xlink:href=\"foo\"></g></svg></body></html>", + "noQuirksBodyHtml": "<svg><g xml:lang=\"en\" xlink:href=\"foo\"></g></svg>" + } + }, + { + "data": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo />bar</svg>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg g": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "attrs": [ + { + "name": "xlink:href", + "value": "foo" + }, + { + "name": "xml:lang", + "value": "en" + } + ], + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "attrs": [ + { + "name": "href", + "ns": "http://www.w3.org/1999/xlink", + "value": "foo" + }, + { + "name": "lang", + "ns": "http://www.w3.org/XML/1998/namespace", + "value": "en" + } + ] + }, + { + "text": "bar" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\" xml:lang=\"en\"><svg><g xml:lang=\"en\" xlink:href=\"foo\"></g>bar</svg></body></html>", + "noQuirksBodyHtml": "<svg><g xml:lang=\"en\" xlink:href=\"foo\"></g>bar</svg>" + } + }, + { + "data": "<svg></path>", + "errors": [ + "(1,5) expected-doctype-but-got-start-tag", + "(1,12) unexpected-end-tag", + "(1,12) unexpected-end-tag", + "(1,12) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg></svg></body></html>", + "noQuirksBodyHtml": "<svg></svg>" + } + }, + { + "data": "<div><svg></div>a", + "errors": [ + "(1,5) expected-doctype-but-got-start-tag", + "(1,16) unexpected-end-tag", + "(1,16) end-tag-too-early" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + } + ] + }, + { + "text": "a" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><svg></svg></div>a</body></html>", + "noQuirksBodyHtml": "<div><svg></svg></div>a" + } + }, + { + "data": "<div><svg><path></div>a", + "errors": [ + "(1,5) expected-doctype-but-got-start-tag", + "(1,22) unexpected-end-tag", + "(1,22) end-tag-too-early" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "svg svg": true, + "svg path": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "path", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + }, + { + "text": "a" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><svg><path></path></svg></div>a</body></html>", + "noQuirksBodyHtml": "<div><svg><path></path></svg></div>a" + } + }, + { + "data": "<div><svg><path></svg><path>", + "errors": [ + "(1,5) expected-doctype-but-got-start-tag", + "(1,22) unexpected-end-tag", + "(1,28) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "svg svg": true, + "svg path": true, + "path": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "path", + "ns": "http://www.w3.org/2000/svg" + } + ] + }, + { + "tag": "path" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><svg><path></path></svg><path></path></div></body></html>", + "noQuirksBodyHtml": "<div><svg><path></path></svg><path></path></div>" + } + }, + { + "data": "<div><svg><path><foreignObject><math></div>a", + "errors": [ + "(1,5) expected-doctype-but-got-start-tag", + "(1,43) unexpected-end-tag", + "(1,43) end-tag-too-early", + "(1,44) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "svg svg": true, + "svg path": true, + "svg foreignObject": true, + "math math": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "path", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><svg><path><foreignObject><math>a</math></foreignObject></path></svg></div></body></html>", + "noQuirksBodyHtml": "<div><svg><path><foreignObject><math>a</math></foreignObject></path></svg></div>" + } + }, + { + "data": "<div><svg><path><foreignObject><p></div>a", + "errors": [ + "(1,5) expected-doctype-but-got-start-tag", + "(1,40) end-tag-too-early", + "(1,41) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "svg svg": true, + "svg path": true, + "svg foreignObject": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "path", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "p", + "children": [ + { + "text": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><svg><path><foreignObject><p>a</p></foreignObject></path></svg></div></body></html>", + "noQuirksBodyHtml": "<div><svg><path><foreignObject><p>a</p></foreignObject></path></svg></div>" + } + }, + { + "data": "<!DOCTYPE html><svg><desc><div><svg><ul>a", + "errors": [ + "(1,40) unexpected-html-element-in-foreign-content", + "(1,41) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg desc": true, + "div": true, + "ul": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "desc", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "ul", + "children": [ + { + "text": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><desc><div><svg></svg><ul>a</ul></div></desc></svg></body></html>", + "noQuirksBodyHtml": "<svg><desc><div><svg><ul>a</ul></svg></div></desc></svg>" + } + }, + { + "data": "<!DOCTYPE html><svg><desc><svg><ul>a", + "errors": [ + "(1,35) unexpected-html-element-in-foreign-content", + "(1,36) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg desc": true, + "ul": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "desc", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "ul", + "children": [ + { + "text": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><desc><svg></svg><ul>a</ul></desc></svg></body></html>", + "noQuirksBodyHtml": "<svg><desc><svg><ul>a</ul></svg></desc></svg>" + } + }, + { + "data": "<!DOCTYPE html><p><svg><desc><p>", + "errors": [ + "(1,32) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "svg svg": true, + "svg desc": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "desc", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "p" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><svg><desc><p></p></desc></svg></p></body></html>", + "noQuirksBodyHtml": "<p><svg><desc><p></p></desc></svg></p>" + } + }, + { + "data": "<!DOCTYPE html><p><svg><title><p>", + "errors": [ + "(1,33) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "svg svg": true, + "svg title": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "title", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "p" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><svg><title><p></p></title></svg></p></body></html>", + "noQuirksBodyHtml": "<p><svg><title><p></p></title></svg></p>" + } + }, + { + "data": "<div><svg><path><foreignObject><p></foreignObject><p>", + "errors": [ + "(1,5) expected-doctype-but-got-start-tag", + "(1,50) unexpected-end-tag", + "(1,53) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "svg svg": true, + "svg path": true, + "svg foreignObject": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "path", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "p" + }, + { + "tag": "p" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><svg><path><foreignObject><p></p><p></p></foreignObject></path></svg></div></body></html>", + "noQuirksBodyHtml": "<div><svg><path><foreignObject><p></p><p></p></foreignObject></path></svg></div>" + } + }, + { + "data": "<math><mi><div><object><div><span></span></div></object></div></mi><mi>", + "errors": [ + "(1,6) expected-doctype-but-got-start-tag", + "(1,71) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true, + "div": true, + "object": true, + "span": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "object", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "span" + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><mi><div><object><div><span></span></div></object></div></mi><mi></mi></math></body></html>", + "noQuirksBodyHtml": "<math><mi><div><object><div><span></span></div></object></div></mi><mi></mi></math>" + } + }, + { + "data": "<math><mi><svg><foreignObject><div><div></div></div></foreignObject></svg></mi><mi>", + "errors": [ + "(1,6) expected-doctype-but-got-start-tag", + "(1,83) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true, + "svg svg": true, + "svg foreignObject": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><mi><svg><foreignObject><div><div></div></div></foreignObject></svg></mi><mi></mi></math></body></html>", + "noQuirksBodyHtml": "<math><mi><svg><foreignObject><div><div></div></div></foreignObject></svg></mi><mi></mi></math>" + } + }, + { + "data": "<svg><script></script><path>", + "errors": [ + "(1,5) expected-doctype-but-got-start-tag", + "(1,28) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg script": true, + "svg path": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "script", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "path", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><script></script><path></path></svg></body></html>", + "noQuirksBodyHtml": "<svg><script></script><path></path></svg>" + } + }, + { + "data": "<table><svg></svg><tr>", + "errors": [ + "(1,7) expected-doctype-but-got-start-tag", + "(1,12) unexpected-start-tag-implies-table-voodoo", + "(1,22) eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "table": true, + "tbody": true, + "tr": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg></svg><table><tbody><tr></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<svg></svg><table><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "<math><mi><mglyph>", + "errors": [ + "(1,6) expected-doctype-but-got-start-tag", + "(1,18) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true, + "math mglyph": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mglyph", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><mi><mglyph></mglyph></mi></math></body></html>", + "noQuirksBodyHtml": "<math><mi><mglyph></mglyph></mi></math>" + } + }, + { + "data": "<math><mi><malignmark>", + "errors": [ + "(1,6) expected-doctype-but-got-start-tag", + "(1,22) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true, + "math malignmark": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><mi><malignmark></malignmark></mi></math></body></html>", + "noQuirksBodyHtml": "<math><mi><malignmark></malignmark></mi></math>" + } + }, + { + "data": "<math><mo><mglyph>", + "errors": [ + "(1,6) expected-doctype-but-got-start-tag", + "(1,18) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mo": true, + "math mglyph": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mo", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mglyph", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><mo><mglyph></mglyph></mo></math></body></html>", + "noQuirksBodyHtml": "<math><mo><mglyph></mglyph></mo></math>" + } + }, + { + "data": "<math><mo><malignmark>", + "errors": [ + "(1,6) expected-doctype-but-got-start-tag", + "(1,22) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mo": true, + "math malignmark": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mo", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><mo><malignmark></malignmark></mo></math></body></html>", + "noQuirksBodyHtml": "<math><mo><malignmark></malignmark></mo></math>" + } + }, + { + "data": "<math><mn><mglyph>", + "errors": [ + "(1,6) expected-doctype-but-got-start-tag", + "(1,18) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mn": true, + "math mglyph": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mn", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mglyph", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><mn><mglyph></mglyph></mn></math></body></html>", + "noQuirksBodyHtml": "<math><mn><mglyph></mglyph></mn></math>" + } + }, + { + "data": "<math><mn><malignmark>", + "errors": [ + "(1,6) expected-doctype-but-got-start-tag", + "(1,22) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mn": true, + "math malignmark": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mn", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><mn><malignmark></malignmark></mn></math></body></html>", + "noQuirksBodyHtml": "<math><mn><malignmark></malignmark></mn></math>" + } + }, + { + "data": "<math><ms><mglyph>", + "errors": [ + "(1,6) expected-doctype-but-got-start-tag", + "(1,18) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math ms": true, + "math mglyph": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "ms", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mglyph", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><ms><mglyph></mglyph></ms></math></body></html>", + "noQuirksBodyHtml": "<math><ms><mglyph></mglyph></ms></math>" + } + }, + { + "data": "<math><ms><malignmark>", + "errors": [ + "(1,6) expected-doctype-but-got-start-tag", + "(1,22) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math ms": true, + "math malignmark": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "ms", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><ms><malignmark></malignmark></ms></math></body></html>", + "noQuirksBodyHtml": "<math><ms><malignmark></malignmark></ms></math>" + } + }, + { + "data": "<math><mtext><mglyph>", + "errors": [ + "(1,6) expected-doctype-but-got-start-tag", + "(1,21) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mtext": true, + "math mglyph": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mtext", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mglyph", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><mtext><mglyph></mglyph></mtext></math></body></html>", + "noQuirksBodyHtml": "<math><mtext><mglyph></mglyph></mtext></math>" + } + }, + { + "data": "<math><mtext><malignmark>", + "errors": [ + "(1,6) expected-doctype-but-got-start-tag", + "(1,25) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mtext": true, + "math malignmark": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mtext", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "malignmark", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><mtext><malignmark></malignmark></mtext></math></body></html>", + "noQuirksBodyHtml": "<math><mtext><malignmark></malignmark></mtext></math>" + } + }, + { + "data": "<math><annotation-xml><svg></svg></annotation-xml><mi>", + "errors": [ + "(1,6) expected-doctype-but-got-start-tag", + "(1,54) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true, + "svg svg": true, + "math mi": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><annotation-xml><svg></svg></annotation-xml><mi></mi></math></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml><svg></svg></annotation-xml><mi></mi></math>" + } + }, + { + "data": "<math><annotation-xml><svg><foreignObject><div><math><mi></mi></math><span></span></div></foreignObject><path></path></svg></annotation-xml><mi>", + "errors": [ + "(1,6) expected-doctype-but-got-start-tag", + "(1,144) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true, + "svg svg": true, + "svg foreignObject": true, + "div": true, + "math mi": true, + "span": true, + "svg path": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + }, + { + "tag": "span" + } + ] + } + ] + }, + { + "tag": "path", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><annotation-xml><svg><foreignObject><div><math><mi></mi></math><span></span></div></foreignObject><path></path></svg></annotation-xml><mi></mi></math></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml><svg><foreignObject><div><math><mi></mi></math><span></span></div></foreignObject><path></path></svg></annotation-xml><mi></mi></math>" + } + }, + { + "data": "<math><annotation-xml><svg><foreignObject><math><mi><svg></svg></mi><mo></mo></math><span></span></foreignObject><path></path></svg></annotation-xml><mi>", + "errors": [ + "(1,6) expected-doctype-but-got-start-tag", + "(1,153) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true, + "svg svg": true, + "svg foreignObject": true, + "math mi": true, + "math mo": true, + "span": true, + "svg path": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + } + ] + }, + { + "tag": "mo", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + }, + { + "tag": "span" + } + ] + }, + { + "tag": "path", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><annotation-xml><svg><foreignObject><math><mi><svg></svg></mi><mo></mo></math><span></span></foreignObject><path></path></svg></annotation-xml><mi></mi></math></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml><svg><foreignObject><math><mi><svg></svg></mi><mo></mo></math><span></span></foreignObject><path></path></svg></annotation-xml><mi></mi></math>" + } + } + ], + "tests11.dat": [ + { + "data": "<!DOCTYPE html><body><svg attributeName='' attributeType='' baseFrequency='' baseProfile='' calcMode='' clipPathUnits='' diffuseConstant='' edgeMode='' filterUnits='' glyphRef='' gradientTransform='' gradientUnits='' kernelMatrix='' kernelUnitLength='' keyPoints='' keySplines='' keyTimes='' lengthAdjust='' limitingConeAngle='' markerHeight='' markerUnits='' markerWidth='' maskContentUnits='' maskUnits='' numOctaves='' pathLength='' patternContentUnits='' patternTransform='' patternUnits='' pointsAtX='' pointsAtY='' pointsAtZ='' preserveAlpha='' preserveAspectRatio='' primitiveUnits='' refX='' refY='' repeatCount='' repeatDur='' requiredExtensions='' requiredFeatures='' specularConstant='' specularExponent='' spreadMethod='' startOffset='' stdDeviation='' stitchTiles='' surfaceScale='' systemLanguage='' tableValues='' targetX='' targetY='' textLength='' viewBox='' viewTarget='' xChannelSelector='' yChannelSelector='' zoomAndPan=''></svg>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "attrs": [ + { + "name": "attributeName", + "value": "" + }, + { + "name": "attributeType", + "value": "" + }, + { + "name": "baseFrequency", + "value": "" + }, + { + "name": "baseProfile", + "value": "" + }, + { + "name": "calcMode", + "value": "" + }, + { + "name": "clipPathUnits", + "value": "" + }, + { + "name": "diffuseConstant", + "value": "" + }, + { + "name": "edgeMode", + "value": "" + }, + { + "name": "filterUnits", + "value": "" + }, + { + "name": "glyphRef", + "value": "" + }, + { + "name": "gradientTransform", + "value": "" + }, + { + "name": "gradientUnits", + "value": "" + }, + { + "name": "kernelMatrix", + "value": "" + }, + { + "name": "kernelUnitLength", + "value": "" + }, + { + "name": "keyPoints", + "value": "" + }, + { + "name": "keySplines", + "value": "" + }, + { + "name": "keyTimes", + "value": "" + }, + { + "name": "lengthAdjust", + "value": "" + }, + { + "name": "limitingConeAngle", + "value": "" + }, + { + "name": "markerHeight", + "value": "" + }, + { + "name": "markerUnits", + "value": "" + }, + { + "name": "markerWidth", + "value": "" + }, + { + "name": "maskContentUnits", + "value": "" + }, + { + "name": "maskUnits", + "value": "" + }, + { + "name": "numOctaves", + "value": "" + }, + { + "name": "pathLength", + "value": "" + }, + { + "name": "patternContentUnits", + "value": "" + }, + { + "name": "patternTransform", + "value": "" + }, + { + "name": "patternUnits", + "value": "" + }, + { + "name": "pointsAtX", + "value": "" + }, + { + "name": "pointsAtY", + "value": "" + }, + { + "name": "pointsAtZ", + "value": "" + }, + { + "name": "preserveAlpha", + "value": "" + }, + { + "name": "preserveAspectRatio", + "value": "" + }, + { + "name": "primitiveUnits", + "value": "" + }, + { + "name": "refX", + "value": "" + }, + { + "name": "refY", + "value": "" + }, + { + "name": "repeatCount", + "value": "" + }, + { + "name": "repeatDur", + "value": "" + }, + { + "name": "requiredExtensions", + "value": "" + }, + { + "name": "requiredFeatures", + "value": "" + }, + { + "name": "specularConstant", + "value": "" + }, + { + "name": "specularExponent", + "value": "" + }, + { + "name": "spreadMethod", + "value": "" + }, + { + "name": "startOffset", + "value": "" + }, + { + "name": "stdDeviation", + "value": "" + }, + { + "name": "stitchTiles", + "value": "" + }, + { + "name": "surfaceScale", + "value": "" + }, + { + "name": "systemLanguage", + "value": "" + }, + { + "name": "tableValues", + "value": "" + }, + { + "name": "targetX", + "value": "" + }, + { + "name": "targetY", + "value": "" + }, + { + "name": "textLength", + "value": "" + }, + { + "name": "viewBox", + "value": "" + }, + { + "name": "viewTarget", + "value": "" + }, + { + "name": "xChannelSelector", + "value": "" + }, + { + "name": "yChannelSelector", + "value": "" + }, + { + "name": "zoomAndPan", + "value": "" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg attributeName=\"\" attributeType=\"\" baseFrequency=\"\" baseProfile=\"\" calcMode=\"\" clipPathUnits=\"\" diffuseConstant=\"\" edgeMode=\"\" filterUnits=\"\" glyphRef=\"\" gradientTransform=\"\" gradientUnits=\"\" kernelMatrix=\"\" kernelUnitLength=\"\" keyPoints=\"\" keySplines=\"\" keyTimes=\"\" lengthAdjust=\"\" limitingConeAngle=\"\" markerHeight=\"\" markerUnits=\"\" markerWidth=\"\" maskContentUnits=\"\" maskUnits=\"\" numOctaves=\"\" pathLength=\"\" patternContentUnits=\"\" patternTransform=\"\" patternUnits=\"\" pointsAtX=\"\" pointsAtY=\"\" pointsAtZ=\"\" preserveAlpha=\"\" preserveAspectRatio=\"\" primitiveUnits=\"\" refX=\"\" refY=\"\" repeatCount=\"\" repeatDur=\"\" requiredExtensions=\"\" requiredFeatures=\"\" specularConstant=\"\" specularExponent=\"\" spreadMethod=\"\" startOffset=\"\" stdDeviation=\"\" stitchTiles=\"\" surfaceScale=\"\" systemLanguage=\"\" tableValues=\"\" targetX=\"\" targetY=\"\" textLength=\"\" viewBox=\"\" viewTarget=\"\" xChannelSelector=\"\" yChannelSelector=\"\" zoomAndPan=\"\"></svg></body></html>", + "noQuirksBodyHtml": "<svg attributeName=\"\" attributeType=\"\" baseFrequency=\"\" baseProfile=\"\" calcMode=\"\" clipPathUnits=\"\" diffuseConstant=\"\" edgeMode=\"\" filterUnits=\"\" glyphRef=\"\" gradientTransform=\"\" gradientUnits=\"\" kernelMatrix=\"\" kernelUnitLength=\"\" keyPoints=\"\" keySplines=\"\" keyTimes=\"\" lengthAdjust=\"\" limitingConeAngle=\"\" markerHeight=\"\" markerUnits=\"\" markerWidth=\"\" maskContentUnits=\"\" maskUnits=\"\" numOctaves=\"\" pathLength=\"\" patternContentUnits=\"\" patternTransform=\"\" patternUnits=\"\" pointsAtX=\"\" pointsAtY=\"\" pointsAtZ=\"\" preserveAlpha=\"\" preserveAspectRatio=\"\" primitiveUnits=\"\" refX=\"\" refY=\"\" repeatCount=\"\" repeatDur=\"\" requiredExtensions=\"\" requiredFeatures=\"\" specularConstant=\"\" specularExponent=\"\" spreadMethod=\"\" startOffset=\"\" stdDeviation=\"\" stitchTiles=\"\" surfaceScale=\"\" systemLanguage=\"\" tableValues=\"\" targetX=\"\" targetY=\"\" textLength=\"\" viewBox=\"\" viewTarget=\"\" xChannelSelector=\"\" yChannelSelector=\"\" zoomAndPan=\"\"></svg>" + } + }, + { + "data": "<!DOCTYPE html><BODY><SVG ATTRIBUTENAME='' ATTRIBUTETYPE='' BASEFREQUENCY='' BASEPROFILE='' CALCMODE='' CLIPPATHUNITS='' DIFFUSECONSTANT='' EDGEMODE='' FILTERUNITS='' GLYPHREF='' GRADIENTTRANSFORM='' GRADIENTUNITS='' KERNELMATRIX='' KERNELUNITLENGTH='' KEYPOINTS='' KEYSPLINES='' KEYTIMES='' LENGTHADJUST='' LIMITINGCONEANGLE='' MARKERHEIGHT='' MARKERUNITS='' MARKERWIDTH='' MASKCONTENTUNITS='' MASKUNITS='' NUMOCTAVES='' PATHLENGTH='' PATTERNCONTENTUNITS='' PATTERNTRANSFORM='' PATTERNUNITS='' POINTSATX='' POINTSATY='' POINTSATZ='' PRESERVEALPHA='' PRESERVEASPECTRATIO='' PRIMITIVEUNITS='' REFX='' REFY='' REPEATCOUNT='' REPEATDUR='' REQUIREDEXTENSIONS='' REQUIREDFEATURES='' SPECULARCONSTANT='' SPECULAREXPONENT='' SPREADMETHOD='' STARTOFFSET='' STDDEVIATION='' STITCHTILES='' SURFACESCALE='' SYSTEMLANGUAGE='' TABLEVALUES='' TARGETX='' TARGETY='' TEXTLENGTH='' VIEWBOX='' VIEWTARGET='' XCHANNELSELECTOR='' YCHANNELSELECTOR='' ZOOMANDPAN=''></SVG>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "attrs": [ + { + "name": "attributeName", + "value": "" + }, + { + "name": "attributeType", + "value": "" + }, + { + "name": "baseFrequency", + "value": "" + }, + { + "name": "baseProfile", + "value": "" + }, + { + "name": "calcMode", + "value": "" + }, + { + "name": "clipPathUnits", + "value": "" + }, + { + "name": "diffuseConstant", + "value": "" + }, + { + "name": "edgeMode", + "value": "" + }, + { + "name": "filterUnits", + "value": "" + }, + { + "name": "glyphRef", + "value": "" + }, + { + "name": "gradientTransform", + "value": "" + }, + { + "name": "gradientUnits", + "value": "" + }, + { + "name": "kernelMatrix", + "value": "" + }, + { + "name": "kernelUnitLength", + "value": "" + }, + { + "name": "keyPoints", + "value": "" + }, + { + "name": "keySplines", + "value": "" + }, + { + "name": "keyTimes", + "value": "" + }, + { + "name": "lengthAdjust", + "value": "" + }, + { + "name": "limitingConeAngle", + "value": "" + }, + { + "name": "markerHeight", + "value": "" + }, + { + "name": "markerUnits", + "value": "" + }, + { + "name": "markerWidth", + "value": "" + }, + { + "name": "maskContentUnits", + "value": "" + }, + { + "name": "maskUnits", + "value": "" + }, + { + "name": "numOctaves", + "value": "" + }, + { + "name": "pathLength", + "value": "" + }, + { + "name": "patternContentUnits", + "value": "" + }, + { + "name": "patternTransform", + "value": "" + }, + { + "name": "patternUnits", + "value": "" + }, + { + "name": "pointsAtX", + "value": "" + }, + { + "name": "pointsAtY", + "value": "" + }, + { + "name": "pointsAtZ", + "value": "" + }, + { + "name": "preserveAlpha", + "value": "" + }, + { + "name": "preserveAspectRatio", + "value": "" + }, + { + "name": "primitiveUnits", + "value": "" + }, + { + "name": "refX", + "value": "" + }, + { + "name": "refY", + "value": "" + }, + { + "name": "repeatCount", + "value": "" + }, + { + "name": "repeatDur", + "value": "" + }, + { + "name": "requiredExtensions", + "value": "" + }, + { + "name": "requiredFeatures", + "value": "" + }, + { + "name": "specularConstant", + "value": "" + }, + { + "name": "specularExponent", + "value": "" + }, + { + "name": "spreadMethod", + "value": "" + }, + { + "name": "startOffset", + "value": "" + }, + { + "name": "stdDeviation", + "value": "" + }, + { + "name": "stitchTiles", + "value": "" + }, + { + "name": "surfaceScale", + "value": "" + }, + { + "name": "systemLanguage", + "value": "" + }, + { + "name": "tableValues", + "value": "" + }, + { + "name": "targetX", + "value": "" + }, + { + "name": "targetY", + "value": "" + }, + { + "name": "textLength", + "value": "" + }, + { + "name": "viewBox", + "value": "" + }, + { + "name": "viewTarget", + "value": "" + }, + { + "name": "xChannelSelector", + "value": "" + }, + { + "name": "yChannelSelector", + "value": "" + }, + { + "name": "zoomAndPan", + "value": "" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg attributeName=\"\" attributeType=\"\" baseFrequency=\"\" baseProfile=\"\" calcMode=\"\" clipPathUnits=\"\" diffuseConstant=\"\" edgeMode=\"\" filterUnits=\"\" glyphRef=\"\" gradientTransform=\"\" gradientUnits=\"\" kernelMatrix=\"\" kernelUnitLength=\"\" keyPoints=\"\" keySplines=\"\" keyTimes=\"\" lengthAdjust=\"\" limitingConeAngle=\"\" markerHeight=\"\" markerUnits=\"\" markerWidth=\"\" maskContentUnits=\"\" maskUnits=\"\" numOctaves=\"\" pathLength=\"\" patternContentUnits=\"\" patternTransform=\"\" patternUnits=\"\" pointsAtX=\"\" pointsAtY=\"\" pointsAtZ=\"\" preserveAlpha=\"\" preserveAspectRatio=\"\" primitiveUnits=\"\" refX=\"\" refY=\"\" repeatCount=\"\" repeatDur=\"\" requiredExtensions=\"\" requiredFeatures=\"\" specularConstant=\"\" specularExponent=\"\" spreadMethod=\"\" startOffset=\"\" stdDeviation=\"\" stitchTiles=\"\" surfaceScale=\"\" systemLanguage=\"\" tableValues=\"\" targetX=\"\" targetY=\"\" textLength=\"\" viewBox=\"\" viewTarget=\"\" xChannelSelector=\"\" yChannelSelector=\"\" zoomAndPan=\"\"></svg></body></html>", + "noQuirksBodyHtml": "<svg attributeName=\"\" attributeType=\"\" baseFrequency=\"\" baseProfile=\"\" calcMode=\"\" clipPathUnits=\"\" diffuseConstant=\"\" edgeMode=\"\" filterUnits=\"\" glyphRef=\"\" gradientTransform=\"\" gradientUnits=\"\" kernelMatrix=\"\" kernelUnitLength=\"\" keyPoints=\"\" keySplines=\"\" keyTimes=\"\" lengthAdjust=\"\" limitingConeAngle=\"\" markerHeight=\"\" markerUnits=\"\" markerWidth=\"\" maskContentUnits=\"\" maskUnits=\"\" numOctaves=\"\" pathLength=\"\" patternContentUnits=\"\" patternTransform=\"\" patternUnits=\"\" pointsAtX=\"\" pointsAtY=\"\" pointsAtZ=\"\" preserveAlpha=\"\" preserveAspectRatio=\"\" primitiveUnits=\"\" refX=\"\" refY=\"\" repeatCount=\"\" repeatDur=\"\" requiredExtensions=\"\" requiredFeatures=\"\" specularConstant=\"\" specularExponent=\"\" spreadMethod=\"\" startOffset=\"\" stdDeviation=\"\" stitchTiles=\"\" surfaceScale=\"\" systemLanguage=\"\" tableValues=\"\" targetX=\"\" targetY=\"\" textLength=\"\" viewBox=\"\" viewTarget=\"\" xChannelSelector=\"\" yChannelSelector=\"\" zoomAndPan=\"\"></svg>" + } + }, + { + "data": "<!DOCTYPE html><body><svg attributename='' attributetype='' basefrequency='' baseprofile='' calcmode='' clippathunits='' diffuseconstant='' edgemode='' filterunits='' filterres='' glyphref='' gradienttransform='' gradientunits='' kernelmatrix='' kernelunitlength='' keypoints='' keysplines='' keytimes='' lengthadjust='' limitingconeangle='' markerheight='' markerunits='' markerwidth='' maskcontentunits='' maskunits='' numoctaves='' pathlength='' patterncontentunits='' patterntransform='' patternunits='' pointsatx='' pointsaty='' pointsatz='' preservealpha='' preserveaspectratio='' primitiveunits='' refx='' refy='' repeatcount='' repeatdur='' requiredextensions='' requiredfeatures='' specularconstant='' specularexponent='' spreadmethod='' startoffset='' stddeviation='' stitchtiles='' surfacescale='' systemlanguage='' tablevalues='' targetx='' targety='' textlength='' viewbox='' viewtarget='' xchannelselector='' ychannelselector='' zoomandpan=''></svg>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "attrs": [ + { + "name": "attributeName", + "value": "" + }, + { + "name": "attributeType", + "value": "" + }, + { + "name": "baseFrequency", + "value": "" + }, + { + "name": "baseProfile", + "value": "" + }, + { + "name": "calcMode", + "value": "" + }, + { + "name": "clipPathUnits", + "value": "" + }, + { + "name": "diffuseConstant", + "value": "" + }, + { + "name": "edgeMode", + "value": "" + }, + { + "name": "filterUnits", + "value": "" + }, + { + "name": "filterres", + "value": "" + }, + { + "name": "glyphRef", + "value": "" + }, + { + "name": "gradientTransform", + "value": "" + }, + { + "name": "gradientUnits", + "value": "" + }, + { + "name": "kernelMatrix", + "value": "" + }, + { + "name": "kernelUnitLength", + "value": "" + }, + { + "name": "keyPoints", + "value": "" + }, + { + "name": "keySplines", + "value": "" + }, + { + "name": "keyTimes", + "value": "" + }, + { + "name": "lengthAdjust", + "value": "" + }, + { + "name": "limitingConeAngle", + "value": "" + }, + { + "name": "markerHeight", + "value": "" + }, + { + "name": "markerUnits", + "value": "" + }, + { + "name": "markerWidth", + "value": "" + }, + { + "name": "maskContentUnits", + "value": "" + }, + { + "name": "maskUnits", + "value": "" + }, + { + "name": "numOctaves", + "value": "" + }, + { + "name": "pathLength", + "value": "" + }, + { + "name": "patternContentUnits", + "value": "" + }, + { + "name": "patternTransform", + "value": "" + }, + { + "name": "patternUnits", + "value": "" + }, + { + "name": "pointsAtX", + "value": "" + }, + { + "name": "pointsAtY", + "value": "" + }, + { + "name": "pointsAtZ", + "value": "" + }, + { + "name": "preserveAlpha", + "value": "" + }, + { + "name": "preserveAspectRatio", + "value": "" + }, + { + "name": "primitiveUnits", + "value": "" + }, + { + "name": "refX", + "value": "" + }, + { + "name": "refY", + "value": "" + }, + { + "name": "repeatCount", + "value": "" + }, + { + "name": "repeatDur", + "value": "" + }, + { + "name": "requiredExtensions", + "value": "" + }, + { + "name": "requiredFeatures", + "value": "" + }, + { + "name": "specularConstant", + "value": "" + }, + { + "name": "specularExponent", + "value": "" + }, + { + "name": "spreadMethod", + "value": "" + }, + { + "name": "startOffset", + "value": "" + }, + { + "name": "stdDeviation", + "value": "" + }, + { + "name": "stitchTiles", + "value": "" + }, + { + "name": "surfaceScale", + "value": "" + }, + { + "name": "systemLanguage", + "value": "" + }, + { + "name": "tableValues", + "value": "" + }, + { + "name": "targetX", + "value": "" + }, + { + "name": "targetY", + "value": "" + }, + { + "name": "textLength", + "value": "" + }, + { + "name": "viewBox", + "value": "" + }, + { + "name": "viewTarget", + "value": "" + }, + { + "name": "xChannelSelector", + "value": "" + }, + { + "name": "yChannelSelector", + "value": "" + }, + { + "name": "zoomAndPan", + "value": "" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg attributeName=\"\" attributeType=\"\" baseFrequency=\"\" baseProfile=\"\" calcMode=\"\" clipPathUnits=\"\" diffuseConstant=\"\" edgeMode=\"\" filterUnits=\"\" filterres=\"\" glyphRef=\"\" gradientTransform=\"\" gradientUnits=\"\" kernelMatrix=\"\" kernelUnitLength=\"\" keyPoints=\"\" keySplines=\"\" keyTimes=\"\" lengthAdjust=\"\" limitingConeAngle=\"\" markerHeight=\"\" markerUnits=\"\" markerWidth=\"\" maskContentUnits=\"\" maskUnits=\"\" numOctaves=\"\" pathLength=\"\" patternContentUnits=\"\" patternTransform=\"\" patternUnits=\"\" pointsAtX=\"\" pointsAtY=\"\" pointsAtZ=\"\" preserveAlpha=\"\" preserveAspectRatio=\"\" primitiveUnits=\"\" refX=\"\" refY=\"\" repeatCount=\"\" repeatDur=\"\" requiredExtensions=\"\" requiredFeatures=\"\" specularConstant=\"\" specularExponent=\"\" spreadMethod=\"\" startOffset=\"\" stdDeviation=\"\" stitchTiles=\"\" surfaceScale=\"\" systemLanguage=\"\" tableValues=\"\" targetX=\"\" targetY=\"\" textLength=\"\" viewBox=\"\" viewTarget=\"\" xChannelSelector=\"\" yChannelSelector=\"\" zoomAndPan=\"\"></svg></body></html>", + "noQuirksBodyHtml": "<svg attributeName=\"\" attributeType=\"\" baseFrequency=\"\" baseProfile=\"\" calcMode=\"\" clipPathUnits=\"\" diffuseConstant=\"\" edgeMode=\"\" filterUnits=\"\" filterres=\"\" glyphRef=\"\" gradientTransform=\"\" gradientUnits=\"\" kernelMatrix=\"\" kernelUnitLength=\"\" keyPoints=\"\" keySplines=\"\" keyTimes=\"\" lengthAdjust=\"\" limitingConeAngle=\"\" markerHeight=\"\" markerUnits=\"\" markerWidth=\"\" maskContentUnits=\"\" maskUnits=\"\" numOctaves=\"\" pathLength=\"\" patternContentUnits=\"\" patternTransform=\"\" patternUnits=\"\" pointsAtX=\"\" pointsAtY=\"\" pointsAtZ=\"\" preserveAlpha=\"\" preserveAspectRatio=\"\" primitiveUnits=\"\" refX=\"\" refY=\"\" repeatCount=\"\" repeatDur=\"\" requiredExtensions=\"\" requiredFeatures=\"\" specularConstant=\"\" specularExponent=\"\" spreadMethod=\"\" startOffset=\"\" stdDeviation=\"\" stitchTiles=\"\" surfaceScale=\"\" systemLanguage=\"\" tableValues=\"\" targetX=\"\" targetY=\"\" textLength=\"\" viewBox=\"\" viewTarget=\"\" xChannelSelector=\"\" yChannelSelector=\"\" zoomAndPan=\"\"></svg>" + } + }, + { + "data": "<!DOCTYPE html><body><math attributeName='' attributeType='' baseFrequency='' baseProfile='' calcMode='' clipPathUnits='' diffuseConstant='' edgeMode='' filterUnits='' glyphRef='' gradientTransform='' gradientUnits='' kernelMatrix='' kernelUnitLength='' keyPoints='' keySplines='' keyTimes='' lengthAdjust='' limitingConeAngle='' markerHeight='' markerUnits='' markerWidth='' maskContentUnits='' maskUnits='' numOctaves='' pathLength='' patternContentUnits='' patternTransform='' patternUnits='' pointsAtX='' pointsAtY='' pointsAtZ='' preserveAlpha='' preserveAspectRatio='' primitiveUnits='' refX='' refY='' repeatCount='' repeatDur='' requiredExtensions='' requiredFeatures='' specularConstant='' specularExponent='' spreadMethod='' startOffset='' stdDeviation='' stitchTiles='' surfaceScale='' systemLanguage='' tableValues='' targetX='' targetY='' textLength='' viewBox='' viewTarget='' xChannelSelector='' yChannelSelector='' zoomAndPan=''></math>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "attrs": [ + { + "name": "attributename", + "value": "" + }, + { + "name": "attributetype", + "value": "" + }, + { + "name": "basefrequency", + "value": "" + }, + { + "name": "baseprofile", + "value": "" + }, + { + "name": "calcmode", + "value": "" + }, + { + "name": "clippathunits", + "value": "" + }, + { + "name": "diffuseconstant", + "value": "" + }, + { + "name": "edgemode", + "value": "" + }, + { + "name": "filterunits", + "value": "" + }, + { + "name": "glyphref", + "value": "" + }, + { + "name": "gradienttransform", + "value": "" + }, + { + "name": "gradientunits", + "value": "" + }, + { + "name": "kernelmatrix", + "value": "" + }, + { + "name": "kernelunitlength", + "value": "" + }, + { + "name": "keypoints", + "value": "" + }, + { + "name": "keysplines", + "value": "" + }, + { + "name": "keytimes", + "value": "" + }, + { + "name": "lengthadjust", + "value": "" + }, + { + "name": "limitingconeangle", + "value": "" + }, + { + "name": "markerheight", + "value": "" + }, + { + "name": "markerunits", + "value": "" + }, + { + "name": "markerwidth", + "value": "" + }, + { + "name": "maskcontentunits", + "value": "" + }, + { + "name": "maskunits", + "value": "" + }, + { + "name": "numoctaves", + "value": "" + }, + { + "name": "pathlength", + "value": "" + }, + { + "name": "patterncontentunits", + "value": "" + }, + { + "name": "patterntransform", + "value": "" + }, + { + "name": "patternunits", + "value": "" + }, + { + "name": "pointsatx", + "value": "" + }, + { + "name": "pointsaty", + "value": "" + }, + { + "name": "pointsatz", + "value": "" + }, + { + "name": "preservealpha", + "value": "" + }, + { + "name": "preserveaspectratio", + "value": "" + }, + { + "name": "primitiveunits", + "value": "" + }, + { + "name": "refx", + "value": "" + }, + { + "name": "refy", + "value": "" + }, + { + "name": "repeatcount", + "value": "" + }, + { + "name": "repeatdur", + "value": "" + }, + { + "name": "requiredextensions", + "value": "" + }, + { + "name": "requiredfeatures", + "value": "" + }, + { + "name": "specularconstant", + "value": "" + }, + { + "name": "specularexponent", + "value": "" + }, + { + "name": "spreadmethod", + "value": "" + }, + { + "name": "startoffset", + "value": "" + }, + { + "name": "stddeviation", + "value": "" + }, + { + "name": "stitchtiles", + "value": "" + }, + { + "name": "surfacescale", + "value": "" + }, + { + "name": "systemlanguage", + "value": "" + }, + { + "name": "tablevalues", + "value": "" + }, + { + "name": "targetx", + "value": "" + }, + { + "name": "targety", + "value": "" + }, + { + "name": "textlength", + "value": "" + }, + { + "name": "viewbox", + "value": "" + }, + { + "name": "viewtarget", + "value": "" + }, + { + "name": "xchannelselector", + "value": "" + }, + { + "name": "ychannelselector", + "value": "" + }, + { + "name": "zoomandpan", + "value": "" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math attributename=\"\" attributetype=\"\" basefrequency=\"\" baseprofile=\"\" calcmode=\"\" clippathunits=\"\" diffuseconstant=\"\" edgemode=\"\" filterunits=\"\" glyphref=\"\" gradienttransform=\"\" gradientunits=\"\" kernelmatrix=\"\" kernelunitlength=\"\" keypoints=\"\" keysplines=\"\" keytimes=\"\" lengthadjust=\"\" limitingconeangle=\"\" markerheight=\"\" markerunits=\"\" markerwidth=\"\" maskcontentunits=\"\" maskunits=\"\" numoctaves=\"\" pathlength=\"\" patterncontentunits=\"\" patterntransform=\"\" patternunits=\"\" pointsatx=\"\" pointsaty=\"\" pointsatz=\"\" preservealpha=\"\" preserveaspectratio=\"\" primitiveunits=\"\" refx=\"\" refy=\"\" repeatcount=\"\" repeatdur=\"\" requiredextensions=\"\" requiredfeatures=\"\" specularconstant=\"\" specularexponent=\"\" spreadmethod=\"\" startoffset=\"\" stddeviation=\"\" stitchtiles=\"\" surfacescale=\"\" systemlanguage=\"\" tablevalues=\"\" targetx=\"\" targety=\"\" textlength=\"\" viewbox=\"\" viewtarget=\"\" xchannelselector=\"\" ychannelselector=\"\" zoomandpan=\"\"></math></body></html>", + "noQuirksBodyHtml": "<math attributename=\"\" attributetype=\"\" basefrequency=\"\" baseprofile=\"\" calcmode=\"\" clippathunits=\"\" diffuseconstant=\"\" edgemode=\"\" filterunits=\"\" glyphref=\"\" gradienttransform=\"\" gradientunits=\"\" kernelmatrix=\"\" kernelunitlength=\"\" keypoints=\"\" keysplines=\"\" keytimes=\"\" lengthadjust=\"\" limitingconeangle=\"\" markerheight=\"\" markerunits=\"\" markerwidth=\"\" maskcontentunits=\"\" maskunits=\"\" numoctaves=\"\" pathlength=\"\" patterncontentunits=\"\" patterntransform=\"\" patternunits=\"\" pointsatx=\"\" pointsaty=\"\" pointsatz=\"\" preservealpha=\"\" preserveaspectratio=\"\" primitiveunits=\"\" refx=\"\" refy=\"\" repeatcount=\"\" repeatdur=\"\" requiredextensions=\"\" requiredfeatures=\"\" specularconstant=\"\" specularexponent=\"\" spreadmethod=\"\" startoffset=\"\" stddeviation=\"\" stitchtiles=\"\" surfacescale=\"\" systemlanguage=\"\" tablevalues=\"\" targetx=\"\" targety=\"\" textlength=\"\" viewbox=\"\" viewtarget=\"\" xchannelselector=\"\" ychannelselector=\"\" zoomandpan=\"\"></math>" + } + }, + { + "data": "<!DOCTYPE html><body><svg contentScriptType='' contentStyleType='' externalResourcesRequired='' filterRes=''></svg>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "attrs": [ + { + "name": "contentscripttype", + "value": "" + }, + { + "name": "contentstyletype", + "value": "" + }, + { + "name": "externalresourcesrequired", + "value": "" + }, + { + "name": "filterres", + "value": "" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg contentscripttype=\"\" contentstyletype=\"\" externalresourcesrequired=\"\" filterres=\"\"></svg></body></html>", + "noQuirksBodyHtml": "<svg contentScriptType=\"\" contentStyleType=\"\" externalResourcesRequired=\"\" filterres=\"\"></svg>" + } + }, + { + "data": "<!DOCTYPE html><body><svg CONTENTSCRIPTTYPE='' CONTENTSTYLETYPE='' EXTERNALRESOURCESREQUIRED='' FILTERRES=''></svg>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "attrs": [ + { + "name": "contentscripttype", + "value": "" + }, + { + "name": "contentstyletype", + "value": "" + }, + { + "name": "externalresourcesrequired", + "value": "" + }, + { + "name": "filterres", + "value": "" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg contentscripttype=\"\" contentstyletype=\"\" externalresourcesrequired=\"\" filterres=\"\"></svg></body></html>", + "noQuirksBodyHtml": "<svg contentScriptType=\"\" contentStyleType=\"\" externalResourcesRequired=\"\" filterres=\"\"></svg>" + } + }, + { + "data": "<!DOCTYPE html><body><svg contentscripttype='' contentstyletype='' externalresourcesrequired='' filterres=''></svg>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "attrs": [ + { + "name": "contentscripttype", + "value": "" + }, + { + "name": "contentstyletype", + "value": "" + }, + { + "name": "externalresourcesrequired", + "value": "" + }, + { + "name": "filterres", + "value": "" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg contentscripttype=\"\" contentstyletype=\"\" externalresourcesrequired=\"\" filterres=\"\"></svg></body></html>", + "noQuirksBodyHtml": "<svg contentScriptType=\"\" contentStyleType=\"\" externalResourcesRequired=\"\" filterres=\"\"></svg>" + } + }, + { + "data": "<!DOCTYPE html><body><math contentScriptType='' contentStyleType='' externalResourcesRequired='' filterRes=''></math>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "attrs": [ + { + "name": "contentscripttype", + "value": "" + }, + { + "name": "contentstyletype", + "value": "" + }, + { + "name": "externalresourcesrequired", + "value": "" + }, + { + "name": "filterres", + "value": "" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math contentscripttype=\"\" contentstyletype=\"\" externalresourcesrequired=\"\" filterres=\"\"></math></body></html>", + "noQuirksBodyHtml": "<math contentscripttype=\"\" contentstyletype=\"\" externalresourcesrequired=\"\" filterres=\"\"></math>" + } + }, + { + "data": "<!DOCTYPE html><body><svg><altGlyph /><altGlyphDef /><altGlyphItem /><animateColor /><animateMotion /><animateTransform /><clipPath /><feBlend /><feColorMatrix /><feComponentTransfer /><feComposite /><feConvolveMatrix /><feDiffuseLighting /><feDisplacementMap /><feDistantLight /><feFlood /><feFuncA /><feFuncB /><feFuncG /><feFuncR /><feGaussianBlur /><feImage /><feMerge /><feMergeNode /><feMorphology /><feOffset /><fePointLight /><feSpecularLighting /><feSpotLight /><feTile /><feTurbulence /><foreignObject /><glyphRef /><linearGradient /><radialGradient /><textPath /></svg>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg altGlyph": true, + "svg altGlyphDef": true, + "svg altGlyphItem": true, + "svg animateColor": true, + "svg animateMotion": true, + "svg animateTransform": true, + "svg clipPath": true, + "svg feBlend": true, + "svg feColorMatrix": true, + "svg feComponentTransfer": true, + "svg feComposite": true, + "svg feConvolveMatrix": true, + "svg feDiffuseLighting": true, + "svg feDisplacementMap": true, + "svg feDistantLight": true, + "svg feFlood": true, + "svg feFuncA": true, + "svg feFuncB": true, + "svg feFuncG": true, + "svg feFuncR": true, + "svg feGaussianBlur": true, + "svg feImage": true, + "svg feMerge": true, + "svg feMergeNode": true, + "svg feMorphology": true, + "svg feOffset": true, + "svg fePointLight": true, + "svg feSpecularLighting": true, + "svg feSpotLight": true, + "svg feTile": true, + "svg feTurbulence": true, + "svg foreignObject": true, + "svg glyphRef": true, + "svg linearGradient": true, + "svg radialGradient": true, + "svg textPath": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "altGlyph", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "altGlyphDef", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "altGlyphItem", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "animateColor", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "animateMotion", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "animateTransform", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "clipPath", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feBlend", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feColorMatrix", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feComponentTransfer", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feComposite", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feConvolveMatrix", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feDiffuseLighting", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feDisplacementMap", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feDistantLight", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feFlood", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feFuncA", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feFuncB", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feFuncG", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feFuncR", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feGaussianBlur", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feImage", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feMerge", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feMergeNode", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feMorphology", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feOffset", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "fePointLight", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feSpecularLighting", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feSpotLight", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feTile", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feTurbulence", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "glyphRef", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "linearGradient", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "radialGradient", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "textPath", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><altGlyph></altGlyph><altGlyphDef></altGlyphDef><altGlyphItem></altGlyphItem><animateColor></animateColor><animateMotion></animateMotion><animateTransform></animateTransform><clipPath></clipPath><feBlend></feBlend><feColorMatrix></feColorMatrix><feComponentTransfer></feComponentTransfer><feComposite></feComposite><feConvolveMatrix></feConvolveMatrix><feDiffuseLighting></feDiffuseLighting><feDisplacementMap></feDisplacementMap><feDistantLight></feDistantLight><feFlood></feFlood><feFuncA></feFuncA><feFuncB></feFuncB><feFuncG></feFuncG><feFuncR></feFuncR><feGaussianBlur></feGaussianBlur><feImage></feImage><feMerge></feMerge><feMergeNode></feMergeNode><feMorphology></feMorphology><feOffset></feOffset><fePointLight></fePointLight><feSpecularLighting></feSpecularLighting><feSpotLight></feSpotLight><feTile></feTile><feTurbulence></feTurbulence><foreignObject></foreignObject><glyphRef></glyphRef><linearGradient></linearGradient><radialGradient></radialGradient><textPath></textPath></svg></body></html>", + "noQuirksBodyHtml": "<svg><altGlyph></altGlyph><altGlyphDef></altGlyphDef><altGlyphItem></altGlyphItem><animateColor></animateColor><animateMotion></animateMotion><animateTransform></animateTransform><clipPath></clipPath><feBlend></feBlend><feColorMatrix></feColorMatrix><feComponentTransfer></feComponentTransfer><feComposite></feComposite><feConvolveMatrix></feConvolveMatrix><feDiffuseLighting></feDiffuseLighting><feDisplacementMap></feDisplacementMap><feDistantLight></feDistantLight><feFlood></feFlood><feFuncA></feFuncA><feFuncB></feFuncB><feFuncG></feFuncG><feFuncR></feFuncR><feGaussianBlur></feGaussianBlur><feImage></feImage><feMerge></feMerge><feMergeNode></feMergeNode><feMorphology></feMorphology><feOffset></feOffset><fePointLight></fePointLight><feSpecularLighting></feSpecularLighting><feSpotLight></feSpotLight><feTile></feTile><feTurbulence></feTurbulence><foreignObject></foreignObject><glyphRef></glyphRef><linearGradient></linearGradient><radialGradient></radialGradient><textPath></textPath></svg>" + } + }, + { + "data": "<!DOCTYPE html><body><svg><altglyph /><altglyphdef /><altglyphitem /><animatecolor /><animatemotion /><animatetransform /><clippath /><feblend /><fecolormatrix /><fecomponenttransfer /><fecomposite /><feconvolvematrix /><fediffuselighting /><fedisplacementmap /><fedistantlight /><feflood /><fefunca /><fefuncb /><fefuncg /><fefuncr /><fegaussianblur /><feimage /><femerge /><femergenode /><femorphology /><feoffset /><fepointlight /><fespecularlighting /><fespotlight /><fetile /><feturbulence /><foreignobject /><glyphref /><lineargradient /><radialgradient /><textpath /></svg>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg altGlyph": true, + "svg altGlyphDef": true, + "svg altGlyphItem": true, + "svg animateColor": true, + "svg animateMotion": true, + "svg animateTransform": true, + "svg clipPath": true, + "svg feBlend": true, + "svg feColorMatrix": true, + "svg feComponentTransfer": true, + "svg feComposite": true, + "svg feConvolveMatrix": true, + "svg feDiffuseLighting": true, + "svg feDisplacementMap": true, + "svg feDistantLight": true, + "svg feFlood": true, + "svg feFuncA": true, + "svg feFuncB": true, + "svg feFuncG": true, + "svg feFuncR": true, + "svg feGaussianBlur": true, + "svg feImage": true, + "svg feMerge": true, + "svg feMergeNode": true, + "svg feMorphology": true, + "svg feOffset": true, + "svg fePointLight": true, + "svg feSpecularLighting": true, + "svg feSpotLight": true, + "svg feTile": true, + "svg feTurbulence": true, + "svg foreignObject": true, + "svg glyphRef": true, + "svg linearGradient": true, + "svg radialGradient": true, + "svg textPath": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "altGlyph", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "altGlyphDef", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "altGlyphItem", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "animateColor", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "animateMotion", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "animateTransform", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "clipPath", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feBlend", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feColorMatrix", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feComponentTransfer", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feComposite", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feConvolveMatrix", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feDiffuseLighting", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feDisplacementMap", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feDistantLight", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feFlood", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feFuncA", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feFuncB", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feFuncG", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feFuncR", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feGaussianBlur", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feImage", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feMerge", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feMergeNode", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feMorphology", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feOffset", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "fePointLight", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feSpecularLighting", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feSpotLight", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feTile", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feTurbulence", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "glyphRef", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "linearGradient", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "radialGradient", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "textPath", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><altGlyph></altGlyph><altGlyphDef></altGlyphDef><altGlyphItem></altGlyphItem><animateColor></animateColor><animateMotion></animateMotion><animateTransform></animateTransform><clipPath></clipPath><feBlend></feBlend><feColorMatrix></feColorMatrix><feComponentTransfer></feComponentTransfer><feComposite></feComposite><feConvolveMatrix></feConvolveMatrix><feDiffuseLighting></feDiffuseLighting><feDisplacementMap></feDisplacementMap><feDistantLight></feDistantLight><feFlood></feFlood><feFuncA></feFuncA><feFuncB></feFuncB><feFuncG></feFuncG><feFuncR></feFuncR><feGaussianBlur></feGaussianBlur><feImage></feImage><feMerge></feMerge><feMergeNode></feMergeNode><feMorphology></feMorphology><feOffset></feOffset><fePointLight></fePointLight><feSpecularLighting></feSpecularLighting><feSpotLight></feSpotLight><feTile></feTile><feTurbulence></feTurbulence><foreignObject></foreignObject><glyphRef></glyphRef><linearGradient></linearGradient><radialGradient></radialGradient><textPath></textPath></svg></body></html>", + "noQuirksBodyHtml": "<svg><altGlyph></altGlyph><altGlyphDef></altGlyphDef><altGlyphItem></altGlyphItem><animateColor></animateColor><animateMotion></animateMotion><animateTransform></animateTransform><clipPath></clipPath><feBlend></feBlend><feColorMatrix></feColorMatrix><feComponentTransfer></feComponentTransfer><feComposite></feComposite><feConvolveMatrix></feConvolveMatrix><feDiffuseLighting></feDiffuseLighting><feDisplacementMap></feDisplacementMap><feDistantLight></feDistantLight><feFlood></feFlood><feFuncA></feFuncA><feFuncB></feFuncB><feFuncG></feFuncG><feFuncR></feFuncR><feGaussianBlur></feGaussianBlur><feImage></feImage><feMerge></feMerge><feMergeNode></feMergeNode><feMorphology></feMorphology><feOffset></feOffset><fePointLight></fePointLight><feSpecularLighting></feSpecularLighting><feSpotLight></feSpotLight><feTile></feTile><feTurbulence></feTurbulence><foreignObject></foreignObject><glyphRef></glyphRef><linearGradient></linearGradient><radialGradient></radialGradient><textPath></textPath></svg>" + } + }, + { + "data": "<!DOCTYPE html><BODY><SVG><ALTGLYPH /><ALTGLYPHDEF /><ALTGLYPHITEM /><ANIMATECOLOR /><ANIMATEMOTION /><ANIMATETRANSFORM /><CLIPPATH /><FEBLEND /><FECOLORMATRIX /><FECOMPONENTTRANSFER /><FECOMPOSITE /><FECONVOLVEMATRIX /><FEDIFFUSELIGHTING /><FEDISPLACEMENTMAP /><FEDISTANTLIGHT /><FEFLOOD /><FEFUNCA /><FEFUNCB /><FEFUNCG /><FEFUNCR /><FEGAUSSIANBLUR /><FEIMAGE /><FEMERGE /><FEMERGENODE /><FEMORPHOLOGY /><FEOFFSET /><FEPOINTLIGHT /><FESPECULARLIGHTING /><FESPOTLIGHT /><FETILE /><FETURBULENCE /><FOREIGNOBJECT /><GLYPHREF /><LINEARGRADIENT /><RADIALGRADIENT /><TEXTPATH /></SVG>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg altGlyph": true, + "svg altGlyphDef": true, + "svg altGlyphItem": true, + "svg animateColor": true, + "svg animateMotion": true, + "svg animateTransform": true, + "svg clipPath": true, + "svg feBlend": true, + "svg feColorMatrix": true, + "svg feComponentTransfer": true, + "svg feComposite": true, + "svg feConvolveMatrix": true, + "svg feDiffuseLighting": true, + "svg feDisplacementMap": true, + "svg feDistantLight": true, + "svg feFlood": true, + "svg feFuncA": true, + "svg feFuncB": true, + "svg feFuncG": true, + "svg feFuncR": true, + "svg feGaussianBlur": true, + "svg feImage": true, + "svg feMerge": true, + "svg feMergeNode": true, + "svg feMorphology": true, + "svg feOffset": true, + "svg fePointLight": true, + "svg feSpecularLighting": true, + "svg feSpotLight": true, + "svg feTile": true, + "svg feTurbulence": true, + "svg foreignObject": true, + "svg glyphRef": true, + "svg linearGradient": true, + "svg radialGradient": true, + "svg textPath": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "altGlyph", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "altGlyphDef", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "altGlyphItem", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "animateColor", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "animateMotion", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "animateTransform", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "clipPath", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feBlend", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feColorMatrix", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feComponentTransfer", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feComposite", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feConvolveMatrix", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feDiffuseLighting", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feDisplacementMap", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feDistantLight", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feFlood", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feFuncA", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feFuncB", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feFuncG", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feFuncR", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feGaussianBlur", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feImage", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feMerge", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feMergeNode", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feMorphology", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feOffset", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "fePointLight", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feSpecularLighting", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feSpotLight", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feTile", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "feTurbulence", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "glyphRef", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "linearGradient", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "radialGradient", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "textPath", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><altGlyph></altGlyph><altGlyphDef></altGlyphDef><altGlyphItem></altGlyphItem><animateColor></animateColor><animateMotion></animateMotion><animateTransform></animateTransform><clipPath></clipPath><feBlend></feBlend><feColorMatrix></feColorMatrix><feComponentTransfer></feComponentTransfer><feComposite></feComposite><feConvolveMatrix></feConvolveMatrix><feDiffuseLighting></feDiffuseLighting><feDisplacementMap></feDisplacementMap><feDistantLight></feDistantLight><feFlood></feFlood><feFuncA></feFuncA><feFuncB></feFuncB><feFuncG></feFuncG><feFuncR></feFuncR><feGaussianBlur></feGaussianBlur><feImage></feImage><feMerge></feMerge><feMergeNode></feMergeNode><feMorphology></feMorphology><feOffset></feOffset><fePointLight></fePointLight><feSpecularLighting></feSpecularLighting><feSpotLight></feSpotLight><feTile></feTile><feTurbulence></feTurbulence><foreignObject></foreignObject><glyphRef></glyphRef><linearGradient></linearGradient><radialGradient></radialGradient><textPath></textPath></svg></body></html>", + "noQuirksBodyHtml": "<svg><altGlyph></altGlyph><altGlyphDef></altGlyphDef><altGlyphItem></altGlyphItem><animateColor></animateColor><animateMotion></animateMotion><animateTransform></animateTransform><clipPath></clipPath><feBlend></feBlend><feColorMatrix></feColorMatrix><feComponentTransfer></feComponentTransfer><feComposite></feComposite><feConvolveMatrix></feConvolveMatrix><feDiffuseLighting></feDiffuseLighting><feDisplacementMap></feDisplacementMap><feDistantLight></feDistantLight><feFlood></feFlood><feFuncA></feFuncA><feFuncB></feFuncB><feFuncG></feFuncG><feFuncR></feFuncR><feGaussianBlur></feGaussianBlur><feImage></feImage><feMerge></feMerge><feMergeNode></feMergeNode><feMorphology></feMorphology><feOffset></feOffset><fePointLight></fePointLight><feSpecularLighting></feSpecularLighting><feSpotLight></feSpotLight><feTile></feTile><feTurbulence></feTurbulence><foreignObject></foreignObject><glyphRef></glyphRef><linearGradient></linearGradient><radialGradient></radialGradient><textPath></textPath></svg>" + } + }, + { + "data": "<!DOCTYPE html><body><math><altGlyph /><altGlyphDef /><altGlyphItem /><animateColor /><animateMotion /><animateTransform /><clipPath /><feBlend /><feColorMatrix /><feComponentTransfer /><feComposite /><feConvolveMatrix /><feDiffuseLighting /><feDisplacementMap /><feDistantLight /><feFlood /><feFuncA /><feFuncB /><feFuncG /><feFuncR /><feGaussianBlur /><feImage /><feMerge /><feMergeNode /><feMorphology /><feOffset /><fePointLight /><feSpecularLighting /><feSpotLight /><feTile /><feTurbulence /><foreignObject /><glyphRef /><linearGradient /><radialGradient /><textPath /></math>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math altglyph": true, + "math altglyphdef": true, + "math altglyphitem": true, + "math animatecolor": true, + "math animatemotion": true, + "math animatetransform": true, + "math clippath": true, + "math feblend": true, + "math fecolormatrix": true, + "math fecomponenttransfer": true, + "math fecomposite": true, + "math feconvolvematrix": true, + "math fediffuselighting": true, + "math fedisplacementmap": true, + "math fedistantlight": true, + "math feflood": true, + "math fefunca": true, + "math fefuncb": true, + "math fefuncg": true, + "math fefuncr": true, + "math fegaussianblur": true, + "math feimage": true, + "math femerge": true, + "math femergenode": true, + "math femorphology": true, + "math feoffset": true, + "math fepointlight": true, + "math fespecularlighting": true, + "math fespotlight": true, + "math fetile": true, + "math feturbulence": true, + "math foreignobject": true, + "math glyphref": true, + "math lineargradient": true, + "math radialgradient": true, + "math textpath": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "altglyph", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "altglyphdef", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "altglyphitem", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "animatecolor", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "animatemotion", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "animatetransform", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "clippath", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "feblend", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "fecolormatrix", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "fecomponenttransfer", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "fecomposite", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "feconvolvematrix", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "fediffuselighting", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "fedisplacementmap", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "fedistantlight", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "feflood", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "fefunca", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "fefuncb", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "fefuncg", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "fefuncr", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "fegaussianblur", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "feimage", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "femerge", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "femergenode", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "femorphology", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "feoffset", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "fepointlight", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "fespecularlighting", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "fespotlight", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "fetile", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "feturbulence", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "foreignobject", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "glyphref", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "lineargradient", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "radialgradient", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "textpath", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><altglyph></altglyph><altglyphdef></altglyphdef><altglyphitem></altglyphitem><animatecolor></animatecolor><animatemotion></animatemotion><animatetransform></animatetransform><clippath></clippath><feblend></feblend><fecolormatrix></fecolormatrix><fecomponenttransfer></fecomponenttransfer><fecomposite></fecomposite><feconvolvematrix></feconvolvematrix><fediffuselighting></fediffuselighting><fedisplacementmap></fedisplacementmap><fedistantlight></fedistantlight><feflood></feflood><fefunca></fefunca><fefuncb></fefuncb><fefuncg></fefuncg><fefuncr></fefuncr><fegaussianblur></fegaussianblur><feimage></feimage><femerge></femerge><femergenode></femergenode><femorphology></femorphology><feoffset></feoffset><fepointlight></fepointlight><fespecularlighting></fespecularlighting><fespotlight></fespotlight><fetile></fetile><feturbulence></feturbulence><foreignobject></foreignobject><glyphref></glyphref><lineargradient></lineargradient><radialgradient></radialgradient><textpath></textpath></math></body></html>", + "noQuirksBodyHtml": "<math><altglyph></altglyph><altglyphdef></altglyphdef><altglyphitem></altglyphitem><animatecolor></animatecolor><animatemotion></animatemotion><animatetransform></animatetransform><clippath></clippath><feblend></feblend><fecolormatrix></fecolormatrix><fecomponenttransfer></fecomponenttransfer><fecomposite></fecomposite><feconvolvematrix></feconvolvematrix><fediffuselighting></fediffuselighting><fedisplacementmap></fedisplacementmap><fedistantlight></fedistantlight><feflood></feflood><fefunca></fefunca><fefuncb></fefuncb><fefuncg></fefuncg><fefuncr></fefuncr><fegaussianblur></fegaussianblur><feimage></feimage><femerge></femerge><femergenode></femergenode><femorphology></femorphology><feoffset></feoffset><fepointlight></fepointlight><fespecularlighting></fespecularlighting><fespotlight></fespotlight><fetile></fetile><feturbulence></feturbulence><foreignobject></foreignobject><glyphref></glyphref><lineargradient></lineargradient><radialgradient></radialgradient><textpath></textpath></math>" + } + }, + { + "data": "<!DOCTYPE html><body><svg><solidColor /></svg>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg solidcolor": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "solidcolor", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><solidcolor></solidcolor></svg></body></html>", + "noQuirksBodyHtml": "<svg><solidcolor></solidcolor></svg>" + } + } + ], + "tests12.dat": [ + { + "data": "<!DOCTYPE html><body><p>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><P>spam<TABLE><tr><td><img></td></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "math math": true, + "math mtext": true, + "i": true, + "math annotation-xml": true, + "svg svg": true, + "svg desc": true, + "b": true, + "svg g": true, + "svg foreignObject": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "img": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "text": "foo" + }, + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mtext", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "baz" + } + ] + } + ] + }, + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "desc", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "eggs" + } + ] + } + ] + }, + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "p", + "children": [ + { + "text": "spam" + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "img" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "quux" + } + ] + } + ] + } + ] + } + ] + }, + { + "text": "bar" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><p>spam</p><table><tbody><tr><td><img></td></tr></tbody></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar</p></body></html>", + "noQuirksBodyHtml": "<p>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><p>spam</p><table><tbody><tr><td><img></td></tr></tbody></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar</p>" + } + }, + { + "data": "<!DOCTYPE html><body>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><P>spam<TABLE><tr><td><img></td></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mtext": true, + "i": true, + "math annotation-xml": true, + "svg svg": true, + "svg desc": true, + "b": true, + "svg g": true, + "svg foreignObject": true, + "p": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "img": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "foo" + }, + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mtext", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "baz" + } + ] + } + ] + }, + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "desc", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "eggs" + } + ] + } + ] + }, + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "p", + "children": [ + { + "text": "spam" + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "img" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "g", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "quux" + } + ] + } + ] + } + ] + } + ] + }, + { + "text": "bar" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><p>spam</p><table><tbody><tr><td><img></td></tr></tbody></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar</body></html>", + "noQuirksBodyHtml": "foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><p>spam</p><table><tbody><tr><td><img></td></tr></tbody></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar" + } + } + ], + "tests14.dat": [ + { + "data": "<!DOCTYPE html><html><body><xyz:abc></xyz:abc>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "xyz:abc": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "xyz:abc" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><xyz:abc></xyz:abc></body></html>", + "noQuirksBodyHtml": "<xyz:abc></xyz:abc>" + } + }, + { + "data": "<!DOCTYPE html><html><body><xyz:abc></xyz:abc><span></span>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "xyz:abc": true, + "span": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "xyz:abc" + }, + { + "tag": "span" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><xyz:abc></xyz:abc><span></span></body></html>", + "noQuirksBodyHtml": "<xyz:abc></xyz:abc><span></span>" + } + }, + { + "data": "<!DOCTYPE html><html><html abc:def=gh><xyz:abc></xyz:abc>", + "errors": [ + "(1,38): non-html-root" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "xyz:abc": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "attrs": [ + { + "name": "abc:def", + "value": "gh" + } + ], + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "xyz:abc" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html abc:def=\"gh\"><head></head><body><xyz:abc></xyz:abc></body></html>", + "noQuirksBodyHtml": "<xyz:abc></xyz:abc>" + } + }, + { + "data": "<!DOCTYPE html><html xml:lang=bar><html xml:lang=foo>", + "errors": [ + "(1,53): non-html-root" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "attrs": [ + { + "name": "xml:lang", + "value": "bar" + } + ], + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html xml:lang=\"bar\"><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE html><html 123=456>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "attrs": [ + { + "name": "123", + "value": "456" + } + ], + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html 123=\"456\"><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE html><html 123=456><html 789=012>", + "errors": [ + "(1,43): non-html-root" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "attrs": [ + { + "name": "123", + "value": "456" + }, + { + "name": "789", + "value": "012" + } + ], + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html 123=\"456\" 789=\"012\"><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE html><html><body 789=012>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "attrs": [ + { + "name": "789", + "value": "012" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body 789=\"012\"></body></html>", + "noQuirksBodyHtml": "" + } + } + ], + "tests15.dat": [ + { + "data": "<!DOCTYPE html><p><b><i><u></p> <p>X", + "errors": [ + "(1,31): unexpected-end-tag", + "(1,36): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "b": true, + "i": true, + "u": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "i", + "children": [ + { + "tag": "u" + } + ] + } + ] + } + ] + }, + { + "tag": "b", + "children": [ + { + "tag": "i", + "children": [ + { + "tag": "u", + "children": [ + { + "text": " " + }, + { + "tag": "p", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><b><i><u></u></i></b></p><b><i><u> <p>X</p></u></i></b></body></html>", + "noQuirksBodyHtml": "<p><b><i><u></u></i></b></p><b><i><u> <p>X</p></u></i></b>" + } + }, + { + "data": "<p><b><i><u></p>\n<p>X", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,16): unexpected-end-tag", + "(2,4): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "b": true, + "i": true, + "u": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "i", + "children": [ + { + "tag": "u" + } + ] + } + ] + } + ] + }, + { + "tag": "b", + "children": [ + { + "tag": "i", + "children": [ + { + "tag": "u", + "children": [ + { + "text": "\n" + }, + { + "tag": "p", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p><b><i><u></u></i></b></p><b><i><u>\n<p>X</p></u></i></b></body></html>", + "noQuirksBodyHtml": "<p><b><i><u></u></i></b></p><b><i><u>\n<p>X</p></u></i></b>" + } + }, + { + "data": "<!doctype html></html> <head>", + "errors": [ + "(1,29): expected-eof-but-got-start-tag", + "(1,29): unexpected-start-tag-ignored" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": " " + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body> </body></html>", + "noQuirksBodyHtml": " " + } + }, + { + "data": "<!doctype html></body><meta>", + "errors": [ + "(1,28): unexpected-start-tag-after-body" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "meta": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "meta" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><meta></body></html>", + "noQuirksBodyHtml": "<meta>" + } + }, + { + "data": "<html></html><!-- foo -->", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + }, + { + "comment": " foo " + } + ], + "html": "<html><head></head><body></body></html><!-- foo -->", + "noQuirksBodyHtml": "<!-- foo -->" + } + }, + { + "data": "<!doctype html></body><title>X</title>", + "errors": [ + "(1,29): unexpected-start-tag-after-body" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "title": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><title>X</title></body></html>", + "noQuirksBodyHtml": "<title>X</title>" + } + }, + { + "data": "<!doctype html><table> X<meta></table>", + "errors": [ + "(1,23): foster-parenting-character", + "(1,24): foster-parenting-character", + "(1,30): foster-parenting-start-character" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "meta": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": " X" + }, + { + "tag": "meta" + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body> X<meta><table></table></body></html>", + "noQuirksBodyHtml": " X<meta><table></table>" + } + }, + { + "data": "<!doctype html><table> x</table>", + "errors": [ + "(1,23): foster-parenting-character", + "(1,24): foster-parenting-character" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": " x" + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body> x<table></table></body></html>", + "noQuirksBodyHtml": " x<table></table>" + } + }, + { + "data": "<!doctype html><table> x </table>", + "errors": [ + "(1,23): foster-parenting-character", + "(1,24): foster-parenting-character", + "(1,25): foster-parenting-character" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": " x " + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body> x <table></table></body></html>", + "noQuirksBodyHtml": " x <table></table>" + } + }, + { + "data": "<!doctype html><table><tr> x</table>", + "errors": [ + "(1,27): foster-parenting-character", + "(1,28): foster-parenting-character" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": " x" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body> x<table><tbody><tr></tr></tbody></table></body></html>", + "noQuirksBodyHtml": " x<table><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><table>X<style> <tr>x </style> </table>", + "errors": [ + "(1,23): foster-parenting-character" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "style": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "X" + }, + { + "tag": "table", + "children": [ + { + "tag": "style", + "children": [ + { + "text": " <tr>x ", + "no_escape": true + } + ] + }, + { + "text": " " + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>X<table><style> <tr>x </style> </table></body></html>", + "noQuirksBodyHtml": "X<table><style> <tr>x </style> </table>" + } + }, + { + "data": "<!doctype html><div><table><a>foo</a> <tr><td>bar</td> </tr></table></div>", + "errors": [ + "(1,30): foster-parenting-start-tag", + "(1,31): foster-parenting-character", + "(1,32): foster-parenting-character", + "(1,33): foster-parenting-character", + "(1,37): foster-parenting-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "a": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "table", + "children": [ + { + "text": " " + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "text": "bar" + } + ] + }, + { + "text": " " + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><div><a>foo</a><table> <tbody><tr><td>bar</td> </tr></tbody></table></div></body></html>", + "noQuirksBodyHtml": "<div><a>foo</a><table> <tbody><tr><td>bar</td> </tr></tbody></table></div>" + } + }, + { + "data": "<frame></frame></frame><frameset><frame><frameset><frame></frameset><noframes></frameset><noframes>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,7): unexpected-start-tag-ignored", + "(1,15): unexpected-end-tag", + "(1,23): unexpected-end-tag", + "(1,33): unexpected-start-tag", + "(1,99): expected-named-closing-tag-but-got-eof", + "(1,99): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true, + "frame": true, + "noframes": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset", + "children": [ + { + "tag": "frame" + }, + { + "tag": "frameset", + "children": [ + { + "tag": "frame" + } + ] + }, + { + "tag": "noframes", + "children": [ + { + "text": "</frameset><noframes>", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><frameset><frame><frameset><frame></frameset><noframes></frameset><noframes></noframes></frameset></html>", + "noQuirksBodyHtml": "<noframes></frameset><noframes></noframes>" + } + }, + { + "data": "<!DOCTYPE html><object></html>", + "errors": [ + "(1,30): expected-body-in-scope", + "(1,30): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "object": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "object" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><object></object></body></html>", + "noQuirksBodyHtml": "<object></object>" + } + } + ], + "tests16.dat": [ + { + "data": "<!doctype html><script>", + "errors": [ + "(1,23): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script" + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script></script>" + } + }, + { + "data": "<!doctype html><script>a", + "errors": [ + "(1,24): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script>a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script>a</script>" + } + }, + { + "data": "<!doctype html><script><", + "errors": [ + "(1,24): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><</script>" + } + }, + { + "data": "<!doctype html><script></", + "errors": [ + "(1,25): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></</script>" + } + }, + { + "data": "<!doctype html><script></S", + "errors": [ + "(1,26): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</S", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></S</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></S</script>" + } + }, + { + "data": "<!doctype html><script></SC", + "errors": [ + "(1,27): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</SC", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></SC</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></SC</script>" + } + }, + { + "data": "<!doctype html><script></SCR", + "errors": [ + "(1,28): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</SCR", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></SCR</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></SCR</script>" + } + }, + { + "data": "<!doctype html><script></SCRI", + "errors": [ + "(1,29): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</SCRI", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></SCRI</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></SCRI</script>" + } + }, + { + "data": "<!doctype html><script></SCRIP", + "errors": [ + "(1,30): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</SCRIP", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></SCRIP</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></SCRIP</script>" + } + }, + { + "data": "<!doctype html><script></SCRIPT", + "errors": [ + "(1,31): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</SCRIPT", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></SCRIPT</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></SCRIPT</script>" + } + }, + { + "data": "<!doctype html><script></SCRIPT ", + "errors": [ + "(1,32): expected-attribute-name-but-got-eof", + "(1,32): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script" + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script></script>" + } + }, + { + "data": "<!doctype html><script></s", + "errors": [ + "(1,26): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</s", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></s</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></s</script>" + } + }, + { + "data": "<!doctype html><script></sc", + "errors": [ + "(1,27): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</sc", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></sc</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></sc</script>" + } + }, + { + "data": "<!doctype html><script></scr", + "errors": [ + "(1,28): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</scr", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></scr</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></scr</script>" + } + }, + { + "data": "<!doctype html><script></scri", + "errors": [ + "(1,29): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</scri", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></scri</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></scri</script>" + } + }, + { + "data": "<!doctype html><script></scrip", + "errors": [ + "(1,30): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</scrip", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></scrip</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></scrip</script>" + } + }, + { + "data": "<!doctype html><script></script", + "errors": [ + "(1,31): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</script", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></script</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></script</script>" + } + }, + { + "data": "<!doctype html><script></script ", + "errors": [ + "(1,32): expected-attribute-name-but-got-eof", + "(1,32): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script" + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script></script>" + } + }, + { + "data": "<!doctype html><script><!", + "errors": [ + "(1,25): expected-script-data-but-got-eof", + "(1,25): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!</script>" + } + }, + { + "data": "<!doctype html><script><!a", + "errors": [ + "(1,26): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!a</script>" + } + }, + { + "data": "<!doctype html><script><!-", + "errors": [ + "(1,26): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!-", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!-</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!-</script>" + } + }, + { + "data": "<!doctype html><script><!-a", + "errors": [ + "(1,27): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!-a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!-a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!-a</script>" + } + }, + { + "data": "<!doctype html><script><!--", + "errors": [ + "(1,27): expected-named-closing-tag-but-got-eof", + "(1,27): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--</script>" + } + }, + { + "data": "<!doctype html><script><!--a", + "errors": [ + "(1,28): expected-named-closing-tag-but-got-eof", + "(1,28): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--a</script>" + } + }, + { + "data": "<!doctype html><script><!--<", + "errors": [ + "(1,28): expected-named-closing-tag-but-got-eof", + "(1,28): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<</script>" + } + }, + { + "data": "<!doctype html><script><!--<a", + "errors": [ + "(1,29): expected-named-closing-tag-but-got-eof", + "(1,29): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<a</script>" + } + }, + { + "data": "<!doctype html><script><!--</", + "errors": [ + "(1,29): expected-named-closing-tag-but-got-eof", + "(1,29): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--</", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--</</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--</</script>" + } + }, + { + "data": "<!doctype html><script><!--</script", + "errors": [ + "(1,35): expected-named-closing-tag-but-got-eof", + "(1,35): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--</script", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--</script</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--</script</script>" + } + }, + { + "data": "<!doctype html><script><!--</script ", + "errors": [ + "(1,36): expected-attribute-name-but-got-eof", + "(1,36): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--</script>" + } + }, + { + "data": "<!doctype html><script><!--<s", + "errors": [ + "(1,29): expected-named-closing-tag-but-got-eof", + "(1,29): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<s", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<s</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<s</script>" + } + }, + { + "data": "<!doctype html><script><!--<script", + "errors": [ + "(1,34): expected-named-closing-tag-but-got-eof", + "(1,34): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script</script>" + } + }, + { + "data": "<!doctype html><script><!--<script ", + "errors": [ + "(1,35): eof-in-script-in-script", + "(1,35): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script </script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script>" + } + }, + { + "data": "<!doctype html><script><!--<script <", + "errors": [ + "(1,36): eof-in-script-in-script", + "(1,36): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script <", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script <</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script <</script>" + } + }, + { + "data": "<!doctype html><script><!--<script <a", + "errors": [ + "(1,37): eof-in-script-in-script", + "(1,37): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script <a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script <a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script <a</script>" + } + }, + { + "data": "<!doctype html><script><!--<script </", + "errors": [ + "(1,37): eof-in-script-in-script", + "(1,37): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script </</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </</script>" + } + }, + { + "data": "<!doctype html><script><!--<script </s", + "errors": [ + "(1,38): eof-in-script-in-script", + "(1,38): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </s", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script </s</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </s</script>" + } + }, + { + "data": "<!doctype html><script><!--<script </script", + "errors": [ + "(1,43): eof-in-script-in-script", + "(1,43): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script </script</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script</script>" + } + }, + { + "data": "<!doctype html><script><!--<script </scripta", + "errors": [ + "(1,44): eof-in-script-in-script", + "(1,44): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </scripta", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script </scripta</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </scripta</script>" + } + }, + { + "data": "<!doctype html><script><!--<script </script ", + "errors": [ + "(1,44): expected-named-closing-tag-but-got-eof", + "(1,44): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script </script </script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script </script>" + } + }, + { + "data": "<!doctype html><script><!--<script </script>", + "errors": [ + "(1,44): expected-named-closing-tag-but-got-eof", + "(1,44): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script </script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script></script>" + } + }, + { + "data": "<!doctype html><script><!--<script </script/", + "errors": [ + "(1,44): expected-named-closing-tag-but-got-eof", + "(1,44): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script/", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script </script/</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script/</script>" + } + }, + { + "data": "<!doctype html><script><!--<script </script <", + "errors": [ + "(1,45): expected-named-closing-tag-but-got-eof", + "(1,45): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script <", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script </script <</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script <</script>" + } + }, + { + "data": "<!doctype html><script><!--<script </script <a", + "errors": [ + "(1,46): expected-named-closing-tag-but-got-eof", + "(1,46): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script <a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script </script <a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script <a</script>" + } + }, + { + "data": "<!doctype html><script><!--<script </script </", + "errors": [ + "(1,46): expected-named-closing-tag-but-got-eof", + "(1,46): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script </", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script </script </</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script </</script>" + } + }, + { + "data": "<!doctype html><script><!--<script </script </script", + "errors": [ + "(1,52): expected-named-closing-tag-but-got-eof", + "(1,52): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script </script", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script </script </script</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script </script</script>" + } + }, + { + "data": "<!doctype html><script><!--<script </script </script ", + "errors": [ + "(1,53): expected-attribute-name-but-got-eof", + "(1,53): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script </script </script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script </script>" + } + }, + { + "data": "<!doctype html><script><!--<script </script </script/", + "errors": [ + "(1,53): unexpected-EOF-after-solidus-in-tag", + "(1,53): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script </script </script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script </script>" + } + }, + { + "data": "<!doctype html><script><!--<script </script </script>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script </script </script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script </script>" + } + }, + { + "data": "<!doctype html><script><!--<script -", + "errors": [ + "(1,36): eof-in-script-in-script", + "(1,36): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script -", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script -</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script -</script>" + } + }, + { + "data": "<!doctype html><script><!--<script -a", + "errors": [ + "(1,37): eof-in-script-in-script", + "(1,37): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script -a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script -a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script -a</script>" + } + }, + { + "data": "<!doctype html><script><!--<script -<", + "errors": [ + "(1,37): eof-in-script-in-script", + "(1,37): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script -<", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script -<</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script -<</script>" + } + }, + { + "data": "<!doctype html><script><!--<script --", + "errors": [ + "(1,37): eof-in-script-in-script", + "(1,37): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script --", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script --</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --</script>" + } + }, + { + "data": "<!doctype html><script><!--<script --a", + "errors": [ + "(1,38): eof-in-script-in-script", + "(1,38): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script --a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script --a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --a</script>" + } + }, + { + "data": "<!doctype html><script><!--<script --<", + "errors": [ + "(1,38): eof-in-script-in-script", + "(1,38): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script --<", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script --<</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --<</script>" + } + }, + { + "data": "<!doctype html><script><!--<script -->", + "errors": [ + "(1,38): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script -->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script --></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --></script>" + } + }, + { + "data": "<!doctype html><script><!--<script --><", + "errors": [ + "(1,39): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script --><", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script --><</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --><</script>" + } + }, + { + "data": "<!doctype html><script><!--<script --></", + "errors": [ + "(1,40): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script --></", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script --></</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --></</script>" + } + }, + { + "data": "<!doctype html><script><!--<script --></script", + "errors": [ + "(1,46): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script --></script", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script --></script</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --></script</script>" + } + }, + { + "data": "<!doctype html><script><!--<script --></script ", + "errors": [ + "(1,47): expected-attribute-name-but-got-eof", + "(1,47): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script -->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script --></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --></script>" + } + }, + { + "data": "<!doctype html><script><!--<script --></script/", + "errors": [ + "(1,47): unexpected-EOF-after-solidus-in-tag", + "(1,47): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script -->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script --></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --></script>" + } + }, + { + "data": "<!doctype html><script><!--<script --></script>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script -->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script --></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --></script>" + } + }, + { + "data": "<!doctype html><script><!--<script><\\/script>--></script>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script><\\/script>-->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script><\\/script>--></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script><\\/script>--></script>" + } + }, + { + "data": "<!doctype html><script><!--<script></scr'+'ipt>--></script>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></scr'+'ipt>-->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script></scr'+'ipt>--></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></scr'+'ipt>--></script>" + } + }, + { + "data": "<!doctype html><script><!--<script></script><script></script></script>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></script><script></script>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script></script><script></script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></script><script></script></script>" + } + }, + { + "data": "<!doctype html><script><!--<script></script><script></script>--><!--</script>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></script><script></script>--><!--", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script></script><script></script>--><!--</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></script><script></script>--><!--</script>" + } + }, + { + "data": "<!doctype html><script><!--<script></script><script></script>-- ></script>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></script><script></script>-- >", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script></script><script></script>-- ></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></script><script></script>-- ></script>" + } + }, + { + "data": "<!doctype html><script><!--<script></script><script></script>- -></script>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></script><script></script>- ->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script></script><script></script>- -></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></script><script></script>- -></script>" + } + }, + { + "data": "<!doctype html><script><!--<script></script><script></script>- - ></script>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></script><script></script>- - >", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script></script><script></script>- - ></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></script><script></script>- - ></script>" + } + }, + { + "data": "<!doctype html><script><!--<script></script><script></script>-></script>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></script><script></script>->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script></script><script></script>-></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></script><script></script>-></script>" + } + }, + { + "data": "<!doctype html><script><!--<script>--!></script>X", + "errors": [ + "(1,49): expected-named-closing-tag-but-got-eof", + "(1,49): unexpected-EOF-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script>--!></script>X", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script>--!></script>X</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script>--!></script>X</script>" + } + }, + { + "data": "<!doctype html><script><!--<scr'+'ipt></script>--></script>", + "errors": [ + "(1,59): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<scr'+'ipt>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<scr'+'ipt></script></head><body>--></body></html>", + "noQuirksBodyHtml": "<script><!--<scr'+'ipt></script>-->" + } + }, + { + "data": "<!doctype html><script><!--<script></scr'+'ipt></script>X", + "errors": [ + "(1,57): expected-named-closing-tag-but-got-eof", + "(1,57): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></scr'+'ipt></script>X", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script><!--<script></scr'+'ipt></script>X</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></scr'+'ipt></script>X</script>" + } + }, + { + "data": "<!doctype html><style><!--<style></style>--></style>", + "errors": [ + "(1,52): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "doctype": true, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "<!--<style>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><style><!--<style></style></head><body>--></body></html>", + "noQuirksBodyHtml": "<style><!--<style></style>-->" + } + }, + { + "data": "<!doctype html><style><!--</style>X", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "<!--", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><style><!--</style></head><body>X</body></html>", + "noQuirksBodyHtml": "<style><!--</style>X" + } + }, + { + "data": "<!doctype html><style><!--...</style>...--></style>", + "errors": [ + "(1,51): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "doctype": true, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "<!--...", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "...-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><style><!--...</style></head><body>...--></body></html>", + "noQuirksBodyHtml": "<style><!--...</style>...-->" + } + }, + { + "data": "<!doctype html><style><!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style></style>X", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "<!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><style><!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style></style></head><body>X</body></html>", + "noQuirksBodyHtml": "<style><!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style></style>X" + } + }, + { + "data": "<!doctype html><style><!--...<style><!--...--!></style>--></style>", + "errors": [ + "(1,66): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "doctype": true, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "<!--...<style><!--...--!>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><style><!--...<style><!--...--!></style></head><body>--></body></html>", + "noQuirksBodyHtml": "<style><!--...<style><!--...--!></style>-->" + } + }, + { + "data": "<!doctype html><style><!--...</style><!-- --><style>@import ...</style>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "doctype": true, + "no_escape": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "<!--...", + "no_escape": true + } + ] + }, + { + "comment": " " + }, + { + "tag": "style", + "children": [ + { + "text": "@import ...", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><style><!--...</style><!-- --><style>@import ...</style></head><body></body></html>", + "noQuirksBodyHtml": "<style><!--...</style><!-- --><style>@import ...</style>" + } + }, + { + "data": "<!doctype html><style>...<style><!--...</style><!-- --></style>", + "errors": [ + "(1,63): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "doctype": true, + "no_escape": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "...<style><!--...", + "no_escape": true + } + ] + }, + { + "comment": " " + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><style>...<style><!--...</style><!-- --></head><body></body></html>", + "noQuirksBodyHtml": "<style>...<style><!--...</style><!-- -->" + } + }, + { + "data": "<!doctype html><style>...<!--[if IE]><style>...</style>X", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "...<!--[if IE]><style>...", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><style>...<!--[if IE]><style>...</style></head><body>X</body></html>", + "noQuirksBodyHtml": "<style>...<!--[if IE]><style>...</style>X" + } + }, + { + "data": "<!doctype html><title><!--<title></title>--></title>", + "errors": [ + "(1,52): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "doctype": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "<!--<title>", + "escaped": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><title><!--<title></title></head><body>--></body></html>", + "noQuirksBodyHtml": "<title><!--<title></title>-->" + } + }, + { + "data": "<!doctype html><title></title></title>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "doctype": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "</title>", + "escaped": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><title></title></title></head><body></body></html>", + "noQuirksBodyHtml": "<title></title></title>" + } + }, + { + "data": "<!doctype html><title>foo/title><link></head><body>X", + "errors": [ + "(1,52): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "doctype": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "foo/title><link></head><body>X", + "escaped": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><title>foo/title><link></head><body>X</title></head><body></body></html>", + "noQuirksBodyHtml": "<title>foo/title><link></head><body>X</title>" + } + }, + { + "data": "<!doctype html><noscript><!--<noscript></noscript>--></noscript>", + "errors": [ + "(1,64): unexpected-end-tag" + ], + "script": "on", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "doctype": true, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "text": "<!--<noscript>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><noscript><!--<noscript></noscript></head><body>--></body></html>", + "noQuirksBodyHtml": "<noscript><!--<noscript></noscript>--></noscript>" + } + }, + { + "data": "<!doctype html><noscript><!--<noscript></noscript>--></noscript>", + "errors": [], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "comment": "<noscript></noscript>" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><noscript><!--<noscript></noscript>--></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><!--<noscript></noscript>--></noscript>" + } + }, + { + "data": "<!doctype html><noscript><!--</noscript>X<noscript>--></noscript>", + "errors": [], + "script": "on", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "text": "<!--", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "X" + }, + { + "tag": "noscript", + "children": [ + { + "text": "-->", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><noscript><!--</noscript></head><body>X<noscript>--></noscript></body></html>", + "noQuirksBodyHtml": "<noscript><!--</noscript>X<noscript>--></noscript>" + } + }, + { + "data": "<!doctype html><noscript><!--</noscript>X<noscript>--></noscript>", + "errors": [], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "comment": "</noscript>X<noscript>" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><noscript><!--</noscript>X<noscript>--></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><!--</noscript>X<noscript>--></noscript>" + } + }, + { + "data": "<!doctype html><noscript><iframe></noscript>X", + "errors": [], + "script": "on", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "text": "<iframe>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><noscript><iframe></noscript></head><body>X</body></html>", + "noQuirksBodyHtml": "<noscript><iframe></noscript>X</iframe></noscript>" + } + }, + { + "data": "<!doctype html><noscript><iframe></noscript>X", + "errors": [ + " * (1,34) unexpected token in head noscript", + " * (1,46) unexpected EOF" + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true, + "iframe": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript" + } + ] + }, + { + "tag": "body", + "children": [ + { + "tag": "iframe", + "children": [ + { + "text": "</noscript>X", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><noscript></noscript></head><body><iframe></noscript>X</iframe></body></html>", + "noQuirksBodyHtml": "<noscript><iframe></noscript>X</iframe></noscript>" + } + }, + { + "data": "<!doctype html><noframes><!--<noframes></noframes>--></noframes>", + "errors": [ + "(1,64): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noframes": true, + "body": true + }, + "doctype": true, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noframes", + "children": [ + { + "text": "<!--<noframes>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><noframes><!--<noframes></noframes></head><body>--></body></html>", + "noQuirksBodyHtml": "<noframes><!--<noframes></noframes>-->" + } + }, + { + "data": "<!doctype html><noframes><body><script><!--...</script></body></noframes></html>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noframes": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noframes", + "children": [ + { + "text": "<body><script><!--...</script></body>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><noframes><body><script><!--...</script></body></noframes></head><body></body></html>", + "noQuirksBodyHtml": "<noframes><body><script><!--...</script></body></noframes>" + } + }, + { + "data": "<!doctype html><textarea><!--<textarea></textarea>--></textarea>", + "errors": [ + "(1,64): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "doctype": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea", + "children": [ + { + "text": "<!--<textarea>", + "escaped": true + } + ] + }, + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><textarea><!--<textarea></textarea>--></body></html>", + "noQuirksBodyHtml": "<textarea><!--<textarea></textarea>-->" + } + }, + { + "data": "<!doctype html><textarea></textarea></textarea>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "doctype": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea", + "children": [ + { + "text": "</textarea>", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><textarea></textarea></textarea></body></html>", + "noQuirksBodyHtml": "<textarea></textarea></textarea>" + } + }, + { + "data": "<!doctype html><textarea><</textarea>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "doctype": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea", + "children": [ + { + "text": "<", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><textarea><</textarea></body></html>", + "noQuirksBodyHtml": "<textarea><</textarea>" + } + }, + { + "data": "<!doctype html><textarea>a<b</textarea>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "doctype": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea", + "children": [ + { + "text": "a<b", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><textarea>a<b</textarea></body></html>", + "noQuirksBodyHtml": "<textarea>a<b</textarea>" + } + }, + { + "data": "<!doctype html><iframe><!--<iframe></iframe>--></iframe>", + "errors": [ + "(1,56): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "iframe": true + }, + "doctype": true, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "iframe", + "children": [ + { + "text": "<!--<iframe>", + "no_escape": true + } + ] + }, + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><iframe><!--<iframe></iframe>--></body></html>", + "noQuirksBodyHtml": "<iframe><!--<iframe></iframe>-->" + } + }, + { + "data": "<!doctype html><iframe>...<!--X->...<!--/X->...</iframe>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "iframe": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "iframe", + "children": [ + { + "text": "...<!--X->...<!--/X->...", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><iframe>...<!--X->...<!--/X->...</iframe></body></html>", + "noQuirksBodyHtml": "<iframe>...<!--X->...<!--/X->...</iframe>" + } + }, + { + "data": "<!doctype html><xmp><!--<xmp></xmp>--></xmp>", + "errors": [ + "(1,44): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "xmp": true + }, + "doctype": true, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "xmp", + "children": [ + { + "text": "<!--<xmp>", + "no_escape": true + } + ] + }, + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><xmp><!--<xmp></xmp>--></body></html>", + "noQuirksBodyHtml": "<xmp><!--<xmp></xmp>-->" + } + }, + { + "data": "<!doctype html><noembed><!--<noembed></noembed>--></noembed>", + "errors": [ + "(1,60): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "noembed": true + }, + "doctype": true, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "noembed", + "children": [ + { + "text": "<!--<noembed>", + "no_escape": true + } + ] + }, + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><noembed><!--<noembed></noembed>--></body></html>", + "noQuirksBodyHtml": "<noembed><!--<noembed></noembed>-->" + } + }, + { + "data": "<script>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,8): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script" + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script></script>" + } + }, + { + "data": "<script>a", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,9): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script>a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script>a</script>" + } + }, + { + "data": "<script><", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,9): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><</script>" + } + }, + { + "data": "<script></", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,10): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></</script>" + } + }, + { + "data": "<script></S", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,11): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</S", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></S</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></S</script>" + } + }, + { + "data": "<script></SC", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,12): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</SC", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></SC</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></SC</script>" + } + }, + { + "data": "<script></SCR", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,13): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</SCR", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></SCR</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></SCR</script>" + } + }, + { + "data": "<script></SCRI", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,14): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</SCRI", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></SCRI</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></SCRI</script>" + } + }, + { + "data": "<script></SCRIP", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,15): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</SCRIP", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></SCRIP</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></SCRIP</script>" + } + }, + { + "data": "<script></SCRIPT", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,16): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</SCRIPT", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></SCRIPT</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></SCRIPT</script>" + } + }, + { + "data": "<script></SCRIPT ", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,17): expected-attribute-name-but-got-eof", + "(1,17): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script" + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script></script>" + } + }, + { + "data": "<script></s", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,11): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</s", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></s</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></s</script>" + } + }, + { + "data": "<script></sc", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,12): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</sc", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></sc</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></sc</script>" + } + }, + { + "data": "<script></scr", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,13): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</scr", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></scr</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></scr</script>" + } + }, + { + "data": "<script></scri", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,14): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</scri", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></scri</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></scri</script>" + } + }, + { + "data": "<script></scrip", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,15): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</scrip", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></scrip</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></scrip</script>" + } + }, + { + "data": "<script></script", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,16): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</script", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></script</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></script</script>" + } + }, + { + "data": "<script></script ", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,17): expected-attribute-name-but-got-eof", + "(1,17): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script" + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script></script>" + } + }, + { + "data": "<script><!", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,10): expected-script-data-but-got-eof", + "(1,10): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!</script>" + } + }, + { + "data": "<script><!a", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,11): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!a</script>" + } + }, + { + "data": "<script><!-", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,11): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!-", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!-</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!-</script>" + } + }, + { + "data": "<script><!-a", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,12): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!-a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!-a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!-a</script>" + } + }, + { + "data": "<script><!--", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,12): expected-named-closing-tag-but-got-eof", + "(1,12): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--</script>" + } + }, + { + "data": "<script><!--a", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,13): expected-named-closing-tag-but-got-eof", + "(1,13): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--a</script>" + } + }, + { + "data": "<script><!--<", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,13): expected-named-closing-tag-but-got-eof", + "(1,13): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<</script>" + } + }, + { + "data": "<script><!--<a", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,14): expected-named-closing-tag-but-got-eof", + "(1,14): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<a</script>" + } + }, + { + "data": "<script><!--</", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,14): expected-named-closing-tag-but-got-eof", + "(1,14): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--</", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--</</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--</</script>" + } + }, + { + "data": "<script><!--</script", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,20): expected-named-closing-tag-but-got-eof", + "(1,20): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--</script", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--</script</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--</script</script>" + } + }, + { + "data": "<script><!--</script ", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,21): expected-attribute-name-but-got-eof", + "(1,21): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--</script>" + } + }, + { + "data": "<script><!--<s", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,14): expected-named-closing-tag-but-got-eof", + "(1,14): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<s", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<s</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<s</script>" + } + }, + { + "data": "<script><!--<script", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,19): expected-named-closing-tag-but-got-eof", + "(1,19): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script</script>" + } + }, + { + "data": "<script><!--<script ", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,20): eof-in-script-in-script", + "(1,20): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script </script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script>" + } + }, + { + "data": "<script><!--<script <", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,21): eof-in-script-in-script", + "(1,21): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script <", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script <</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script <</script>" + } + }, + { + "data": "<script><!--<script <a", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,22): eof-in-script-in-script", + "(1,22): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script <a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script <a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script <a</script>" + } + }, + { + "data": "<script><!--<script </", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,22): eof-in-script-in-script", + "(1,22): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script </</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </</script>" + } + }, + { + "data": "<script><!--<script </s", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,23): eof-in-script-in-script", + "(1,23): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </s", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script </s</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </s</script>" + } + }, + { + "data": "<script><!--<script </script", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,28): eof-in-script-in-script", + "(1,28): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script </script</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script</script>" + } + }, + { + "data": "<script><!--<script </scripta", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,29): eof-in-script-in-script", + "(1,29): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </scripta", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script </scripta</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </scripta</script>" + } + }, + { + "data": "<script><!--<script </script ", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,29): expected-named-closing-tag-but-got-eof", + "(1,29): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script </script </script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script </script>" + } + }, + { + "data": "<script><!--<script </script>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,29): expected-named-closing-tag-but-got-eof", + "(1,29): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script </script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script></script>" + } + }, + { + "data": "<script><!--<script </script/", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,29): expected-named-closing-tag-but-got-eof", + "(1,29): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script/", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script </script/</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script/</script>" + } + }, + { + "data": "<script><!--<script </script <", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,30): expected-named-closing-tag-but-got-eof", + "(1,30): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script <", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script </script <</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script <</script>" + } + }, + { + "data": "<script><!--<script </script <a", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,31): expected-named-closing-tag-but-got-eof", + "(1,31): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script <a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script </script <a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script <a</script>" + } + }, + { + "data": "<script><!--<script </script </", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,31): expected-named-closing-tag-but-got-eof", + "(1,31): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script </", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script </script </</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script </</script>" + } + }, + { + "data": "<script><!--<script </script </script", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,37): expected-named-closing-tag-but-got-eof", + "(1,37): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script </script", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script </script </script</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script </script</script>" + } + }, + { + "data": "<script><!--<script </script </script ", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,38): expected-attribute-name-but-got-eof", + "(1,38): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script </script </script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script </script>" + } + }, + { + "data": "<script><!--<script </script </script/", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,38): unexpected-EOF-after-solidus-in-tag", + "(1,38): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script </script </script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script </script>" + } + }, + { + "data": "<script><!--<script </script </script>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script </script ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script </script </script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script </script </script>" + } + }, + { + "data": "<script><!--<script -", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,21): eof-in-script-in-script", + "(1,21): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script -", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script -</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script -</script>" + } + }, + { + "data": "<script><!--<script -a", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,22): eof-in-script-in-script", + "(1,22): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script -a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script -a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script -a</script>" + } + }, + { + "data": "<script><!--<script --", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,22): eof-in-script-in-script", + "(1,22): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script --", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script --</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --</script>" + } + }, + { + "data": "<script><!--<script --a", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,23): eof-in-script-in-script", + "(1,23): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script --a", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script --a</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --a</script>" + } + }, + { + "data": "<script><!--<script -->", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,23): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script -->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script --></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --></script>" + } + }, + { + "data": "<script><!--<script --><", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,24): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script --><", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script --><</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --><</script>" + } + }, + { + "data": "<script><!--<script --></", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,25): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script --></", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script --></</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --></</script>" + } + }, + { + "data": "<script><!--<script --></script", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,31): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script --></script", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script --></script</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --></script</script>" + } + }, + { + "data": "<script><!--<script --></script ", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,32): expected-attribute-name-but-got-eof", + "(1,32): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script -->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script --></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --></script>" + } + }, + { + "data": "<script><!--<script --></script/", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,32): unexpected-EOF-after-solidus-in-tag", + "(1,32): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script -->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script --></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --></script>" + } + }, + { + "data": "<script><!--<script --></script>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script -->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script --></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script --></script>" + } + }, + { + "data": "<script><!--<script><\\/script>--></script>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script><\\/script>-->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script><\\/script>--></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script><\\/script>--></script>" + } + }, + { + "data": "<script><!--<script></scr'+'ipt>--></script>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></scr'+'ipt>-->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script></scr'+'ipt>--></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></scr'+'ipt>--></script>" + } + }, + { + "data": "<script><!--<script></script><script></script></script>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></script><script></script>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script></script><script></script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></script><script></script></script>" + } + }, + { + "data": "<script><!--<script></script><script></script>--><!--</script>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></script><script></script>--><!--", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script></script><script></script>--><!--</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></script><script></script>--><!--</script>" + } + }, + { + "data": "<script><!--<script></script><script></script>-- ></script>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></script><script></script>-- >", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script></script><script></script>-- ></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></script><script></script>-- ></script>" + } + }, + { + "data": "<script><!--<script></script><script></script>- -></script>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></script><script></script>- ->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script></script><script></script>- -></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></script><script></script>- -></script>" + } + }, + { + "data": "<script><!--<script></script><script></script>- - ></script>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></script><script></script>- - >", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script></script><script></script>- - ></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></script><script></script>- - ></script>" + } + }, + { + "data": "<script><!--<script></script><script></script>-></script>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></script><script></script>->", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script></script><script></script>-></script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></script><script></script>-></script>" + } + }, + { + "data": "<script><!--<script>--!></script>X", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,34): expected-named-closing-tag-but-got-eof", + "(1,34): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script>--!></script>X", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script>--!></script>X</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script>--!></script>X</script>" + } + }, + { + "data": "<script><!--<scr'+'ipt></script>--></script>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,44): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<scr'+'ipt>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head><script><!--<scr'+'ipt></script></head><body>--></body></html>", + "noQuirksBodyHtml": "<script><!--<scr'+'ipt></script>-->" + } + }, + { + "data": "<script><!--<script></scr'+'ipt></script>X", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,42): expected-named-closing-tag-but-got-eof", + "(1,42): unexpected-eof-in-text-mode" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "<!--<script></scr'+'ipt></script>X", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script><!--<script></scr'+'ipt></script>X</script></head><body></body></html>", + "noQuirksBodyHtml": "<script><!--<script></scr'+'ipt></script>X</script>" + } + }, + { + "data": "<style><!--<style></style>--></style>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,37): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "<!--<style>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head><style><!--<style></style></head><body>--></body></html>", + "noQuirksBodyHtml": "<style><!--<style></style>-->" + } + }, + { + "data": "<style><!--</style>X", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "<!--", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ], + "html": "<html><head><style><!--</style></head><body>X</body></html>", + "noQuirksBodyHtml": "<style><!--</style>X" + } + }, + { + "data": "<style><!--...</style>...--></style>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,36): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "<!--...", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "...-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head><style><!--...</style></head><body>...--></body></html>", + "noQuirksBodyHtml": "<style><!--...</style>...-->" + } + }, + { + "data": "<style><!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style></style>X", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "<!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ], + "html": "<html><head><style><!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style></style></head><body>X</body></html>", + "noQuirksBodyHtml": "<style><!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style></style>X" + } + }, + { + "data": "<style><!--...<style><!--...--!></style>--></style>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,51): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "<!--...<style><!--...--!>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head><style><!--...<style><!--...--!></style></head><body>--></body></html>", + "noQuirksBodyHtml": "<style><!--...<style><!--...--!></style>-->" + } + }, + { + "data": "<style><!--...</style><!-- --><style>@import ...</style>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "no_escape": true, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "<!--...", + "no_escape": true + } + ] + }, + { + "comment": " " + }, + { + "tag": "style", + "children": [ + { + "text": "@import ...", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><style><!--...</style><!-- --><style>@import ...</style></head><body></body></html>", + "noQuirksBodyHtml": "<style><!--...</style><!-- --><style>@import ...</style>" + } + }, + { + "data": "<style>...<style><!--...</style><!-- --></style>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,48): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "no_escape": true, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "...<style><!--...", + "no_escape": true + } + ] + }, + { + "comment": " " + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><style>...<style><!--...</style><!-- --></head><body></body></html>", + "noQuirksBodyHtml": "<style>...<style><!--...</style><!-- -->" + } + }, + { + "data": "<style>...<!--[if IE]><style>...</style>X", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "...<!--[if IE]><style>...", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ], + "html": "<html><head><style>...<!--[if IE]><style>...</style></head><body>X</body></html>", + "noQuirksBodyHtml": "<style>...<!--[if IE]><style>...</style>X" + } + }, + { + "data": "<title><!--<title></title>--></title>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,37): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "<!--<title>", + "escaped": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head><title><!--<title></title></head><body>--></body></html>", + "noQuirksBodyHtml": "<title><!--<title></title>-->" + } + }, + { + "data": "<title></title></title>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "</title>", + "escaped": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><title></title></title></head><body></body></html>", + "noQuirksBodyHtml": "<title></title></title>" + } + }, + { + "data": "<title>foo/title><link></head><body>X", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,37): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "foo/title><link></head><body>X", + "escaped": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><title>foo/title><link></head><body>X</title></head><body></body></html>", + "noQuirksBodyHtml": "<title>foo/title><link></head><body>X</title>" + } + }, + { + "data": "<noscript><!--<noscript></noscript>--></noscript>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(1,49): unexpected-end-tag" + ], + "script": "on", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "text": "<!--<noscript>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head><noscript><!--<noscript></noscript></head><body>--></body></html>", + "noQuirksBodyHtml": "<noscript><!--<noscript></noscript>--></noscript>" + } + }, + { + "data": "<noscript><!--<noscript></noscript>--></noscript>", + "errors": [ + " * (1,11) missing DOCTYPE" + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "comment": "<noscript></noscript>" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript><!--<noscript></noscript>--></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><!--<noscript></noscript>--></noscript>" + } + }, + { + "data": "<noscript><!--</noscript>X<noscript>--></noscript>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag" + ], + "script": "on", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "text": "<!--", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "X" + }, + { + "tag": "noscript", + "children": [ + { + "text": "-->", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head><noscript><!--</noscript></head><body>X<noscript>--></noscript></body></html>", + "noQuirksBodyHtml": "<noscript><!--</noscript>X<noscript>--></noscript>" + } + }, + { + "data": "<noscript><!--</noscript>X<noscript>--></noscript>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag" + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "comment": "</noscript>X<noscript>" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript><!--</noscript>X<noscript>--></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><!--</noscript>X<noscript>--></noscript>" + } + }, + { + "data": "<noscript><iframe></noscript>X", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag" + ], + "script": "on", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "text": "<iframe>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ], + "html": "<html><head><noscript><iframe></noscript></head><body>X</body></html>", + "noQuirksBodyHtml": "<noscript><iframe></noscript>X</iframe></noscript>" + } + }, + { + "data": "<noscript><iframe></noscript>X", + "errors": [ + " * (1,11) missing DOCTYPE", + " * (1,19) unexpected token in head noscript", + " * (1,31) unexpected EOF" + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true, + "iframe": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript" + } + ] + }, + { + "tag": "body", + "children": [ + { + "tag": "iframe", + "children": [ + { + "text": "</noscript>X", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head><noscript></noscript></head><body><iframe></noscript>X</iframe></body></html>", + "noQuirksBodyHtml": "<noscript><iframe></noscript>X</iframe></noscript>" + } + }, + { + "data": "<noframes><!--<noframes></noframes>--></noframes>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(1,49): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noframes": true, + "body": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noframes", + "children": [ + { + "text": "<!--<noframes>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head><noframes><!--<noframes></noframes></head><body>--></body></html>", + "noQuirksBodyHtml": "<noframes><!--<noframes></noframes>-->" + } + }, + { + "data": "<noframes><body><script><!--...</script></body></noframes></html>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noframes": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noframes", + "children": [ + { + "text": "<body><script><!--...</script></body>", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noframes><body><script><!--...</script></body></noframes></head><body></body></html>", + "noQuirksBodyHtml": "<noframes><body><script><!--...</script></body></noframes>" + } + }, + { + "data": "<textarea><!--<textarea></textarea>--></textarea>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(1,49): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea", + "children": [ + { + "text": "<!--<textarea>", + "escaped": true + } + ] + }, + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body><textarea><!--<textarea></textarea>--></body></html>", + "noQuirksBodyHtml": "<textarea><!--<textarea></textarea>-->" + } + }, + { + "data": "<textarea></textarea></textarea>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea", + "children": [ + { + "text": "</textarea>", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><textarea></textarea></textarea></body></html>", + "noQuirksBodyHtml": "<textarea></textarea></textarea>" + } + }, + { + "data": "<iframe><!--<iframe></iframe>--></iframe>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,41): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "iframe": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "iframe", + "children": [ + { + "text": "<!--<iframe>", + "no_escape": true + } + ] + }, + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body><iframe><!--<iframe></iframe>--></body></html>", + "noQuirksBodyHtml": "<iframe><!--<iframe></iframe>-->" + } + }, + { + "data": "<iframe>...<!--X->...<!--/X->...</iframe>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "iframe": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "iframe", + "children": [ + { + "text": "...<!--X->...<!--/X->...", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><iframe>...<!--X->...<!--/X->...</iframe></body></html>", + "noQuirksBodyHtml": "<iframe>...<!--X->...<!--/X->...</iframe>" + } + }, + { + "data": "<xmp><!--<xmp></xmp>--></xmp>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,29): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "xmp": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "xmp", + "children": [ + { + "text": "<!--<xmp>", + "no_escape": true + } + ] + }, + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body><xmp><!--<xmp></xmp>--></body></html>", + "noQuirksBodyHtml": "<xmp><!--<xmp></xmp>-->" + } + }, + { + "data": "<noembed><!--<noembed></noembed>--></noembed>", + "errors": [ + "(1,9): expected-doctype-but-got-start-tag", + "(1,45): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "noembed": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "noembed", + "children": [ + { + "text": "<!--<noembed>", + "no_escape": true + } + ] + }, + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body><noembed><!--<noembed></noembed>--></body></html>", + "noQuirksBodyHtml": "<noembed><!--<noembed></noembed>-->" + } + }, + { + "data": "<!doctype html><table>\n", + "errors": [ + "(2,0): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "text": "\n" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table>\n</table></body></html>", + "noQuirksBodyHtml": "<table>\n</table>" + } + }, + { + "data": "<!doctype html><table><td><span><font></span><span>", + "errors": [ + "(1,26): unexpected-cell-in-table-body", + "(1,45): unexpected-end-tag", + "(1,51): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "span": true, + "font": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "span", + "children": [ + { + "tag": "font" + } + ] + }, + { + "tag": "font", + "children": [ + { + "tag": "span" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><span><font></font></span><font><span></span></font></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><span><font></font></span><font><span></span></font></td></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><form><table></form><form></table></form>", + "errors": [ + "(1,35): unexpected-end-tag-implies-table-voodoo", + "(1,35): unexpected-end-tag", + "(1,41): unexpected-form-in-table", + "(1,56): unexpected-end-tag", + "(1,56): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "form": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "form", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "form" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><form><table><form></form></table></form></body></html>", + "noQuirksBodyHtml": "<form><table><form></form></table></form>" + } + } + ], + "tests17.dat": [ + { + "data": "<!doctype html><table><tbody><select><tr>", + "errors": [ + "(1,37): unexpected-start-tag-implies-table-voodoo", + "(1,41): unexpected-table-element-start-tag-in-select-in-table", + "(1,41): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "table": true, + "tbody": true, + "tr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select></select><table><tbody><tr></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<select></select><table><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><table><tr><select><td>", + "errors": [ + "(1,34): unexpected-start-tag-implies-table-voodoo", + "(1,38): unexpected-table-element-start-tag-in-select-in-table", + "(1,38): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select></select><table><tbody><tr><td></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<select></select><table><tbody><tr><td></td></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><table><tr><td><select><td>", + "errors": [ + "(1,42): unexpected-table-element-start-tag-in-select-in-table", + "(1,42): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "select": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "select" + } + ] + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><select></select></td><td></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><select></select></td><td></td></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><table><tr><th><select><td>", + "errors": [ + "(1,42): unexpected-table-element-start-tag-in-select-in-table", + "(1,42): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "th": true, + "select": true, + "td": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "th", + "children": [ + { + "tag": "select" + } + ] + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><th><select></select></th><td></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><th><select></select></th><td></td></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><table><caption><select><tr>", + "errors": [ + "(1,43): unexpected-table-element-start-tag-in-select-in-table", + "(1,43): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true, + "select": true, + "tbody": true, + "tr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption", + "children": [ + { + "tag": "select" + } + ] + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><caption><select></select></caption><tbody><tr></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><caption><select></select></caption><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><select><tr>", + "errors": [ + "(1,27): unexpected-start-tag-in-select", + "(1,27): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>", + "noQuirksBodyHtml": "<select></select>" + } + }, + { + "data": "<!doctype html><select><td>", + "errors": [ + "(1,27): unexpected-start-tag-in-select", + "(1,27): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>", + "noQuirksBodyHtml": "<select></select>" + } + }, + { + "data": "<!doctype html><select><th>", + "errors": [ + "(1,27): unexpected-start-tag-in-select", + "(1,27): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>", + "noQuirksBodyHtml": "<select></select>" + } + }, + { + "data": "<!doctype html><select><tbody>", + "errors": [ + "(1,30): unexpected-start-tag-in-select", + "(1,30): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>", + "noQuirksBodyHtml": "<select></select>" + } + }, + { + "data": "<!doctype html><select><thead>", + "errors": [ + "(1,30): unexpected-start-tag-in-select", + "(1,30): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>", + "noQuirksBodyHtml": "<select></select>" + } + }, + { + "data": "<!doctype html><select><tfoot>", + "errors": [ + "(1,30): unexpected-start-tag-in-select", + "(1,30): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>", + "noQuirksBodyHtml": "<select></select>" + } + }, + { + "data": "<!doctype html><select><caption>", + "errors": [ + "(1,32): unexpected-start-tag-in-select", + "(1,32): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>", + "noQuirksBodyHtml": "<select></select>" + } + }, + { + "data": "<!doctype html><table><tr></table>a", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + }, + { + "text": "a" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr></tr></tbody></table>a</body></html>", + "noQuirksBodyHtml": "<table><tbody><tr></tr></tbody></table>a" + } + } + ], + "tests18.dat": [ + { + "data": "<!doctype html><plaintext></plaintext>", + "errors": [ + "(1,38): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "plaintext": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "plaintext", + "children": [ + { + "text": "</plaintext>", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><plaintext></plaintext></plaintext></body></html>", + "noQuirksBodyHtml": "<plaintext></plaintext></plaintext>" + } + }, + { + "data": "<!doctype html><table><plaintext></plaintext>", + "errors": [ + "(1,33): foster-parenting-start-tag", + "(1,34): foster-parenting-character", + "(1,35): foster-parenting-character", + "(1,36): foster-parenting-character", + "(1,37): foster-parenting-character", + "(1,38): foster-parenting-character", + "(1,39): foster-parenting-character", + "(1,40): foster-parenting-character", + "(1,41): foster-parenting-character", + "(1,42): foster-parenting-character", + "(1,43): foster-parenting-character", + "(1,44): foster-parenting-character", + "(1,45): foster-parenting-character", + "(1,45): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "plaintext": true, + "table": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "plaintext", + "children": [ + { + "text": "</plaintext>", + "no_escape": true + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><plaintext></plaintext></plaintext><table></table></body></html>", + "noQuirksBodyHtml": "<plaintext></plaintext></plaintext><table></table>" + } + }, + { + "data": "<!doctype html><table><tbody><plaintext></plaintext>", + "errors": [ + "(1,40): foster-parenting-start-tag", + "(1,41): foster-parenting-character", + "(1,41): foster-parenting-character", + "(1,41): foster-parenting-character", + "(1,41): foster-parenting-character", + "(1,41): foster-parenting-character", + "(1,41): foster-parenting-character", + "(1,41): foster-parenting-character", + "(1,41): foster-parenting-character", + "(1,41): foster-parenting-character", + "(1,41): foster-parenting-character", + "(1,41): foster-parenting-character", + "(1,41): foster-parenting-character", + "(1,52): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "plaintext": true, + "table": true, + "tbody": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "plaintext", + "children": [ + { + "text": "</plaintext>", + "no_escape": true + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><plaintext></plaintext></plaintext><table><tbody></tbody></table></body></html>", + "noQuirksBodyHtml": "<plaintext></plaintext></plaintext><table><tbody></tbody></table>" + } + }, + { + "data": "<!doctype html><table><tbody><tr><plaintext></plaintext>", + "errors": [ + "(1,44): foster-parenting-start-tag", + "(1,45): foster-parenting-character", + "(1,46): foster-parenting-character", + "(1,47): foster-parenting-character", + "(1,48): foster-parenting-character", + "(1,49): foster-parenting-character", + "(1,50): foster-parenting-character", + "(1,51): foster-parenting-character", + "(1,52): foster-parenting-character", + "(1,53): foster-parenting-character", + "(1,54): foster-parenting-character", + "(1,55): foster-parenting-character", + "(1,56): foster-parenting-character", + "(1,56): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "plaintext": true, + "table": true, + "tbody": true, + "tr": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "plaintext", + "children": [ + { + "text": "</plaintext>", + "no_escape": true + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><plaintext></plaintext></plaintext><table><tbody><tr></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<plaintext></plaintext></plaintext><table><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><table><td><plaintext></plaintext>", + "errors": [ + "(1,26): unexpected-cell-in-table-body", + "(1,49): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "plaintext": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "plaintext", + "children": [ + { + "text": "</plaintext>", + "no_escape": true + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><plaintext></plaintext></plaintext></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><plaintext></plaintext></plaintext></td></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><table><caption><plaintext></plaintext>", + "errors": [ + "(1,54): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true, + "plaintext": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption", + "children": [ + { + "tag": "plaintext", + "children": [ + { + "text": "</plaintext>", + "no_escape": true + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><caption><plaintext></plaintext></plaintext></caption></table></body></html>", + "noQuirksBodyHtml": "<table><caption><plaintext></plaintext></plaintext></caption></table>" + } + }, + { + "data": "<!doctype html><table><tr><style></script></style>abc", + "errors": [ + "(1,51): foster-parenting-character", + "(1,52): foster-parenting-character", + "(1,53): foster-parenting-character", + "(1,53): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "style": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "abc" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "</script>", + "no_escape": true + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>abc<table><tbody><tr><style></script></style></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "abc<table><tbody><tr><style></script></style></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><table><tr><script></style></script>abc", + "errors": [ + "(1,52): foster-parenting-character", + "(1,53): foster-parenting-character", + "(1,54): foster-parenting-character", + "(1,54): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "script": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "abc" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</style>", + "no_escape": true + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>abc<table><tbody><tr><script></style></script></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "abc<table><tbody><tr><script></style></script></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><table><caption><style></script></style>abc", + "errors": [ + "(1,58): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true, + "style": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "</script>", + "no_escape": true + } + ] + }, + { + "text": "abc" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><caption><style></script></style>abc</caption></table></body></html>", + "noQuirksBodyHtml": "<table><caption><style></script></style>abc</caption></table>" + } + }, + { + "data": "<!doctype html><table><td><style></script></style>abc", + "errors": [ + "(1,26): unexpected-cell-in-table-body", + "(1,53): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "style": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "style", + "children": [ + { + "text": "</script>", + "no_escape": true + } + ] + }, + { + "text": "abc" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><style></script></style>abc</td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><style></script></style>abc</td></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><select><script></style></script>abc", + "errors": [ + "(1,51): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "script": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</style>", + "no_escape": true + } + ] + }, + { + "text": "abc" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select><script></style></script>abc</select></body></html>", + "noQuirksBodyHtml": "<select><script></style></script>abc</select>" + } + }, + { + "data": "<!doctype html><table><select><script></style></script>abc", + "errors": [ + "(1,30): unexpected-start-tag-implies-table-voodoo", + "(1,58): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "script": true, + "table": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</style>", + "no_escape": true + } + ] + }, + { + "text": "abc" + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select><script></style></script>abc</select><table></table></body></html>", + "noQuirksBodyHtml": "<select><script></style></script>abc</select><table></table>" + } + }, + { + "data": "<!doctype html><table><tr><select><script></style></script>abc", + "errors": [ + "(1,34): unexpected-start-tag-implies-table-voodoo", + "(1,62): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "script": true, + "table": true, + "tbody": true, + "tr": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</style>", + "no_escape": true + } + ] + }, + { + "text": "abc" + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select><script></style></script>abc</select><table><tbody><tr></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<select><script></style></script>abc</select><table><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><frameset></frameset><noframes>abc", + "errors": [ + "(1,49): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true, + "noframes": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + }, + { + "tag": "noframes", + "children": [ + { + "text": "abc", + "no_escape": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset><noframes>abc</noframes></html>", + "noQuirksBodyHtml": "<noframes>abc</noframes>" + } + }, + { + "data": "<!doctype html><frameset></frameset><noframes>abc</noframes><!--abc-->", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true, + "noframes": true + }, + "doctype": true, + "no_escape": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + }, + { + "tag": "noframes", + "children": [ + { + "text": "abc", + "no_escape": true + } + ] + }, + { + "comment": "abc" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset><noframes>abc</noframes><!--abc--></html>", + "noQuirksBodyHtml": "<noframes>abc</noframes><!--abc-->" + } + }, + { + "data": "<!doctype html><frameset></frameset></html><noframes>abc", + "errors": [ + "(1,56): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true, + "noframes": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + }, + { + "tag": "noframes", + "children": [ + { + "text": "abc", + "no_escape": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset><noframes>abc</noframes></html>", + "noQuirksBodyHtml": "<noframes>abc</noframes>" + } + }, + { + "data": "<!doctype html><frameset></frameset></html><noframes>abc</noframes><!--abc-->", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true, + "noframes": true + }, + "doctype": true, + "no_escape": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + }, + { + "tag": "noframes", + "children": [ + { + "text": "abc", + "no_escape": true + } + ] + } + ] + }, + { + "comment": "abc" + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset><noframes>abc</noframes></html><!--abc-->", + "noQuirksBodyHtml": "<noframes>abc</noframes><!--abc-->" + } + }, + { + "data": "<!doctype html><table><tr></tbody><tfoot>", + "errors": [ + "(1,41): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "tfoot": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + }, + { + "tag": "tfoot" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr></tr></tbody><tfoot></tfoot></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr></tr></tbody><tfoot></tfoot></table>" + } + }, + { + "data": "<!doctype html><table><td><svg></svg>abc<td>", + "errors": [ + "(1,26): unexpected-cell-in-table-body", + "(1,44): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + }, + { + "text": "abc" + } + ] + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><svg></svg>abc</td><td></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><svg></svg>abc</td><td></td></tr></tbody></table>" + } + } + ], + "tests19.dat": [ + { + "data": "<!doctype html><math><mn DefinitionUrl=\"foo\">", + "errors": [ + "(1,45): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mn": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mn", + "ns": "http://www.w3.org/1998/Math/MathML", + "attrs": [ + { + "name": "definitionURL", + "value": "foo" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><mn definitionURL=\"foo\"></mn></math></body></html>", + "noQuirksBodyHtml": "<math><mn definitionURL=\"foo\"></mn></math>" + } + }, + { + "data": "<!doctype html><html></p><!--foo-->", + "errors": [ + "(1,25): end-tag-after-implied-root" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "comment": "foo" + }, + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><!--foo--><head></head><body></body></html>", + "noQuirksBodyHtml": "<p></p><!--foo-->" + } + }, + { + "data": "<!doctype html><head></head></p><!--foo-->", + "errors": [ + "(1,32): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "comment": "foo" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><!--foo--><body></body></html>", + "noQuirksBodyHtml": "<p></p><!--foo-->" + } + }, + { + "data": "<!doctype html><body><p><pre>", + "errors": [ + "(1,29): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "pre": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "pre" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p></p><pre></pre></body></html>", + "noQuirksBodyHtml": "<p></p><pre></pre>" + } + }, + { + "data": "<!doctype html><body><p><listing>", + "errors": [ + "(1,33): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "listing": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "listing" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p></p><listing></listing></body></html>", + "noQuirksBodyHtml": "<p></p><listing></listing>" + } + }, + { + "data": "<!doctype html><p><plaintext>", + "errors": [ + "(1,29): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "plaintext": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "plaintext" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p></p><plaintext></plaintext></body></html>", + "noQuirksBodyHtml": "<p></p><plaintext></plaintext>" + } + }, + { + "data": "<!doctype html><p><h1>", + "errors": [ + "(1,22): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "h1": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "h1" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p></p><h1></h1></body></html>", + "noQuirksBodyHtml": "<p></p><h1></h1>" + } + }, + { + "data": "<!doctype html><isindex type=\"hidden\">", + "errors": [ + "(1,38): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "isindex": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "isindex", + "attrs": [ + { + "name": "type", + "value": "hidden" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><isindex type=\"hidden\"></isindex></body></html>", + "noQuirksBodyHtml": "<isindex type=\"hidden\"></isindex>" + } + }, + { + "data": "<!doctype html><ruby><p><rp>", + "errors": [ + "(1,28): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "p": true, + "rp": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "tag": "p" + }, + { + "tag": "rp" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><ruby><p></p><rp></rp></ruby></body></html>", + "noQuirksBodyHtml": "<ruby><p></p><rp></rp></ruby>" + } + }, + { + "data": "<!doctype html><ruby><div><span><rp>", + "errors": [ + "(1,36): XXX-undefined-error", + "(1,36): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "div": true, + "span": true, + "rp": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "span", + "children": [ + { + "tag": "rp" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><ruby><div><span><rp></rp></span></div></ruby></body></html>", + "noQuirksBodyHtml": "<ruby><div><span><rp></rp></span></div></ruby>" + } + }, + { + "data": "<!doctype html><ruby><div><p><rp>", + "errors": [ + "(1,33): XXX-undefined-error", + "(1,33): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "div": true, + "p": true, + "rp": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "p" + }, + { + "tag": "rp" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><ruby><div><p></p><rp></rp></div></ruby></body></html>", + "noQuirksBodyHtml": "<ruby><div><p></p><rp></rp></div></ruby>" + } + }, + { + "data": "<!doctype html><ruby><p><rt>", + "errors": [ + "(1,28): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "p": true, + "rt": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "tag": "p" + }, + { + "tag": "rt" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><ruby><p></p><rt></rt></ruby></body></html>", + "noQuirksBodyHtml": "<ruby><p></p><rt></rt></ruby>" + } + }, + { + "data": "<!doctype html><ruby><div><span><rt>", + "errors": [ + "(1,36): XXX-undefined-error", + "(1,36): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "div": true, + "span": true, + "rt": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "span", + "children": [ + { + "tag": "rt" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><ruby><div><span><rt></rt></span></div></ruby></body></html>", + "noQuirksBodyHtml": "<ruby><div><span><rt></rt></span></div></ruby>" + } + }, + { + "data": "<!doctype html><ruby><div><p><rt>", + "errors": [ + "(1,33): XXX-undefined-error", + "(1,33): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "div": true, + "p": true, + "rt": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "p" + }, + { + "tag": "rt" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><ruby><div><p></p><rt></rt></div></ruby></body></html>", + "noQuirksBodyHtml": "<ruby><div><p></p><rt></rt></div></ruby>" + } + }, + { + "data": "<html><ruby>a<rb>b<rt></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rb": true, + "rt": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rb", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rt" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rb>b</rb><rt></rt></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rb>b</rb><rt></rt></ruby>" + } + }, + { + "data": "<html><ruby>a<rp>b<rt></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rp": true, + "rt": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rp", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rt" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rp>b</rp><rt></rt></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rp>b</rp><rt></rt></ruby>" + } + }, + { + "data": "<html><ruby>a<rt>b<rt></ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rt": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rt", + "children": [ + { + "text": "b" + } + ] + }, + { + "tag": "rt" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rt>b</rt><rt></rt></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rt>b</rt><rt></rt></ruby>" + } + }, + { + "data": "<html><ruby>a<rtc>b<rt>c<rb>d</ruby></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "rtc": true, + "rt": true, + "rb": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "text": "a" + }, + { + "tag": "rtc", + "children": [ + { + "text": "b" + }, + { + "tag": "rt", + "children": [ + { + "text": "c" + } + ] + } + ] + }, + { + "tag": "rb", + "children": [ + { + "text": "d" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby>a<rtc>b<rt>c</rt></rtc><rb>d</rb></ruby></body></html>", + "noQuirksBodyHtml": "<ruby>a<rtc>b<rt>c</rt></rtc><rb>d</rb></ruby>" + } + }, + { + "data": "<!doctype html><math/><foo>", + "errors": [ + "(1,27): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "foo": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "foo" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math></math><foo></foo></body></html>", + "noQuirksBodyHtml": "<math></math><foo></foo>" + } + }, + { + "data": "<!doctype html><svg/><foo>", + "errors": [ + "(1,26): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "foo": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "foo" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg></svg><foo></foo></body></html>", + "noQuirksBodyHtml": "<svg></svg><foo></foo>" + } + }, + { + "data": "<!doctype html><div></body><!--foo-->", + "errors": [ + "(1,27): expected-one-end-tag-but-got-another" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div" + } + ] + }, + { + "comment": "foo" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><div></div></body><!--foo--></html>", + "noQuirksBodyHtml": "<div><!--foo--></div>" + } + }, + { + "data": "<!doctype html><h1><div><h3><span></h1>foo", + "errors": [ + "(1,39): end-tag-too-early", + "(1,42): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "h1": true, + "div": true, + "h3": true, + "span": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "h1", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "h3", + "children": [ + { + "tag": "span" + } + ] + }, + { + "text": "foo" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><h1><div><h3><span></span></h3>foo</div></h1></body></html>", + "noQuirksBodyHtml": "<h1><div><h3><span></span></h3>foo</div></h1>" + } + }, + { + "data": "<!doctype html><p></h3>foo", + "errors": [ + "(1,23): end-tag-too-early" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "text": "foo" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p>foo</p></body></html>", + "noQuirksBodyHtml": "<p>foo</p>" + } + }, + { + "data": "<!doctype html><h3><li>abc</h2>foo", + "errors": [ + "(1,31): end-tag-too-early" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "h3": true, + "li": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "h3", + "children": [ + { + "tag": "li", + "children": [ + { + "text": "abc" + } + ] + } + ] + }, + { + "text": "foo" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><h3><li>abc</li></h3>foo</body></html>", + "noQuirksBodyHtml": "<h3><li>abc</li></h3>foo" + } + }, + { + "data": "<!doctype html><table>abc<!--foo-->", + "errors": [ + "(1,23): foster-parenting-character", + "(1,24): foster-parenting-character", + "(1,25): foster-parenting-character", + "(1,35): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "abc" + }, + { + "tag": "table", + "children": [ + { + "comment": "foo" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>abc<table><!--foo--></table></body></html>", + "noQuirksBodyHtml": "abc<table><!--foo--></table>" + } + }, + { + "data": "<!doctype html><table> <!--foo-->", + "errors": [ + "(1,34): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "text": " " + }, + { + "comment": "foo" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table> <!--foo--></table></body></html>", + "noQuirksBodyHtml": "<table> <!--foo--></table>" + } + }, + { + "data": "<!doctype html><table> b <!--foo-->", + "errors": [ + "(1,23): foster-parenting-character", + "(1,24): foster-parenting-character", + "(1,25): foster-parenting-character", + "(1,35): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": " b " + }, + { + "tag": "table", + "children": [ + { + "comment": "foo" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body> b <table><!--foo--></table></body></html>", + "noQuirksBodyHtml": " b <table><!--foo--></table>" + } + }, + { + "data": "<!doctype html><select><option><option>", + "errors": [ + "(1,39): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "option": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "option" + }, + { + "tag": "option" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select><option></option><option></option></select></body></html>", + "noQuirksBodyHtml": "<select><option></option><option></option></select>" + } + }, + { + "data": "<!doctype html><select><option></optgroup>", + "errors": [ + "(1,42): unexpected-end-tag-in-select", + "(1,42): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "option": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "option" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select><option></option></select></body></html>", + "noQuirksBodyHtml": "<select><option></option></select>" + } + }, + { + "data": "<!doctype html><select><option></optgroup>", + "errors": [ + "(1,42): unexpected-end-tag-in-select", + "(1,42): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "option": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "option" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select><option></option></select></body></html>", + "noQuirksBodyHtml": "<select><option></option></select>" + } + }, + { + "data": "<!doctype html><dd><optgroup><dd>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "dd": true, + "optgroup": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "dd", + "children": [ + { + "tag": "optgroup" + } + ] + }, + { + "tag": "dd" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><dd><optgroup></optgroup></dd><dd></dd></body></html>", + "noQuirksBodyHtml": "<dd><optgroup></optgroup></dd><dd></dd>" + } + }, + { + "data": "<!doctype html><p><math><mi><p><h1>", + "errors": [ + "(1,35): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "math math": true, + "math mi": true, + "h1": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "p" + }, + { + "tag": "h1" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><math><mi><p></p><h1></h1></mi></math></p></body></html>", + "noQuirksBodyHtml": "<p><math><mi><p></p><h1></h1></mi></math></p>" + } + }, + { + "data": "<!doctype html><p><math><mo><p><h1>", + "errors": [ + "(1,35): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "math math": true, + "math mo": true, + "h1": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mo", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "p" + }, + { + "tag": "h1" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><math><mo><p></p><h1></h1></mo></math></p></body></html>", + "noQuirksBodyHtml": "<p><math><mo><p></p><h1></h1></mo></math></p>" + } + }, + { + "data": "<!doctype html><p><math><mn><p><h1>", + "errors": [ + "(1,35): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "math math": true, + "math mn": true, + "h1": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mn", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "p" + }, + { + "tag": "h1" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><math><mn><p></p><h1></h1></mn></math></p></body></html>", + "noQuirksBodyHtml": "<p><math><mn><p></p><h1></h1></mn></math></p>" + } + }, + { + "data": "<!doctype html><p><math><ms><p><h1>", + "errors": [ + "(1,35): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "math math": true, + "math ms": true, + "h1": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "ms", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "p" + }, + { + "tag": "h1" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><math><ms><p></p><h1></h1></ms></math></p></body></html>", + "noQuirksBodyHtml": "<p><math><ms><p></p><h1></h1></ms></math></p>" + } + }, + { + "data": "<!doctype html><p><math><mtext><p><h1>", + "errors": [ + "(1,38): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "math math": true, + "math mtext": true, + "h1": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mtext", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "p" + }, + { + "tag": "h1" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><math><mtext><p></p><h1></h1></mtext></math></p></body></html>", + "noQuirksBodyHtml": "<p><math><mtext><p></p><h1></h1></mtext></math></p>" + } + }, + { + "data": "<!doctype html><frameset></noframes>", + "errors": [ + "(1,36): unexpected-end-tag-in-frameset", + "(1,36): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!doctype html><html c=d><body></html><html a=b>", + "errors": [ + "(1,48): non-html-root" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "attrs": [ + { + "name": "a", + "value": "b" + }, + { + "name": "c", + "value": "d" + } + ], + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html c=\"d\" a=\"b\"><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!doctype html><html c=d><frameset></frameset></html><html a=b>", + "errors": [ + "(1,63): non-html-root" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "attrs": [ + { + "name": "a", + "value": "b" + }, + { + "name": "c", + "value": "d" + } + ], + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<!DOCTYPE html><html c=\"d\" a=\"b\"><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!doctype html><html><frameset></frameset></html><!--foo-->", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + }, + { + "comment": "foo" + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html><!--foo-->", + "noQuirksBodyHtml": "<!--foo-->" + } + }, + { + "data": "<!doctype html><html><frameset></frameset></html> ", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + }, + { + "text": " " + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset> </html>", + "noQuirksBodyHtml": " " + } + }, + { + "data": "<!doctype html><html><frameset></frameset></html>abc", + "errors": [ + "(1,50): expected-eof-but-got-char", + "(1,51): expected-eof-but-got-char", + "(1,52): expected-eof-but-got-char" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "abc" + } + }, + { + "data": "<!doctype html><html><frameset></frameset></html><p>", + "errors": [ + "(1,52): expected-eof-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<p></p>" + } + }, + { + "data": "<!doctype html><html><frameset></frameset></html></p>", + "errors": [ + "(1,53): expected-eof-but-got-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<p></p>" + } + }, + { + "data": "<html><frameset></frameset></html><!doctype html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,49): unexpected-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!doctype html><body><frameset>", + "errors": [ + "(1,31): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!doctype html><p><frameset><frame>", + "errors": [ + "(1,28): unexpected-start-tag", + "(1,35): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true, + "frame": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset", + "children": [ + { + "tag": "frame" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset><frame></frameset></html>", + "noQuirksBodyHtml": "<p></p>" + } + }, + { + "data": "<!doctype html><p>a<frameset>", + "errors": [ + "(1,29): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "text": "a" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p>a</p></body></html>", + "noQuirksBodyHtml": "<p>a</p>" + } + }, + { + "data": "<!doctype html><p> <frameset><frame>", + "errors": [ + "(1,29): unexpected-start-tag", + "(1,36): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true, + "frame": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset", + "children": [ + { + "tag": "frame" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset><frame></frameset></html>", + "noQuirksBodyHtml": "<p> </p>" + } + }, + { + "data": "<!doctype html><pre><frameset>", + "errors": [ + "(1,30): unexpected-start-tag", + "(1,30): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "pre": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "pre" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><pre></pre></body></html>", + "noQuirksBodyHtml": "<pre></pre>" + } + }, + { + "data": "<!doctype html><listing><frameset>", + "errors": [ + "(1,34): unexpected-start-tag", + "(1,34): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "listing": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "listing" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><listing></listing></body></html>", + "noQuirksBodyHtml": "<listing></listing>" + } + }, + { + "data": "<!doctype html><li><frameset>", + "errors": [ + "(1,29): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "li": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "li" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><li></li></body></html>", + "noQuirksBodyHtml": "<li></li>" + } + }, + { + "data": "<!doctype html><dd><frameset>", + "errors": [ + "(1,29): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "dd": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "dd" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><dd></dd></body></html>", + "noQuirksBodyHtml": "<dd></dd>" + } + }, + { + "data": "<!doctype html><dt><frameset>", + "errors": [ + "(1,29): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "dt": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "dt" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><dt></dt></body></html>", + "noQuirksBodyHtml": "<dt></dt>" + } + }, + { + "data": "<!doctype html><button><frameset>", + "errors": [ + "(1,33): unexpected-start-tag", + "(1,33): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "button": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "button" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><button></button></body></html>", + "noQuirksBodyHtml": "<button></button>" + } + }, + { + "data": "<!doctype html><applet><frameset>", + "errors": [ + "(1,33): unexpected-start-tag", + "(1,33): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "applet": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "applet" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><applet></applet></body></html>", + "noQuirksBodyHtml": "<applet></applet>" + } + }, + { + "data": "<!doctype html><marquee><frameset>", + "errors": [ + "(1,34): unexpected-start-tag", + "(1,34): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "marquee": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "marquee" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><marquee></marquee></body></html>", + "noQuirksBodyHtml": "<marquee></marquee>" + } + }, + { + "data": "<!doctype html><object><frameset>", + "errors": [ + "(1,33): unexpected-start-tag", + "(1,33): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "object": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "object" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><object></object></body></html>", + "noQuirksBodyHtml": "<object></object>" + } + }, + { + "data": "<!doctype html><table><frameset>", + "errors": [ + "(1,32): unexpected-start-tag-implies-table-voodoo", + "(1,32): unexpected-start-tag", + "(1,32): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table></table></body></html>", + "noQuirksBodyHtml": "<table></table>" + } + }, + { + "data": "<!doctype html><area><frameset>", + "errors": [ + "(1,31): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "area": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "area" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><area></body></html>", + "noQuirksBodyHtml": "<area>" + } + }, + { + "data": "<!doctype html><basefont><frameset>", + "errors": [ + "(1,35): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "basefont": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "basefont" + } + ] + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><basefont></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<basefont>" + } + }, + { + "data": "<!doctype html><bgsound><frameset>", + "errors": [ + "(1,34): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "bgsound": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "bgsound" + } + ] + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><bgsound></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<bgsound>" + } + }, + { + "data": "<!doctype html><br><frameset>", + "errors": [ + "(1,29): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "br": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "br" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><br></body></html>", + "noQuirksBodyHtml": "<br>" + } + }, + { + "data": "<!doctype html><embed><frameset>", + "errors": [ + "(1,32): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "embed": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "embed" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><embed></body></html>", + "noQuirksBodyHtml": "<embed>" + } + }, + { + "data": "<!doctype html><img><frameset>", + "errors": [ + "(1,30): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "img": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "img" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><img></body></html>", + "noQuirksBodyHtml": "<img>" + } + }, + { + "data": "<!doctype html><input><frameset>", + "errors": [ + "(1,32): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "input": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "input" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><input></body></html>", + "noQuirksBodyHtml": "<input>" + } + }, + { + "data": "<!doctype html><keygen><frameset>", + "errors": [ + "(1,33): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "keygen": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "keygen" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><keygen></body></html>", + "noQuirksBodyHtml": "<keygen>" + } + }, + { + "data": "<!doctype html><wbr><frameset>", + "errors": [ + "(1,30): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "wbr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "wbr" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><wbr></body></html>", + "noQuirksBodyHtml": "<wbr>" + } + }, + { + "data": "<!doctype html><hr><frameset>", + "errors": [ + "(1,29): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "hr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "hr" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><hr></body></html>", + "noQuirksBodyHtml": "<hr>" + } + }, + { + "data": "<!doctype html><textarea></textarea><frameset>", + "errors": [ + "(1,46): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><textarea></textarea></body></html>", + "noQuirksBodyHtml": "<textarea></textarea>" + } + }, + { + "data": "<!doctype html><xmp></xmp><frameset>", + "errors": [ + "(1,36): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "xmp": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "xmp" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><xmp></xmp></body></html>", + "noQuirksBodyHtml": "<xmp></xmp>" + } + }, + { + "data": "<!doctype html><iframe></iframe><frameset>", + "errors": [ + "(1,42): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "iframe": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "iframe" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><iframe></iframe></body></html>", + "noQuirksBodyHtml": "<iframe></iframe>" + } + }, + { + "data": "<!doctype html><select></select><frameset>", + "errors": [ + "(1,42): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>", + "noQuirksBodyHtml": "<select></select>" + } + }, + { + "data": "<!doctype html><svg></svg><frameset><frame>", + "errors": [ + "(1,36): unexpected-start-tag", + "(1,43): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true, + "frame": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset", + "children": [ + { + "tag": "frame" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset><frame></frameset></html>", + "noQuirksBodyHtml": "<svg></svg>" + } + }, + { + "data": "<!doctype html><math></math><frameset><frame>", + "errors": [ + "(1,38): unexpected-start-tag", + "(1,45): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true, + "frame": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset", + "children": [ + { + "tag": "frame" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset><frame></frameset></html>", + "noQuirksBodyHtml": "<math></math>" + } + }, + { + "data": "<!doctype html><svg><foreignObject><div> <frameset><frame>", + "errors": [ + "(1,51): unexpected-start-tag", + "(1,58): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true, + "frame": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset", + "children": [ + { + "tag": "frame" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset><frame></frameset></html>", + "noQuirksBodyHtml": "<svg><foreignObject><div> </div></foreignObject></svg>" + } + }, + { + "data": "<!doctype html><svg>a</svg><frameset><frame>", + "errors": [ + "(1,37): unexpected-start-tag", + "(1,44): unexpected-start-tag-ignored" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "a" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg>a</svg></body></html>", + "noQuirksBodyHtml": "<svg>a</svg>" + } + }, + { + "data": "<!doctype html><svg> </svg><frameset><frame>", + "errors": [ + "(1,37): unexpected-start-tag", + "(1,44): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true, + "frame": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset", + "children": [ + { + "tag": "frame" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset><frame></frameset></html>", + "noQuirksBodyHtml": "<svg> </svg>" + } + }, + { + "data": "<html>aaa<frameset></frameset>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,19): unexpected-start-tag", + "(1,30): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "aaa" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>aaa</body></html>", + "noQuirksBodyHtml": "aaa" + } + }, + { + "data": "<html> a <frameset></frameset>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,19): unexpected-start-tag", + "(1,30): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "a " + } + ] + } + ] + } + ], + "html": "<html><head></head><body>a </body></html>", + "noQuirksBodyHtml": " a " + } + }, + { + "data": "<!doctype html><div><frameset>", + "errors": [ + "(1,30): unexpected-start-tag", + "(1,30): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<!doctype html><div><body><frameset>", + "errors": [ + "(1,26): unexpected-start-tag", + "(1,36): unexpected-start-tag", + "(1,36): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><div></div></body></html>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<!doctype html><p><math></p>a", + "errors": [ + "(1,28): unexpected-end-tag", + "(1,28): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "math math": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + }, + { + "text": "a" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><math></math></p>a</body></html>", + "noQuirksBodyHtml": "<p><math></math></p>a" + } + }, + { + "data": "<!doctype html><p><math><mn><span></p>a", + "errors": [ + "(1,38): unexpected-end-tag", + "(1,39): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "math math": true, + "math mn": true, + "span": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mn", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "span", + "children": [ + { + "tag": "p" + }, + { + "text": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><math><mn><span><p></p>a</span></mn></math></p></body></html>", + "noQuirksBodyHtml": "<p><math><mn><span><p></p>a</span></mn></math></p>" + } + }, + { + "data": "<!doctype html><math></html>", + "errors": [ + "(1,28): unexpected-end-tag", + "(1,28): expected-one-end-tag-but-got-another", + "(1,28): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math></math></body></html>", + "noQuirksBodyHtml": "<math></math>" + } + }, + { + "data": "<!doctype html><meta charset=\"ascii\">", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "meta": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "meta", + "attrs": [ + { + "name": "charset", + "value": "ascii" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><meta charset=\"ascii\"></head><body></body></html>", + "noQuirksBodyHtml": "<meta charset=\"ascii\">" + } + }, + { + "data": "<!doctype html><meta http-equiv=\"content-type\" content=\"text/html;charset=ascii\">", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "meta": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "meta", + "attrs": [ + { + "name": "content", + "value": "text/html;charset=ascii" + }, + { + "name": "http-equiv", + "value": "content-type" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><meta http-equiv=\"content-type\" content=\"text/html;charset=ascii\"></head><body></body></html>", + "noQuirksBodyHtml": "<meta http-equiv=\"content-type\" content=\"text/html;charset=ascii\">" + } + }, + { + "data": "<!doctype html><head><!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--><meta charset=\"utf8\">", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "meta": true, + "body": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "comment": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + }, + { + "tag": "meta", + "attrs": [ + { + "name": "charset", + "value": "utf8" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--><meta charset=\"utf8\"></head><body></body></html>", + "noQuirksBodyHtml": "<!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--><meta charset=\"utf8\">" + } + }, + { + "data": "<!doctype html><html a=b><head></head><html c=d>", + "errors": [ + "(1,48): non-html-root" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "attrs": [ + { + "name": "a", + "value": "b" + }, + { + "name": "c", + "value": "d" + } + ], + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html a=\"b\" c=\"d\"><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!doctype html><image/>", + "errors": [ + "(1,23): image-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "img": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "img" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><img></body></html>", + "noQuirksBodyHtml": "<img>" + } + }, + { + "data": "<!doctype html>a<i>b<table>c<b>d</i>e</b>f", + "errors": [ + "(1,28): foster-parenting-character", + "(1,31): foster-parenting-start-tag", + "(1,32): foster-parenting-character", + "(1,36): foster-parenting-end-tag", + "(1,36): adoption-agency-1.3", + "(1,37): foster-parenting-character", + "(1,41): foster-parenting-end-tag", + "(1,42): foster-parenting-character", + "(1,42): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "i": true, + "b": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "a" + }, + { + "tag": "i", + "children": [ + { + "text": "bc" + }, + { + "tag": "b", + "children": [ + { + "text": "de" + } + ] + }, + { + "text": "f" + }, + { + "tag": "table" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>a<i>bc<b>de</b>f<table></table></i></body></html>", + "noQuirksBodyHtml": "a<i>bc<b>de</b>f<table></table></i>" + } + }, + { + "data": "<!doctype html><table><i>a<b>b<div>c<a>d</i>e</b>f", + "errors": [ + "(1,25): foster-parenting-start-tag", + "(1,26): foster-parenting-character", + "(1,29): foster-parenting-start-tag", + "(1,30): foster-parenting-character", + "(1,35): foster-parenting-start-tag", + "(1,36): foster-parenting-character", + "(1,39): foster-parenting-start-tag", + "(1,40): foster-parenting-character", + "(1,44): foster-parenting-end-tag", + "(1,44): adoption-agency-1.3", + "(1,44): adoption-agency-1.3", + "(1,45): foster-parenting-character", + "(1,49): foster-parenting-end-tag", + "(1,49): adoption-agency-1.3", + "(1,49): adoption-agency-1.3", + "(1,50): foster-parenting-character", + "(1,50): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "i": true, + "b": true, + "div": true, + "a": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "a" + }, + { + "tag": "b", + "children": [ + { + "text": "b" + } + ] + } + ] + }, + { + "tag": "b" + }, + { + "tag": "div", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "c" + }, + { + "tag": "a", + "children": [ + { + "text": "d" + } + ] + } + ] + }, + { + "tag": "a", + "children": [ + { + "text": "e" + } + ] + } + ] + }, + { + "tag": "a", + "children": [ + { + "text": "f" + } + ] + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><i>a<b>b</b></i><b></b><div><b><i>c<a>d</a></i><a>e</a></b><a>f</a></div><table></table></body></html>", + "noQuirksBodyHtml": "<i>a<b>b</b></i><b></b><div><b><i>c<a>d</a></i><a>e</a></b><a>f</a></div><table></table>" + } + }, + { + "data": "<!doctype html><i>a<b>b<div>c<a>d</i>e</b>f", + "errors": [ + "(1,37): adoption-agency-1.3", + "(1,37): adoption-agency-1.3", + "(1,42): adoption-agency-1.3", + "(1,42): adoption-agency-1.3", + "(1,43): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "i": true, + "b": true, + "div": true, + "a": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "a" + }, + { + "tag": "b", + "children": [ + { + "text": "b" + } + ] + } + ] + }, + { + "tag": "b" + }, + { + "tag": "div", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "c" + }, + { + "tag": "a", + "children": [ + { + "text": "d" + } + ] + } + ] + }, + { + "tag": "a", + "children": [ + { + "text": "e" + } + ] + } + ] + }, + { + "tag": "a", + "children": [ + { + "text": "f" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><i>a<b>b</b></i><b></b><div><b><i>c<a>d</a></i><a>e</a></b><a>f</a></div></body></html>", + "noQuirksBodyHtml": "<i>a<b>b</b></i><b></b><div><b><i>c<a>d</a></i><a>e</a></b><a>f</a></div>" + } + }, + { + "data": "<!doctype html><table><i>a<b>b<div>c</i>", + "errors": [ + "(1,25): foster-parenting-start-tag", + "(1,26): foster-parenting-character", + "(1,29): foster-parenting-start-tag", + "(1,30): foster-parenting-character", + "(1,35): foster-parenting-start-tag", + "(1,36): foster-parenting-character", + "(1,40): foster-parenting-end-tag", + "(1,40): adoption-agency-1.3", + "(1,40): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "i": true, + "b": true, + "div": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "a" + }, + { + "tag": "b", + "children": [ + { + "text": "b" + } + ] + } + ] + }, + { + "tag": "b", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "c" + } + ] + } + ] + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><i>a<b>b</b></i><b><div><i>c</i></div></b><table></table></body></html>", + "noQuirksBodyHtml": "<i>a<b>b</b></i><b><div><i>c</i></div></b><table></table>" + } + }, + { + "data": "<!doctype html><table><i>a<b>b<div>c<a>d</i>e</b>f", + "errors": [ + "(1,25): foster-parenting-start-tag", + "(1,26): foster-parenting-character", + "(1,29): foster-parenting-start-tag", + "(1,30): foster-parenting-character", + "(1,35): foster-parenting-start-tag", + "(1,36): foster-parenting-character", + "(1,39): foster-parenting-start-tag", + "(1,40): foster-parenting-character", + "(1,44): foster-parenting-end-tag", + "(1,44): adoption-agency-1.3", + "(1,44): adoption-agency-1.3", + "(1,45): foster-parenting-character", + "(1,49): foster-parenting-end-tag", + "(1,44): adoption-agency-1.3", + "(1,44): adoption-agency-1.3", + "(1,50): foster-parenting-character", + "(1,50): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "i": true, + "b": true, + "div": true, + "a": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "a" + }, + { + "tag": "b", + "children": [ + { + "text": "b" + } + ] + } + ] + }, + { + "tag": "b" + }, + { + "tag": "div", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "c" + }, + { + "tag": "a", + "children": [ + { + "text": "d" + } + ] + } + ] + }, + { + "tag": "a", + "children": [ + { + "text": "e" + } + ] + } + ] + }, + { + "tag": "a", + "children": [ + { + "text": "f" + } + ] + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><i>a<b>b</b></i><b></b><div><b><i>c<a>d</a></i><a>e</a></b><a>f</a></div><table></table></body></html>", + "noQuirksBodyHtml": "<i>a<b>b</b></i><b></b><div><b><i>c<a>d</a></i><a>e</a></b><a>f</a></div><table></table>" + } + }, + { + "data": "<!doctype html><table><i>a<div>b<tr>c<b>d</i>e", + "errors": [ + "(1,25): foster-parenting-start-tag", + "(1,26): foster-parenting-character", + "(1,31): foster-parenting-start-tag", + "(1,32): foster-parenting-character", + "(1,37): foster-parenting-character", + "(1,40): foster-parenting-start-tag", + "(1,41): foster-parenting-character", + "(1,45): foster-parenting-end-tag", + "(1,45): adoption-agency-1.3", + "(1,46): foster-parenting-character", + "(1,46): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "i": true, + "div": true, + "b": true, + "table": true, + "tbody": true, + "tr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "a" + }, + { + "tag": "div", + "children": [ + { + "text": "b" + } + ] + } + ] + }, + { + "tag": "i", + "children": [ + { + "text": "c" + }, + { + "tag": "b", + "children": [ + { + "text": "d" + } + ] + } + ] + }, + { + "tag": "b", + "children": [ + { + "text": "e" + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><i>a<div>b</div></i><i>c<b>d</b></i><b>e</b><table><tbody><tr></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<i>a<div>b</div></i><i>c<b>d</b></i><b>e</b><table><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><table><td><table><i>a<div>b<b>c</i>d", + "errors": [ + "(1,26): unexpected-cell-in-table-body", + "(1,36): foster-parenting-start-tag", + "(1,37): foster-parenting-character", + "(1,42): foster-parenting-start-tag", + "(1,43): foster-parenting-character", + "(1,46): foster-parenting-start-tag", + "(1,47): foster-parenting-character", + "(1,51): foster-parenting-end-tag", + "(1,51): adoption-agency-1.3", + "(1,51): adoption-agency-1.3", + "(1,52): foster-parenting-character", + "(1,52): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "i": true, + "div": true, + "b": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "a" + } + ] + }, + { + "tag": "div", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "b" + }, + { + "tag": "b", + "children": [ + { + "text": "c" + } + ] + } + ] + }, + { + "tag": "b", + "children": [ + { + "text": "d" + } + ] + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><i>a</i><div><i>b<b>c</b></i><b>d</b></div><table></table></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><i>a</i><div><i>b<b>c</b></i><b>d</b></div><table></table></td></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><body><bgsound>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "bgsound": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "bgsound" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><bgsound></body></html>", + "noQuirksBodyHtml": "<bgsound>" + } + }, + { + "data": "<!doctype html><body><basefont>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "basefont": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "basefont" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><basefont></body></html>", + "noQuirksBodyHtml": "<basefont>" + } + }, + { + "data": "<!doctype html><a><b></a><basefont>", + "errors": [ + "(1,25): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "b": true, + "basefont": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "b" + } + ] + }, + { + "tag": "basefont" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><a><b></b></a><basefont></body></html>", + "noQuirksBodyHtml": "<a><b></b></a><basefont>" + } + }, + { + "data": "<!doctype html><a><b></a><bgsound>", + "errors": [ + "(1,25): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "b": true, + "bgsound": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "b" + } + ] + }, + { + "tag": "bgsound" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><a><b></b></a><bgsound></body></html>", + "noQuirksBodyHtml": "<a><b></b></a><bgsound>" + } + }, + { + "data": "<!doctype html><figcaption><article></figcaption>a", + "errors": [ + "(1,49): end-tag-too-early" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "figcaption": true, + "article": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "figcaption", + "children": [ + { + "tag": "article" + } + ] + }, + { + "text": "a" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><figcaption><article></article></figcaption>a</body></html>", + "noQuirksBodyHtml": "<figcaption><article></article></figcaption>a" + } + }, + { + "data": "<!doctype html><summary><article></summary>a", + "errors": [ + "(1,43): end-tag-too-early" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "summary": true, + "article": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "summary", + "children": [ + { + "tag": "article" + } + ] + }, + { + "text": "a" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><summary><article></article></summary>a</body></html>", + "noQuirksBodyHtml": "<summary><article></article></summary>a" + } + }, + { + "data": "<!doctype html><p><a><plaintext>b", + "errors": [ + "(1,32): unexpected-end-tag", + "(1,33): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "a": true, + "plaintext": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "a" + } + ] + }, + { + "tag": "plaintext", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "b" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><a></a></p><plaintext><a>b</a></plaintext></body></html>", + "noQuirksBodyHtml": "<p><a></a></p><plaintext><a>b</a></plaintext>" + } + }, + { + "data": "<!DOCTYPE html><div>a<a></div>b<p>c</p>d", + "errors": [ + "(1,30): end-tag-too-early", + "(1,40): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "a": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "a" + }, + { + "tag": "a" + } + ] + }, + { + "tag": "a", + "children": [ + { + "text": "b" + }, + { + "tag": "p", + "children": [ + { + "text": "c" + } + ] + }, + { + "text": "d" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><div>a<a></a></div><a>b<p>c</p>d</a></body></html>", + "noQuirksBodyHtml": "<div>a<a></a></div><a>b<p>c</p>d</a>" + } + } + ], + "tests2.dat": [ + { + "data": "<!DOCTYPE html>Test", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Test" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>Test</body></html>", + "noQuirksBodyHtml": "Test" + } + }, + { + "data": "<textarea>test</div>test", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(1,24): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea", + "children": [ + { + "text": "test</div>test", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><textarea>test</div>test</textarea></body></html>", + "noQuirksBodyHtml": "<textarea>test</div>test</textarea>" + } + }, + { + "data": "<table><td>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,11): unexpected-cell-in-table-body", + "(1,11): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td></td></tr></tbody></table>" + } + }, + { + "data": "<table><td>test</tbody></table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,11): unexpected-cell-in-table-body" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "text": "test" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td>test</td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td>test</td></tr></tbody></table>" + } + }, + { + "data": "<frame>test", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,7): unexpected-start-tag-ignored" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "test" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>test</body></html>", + "noQuirksBodyHtml": "test" + } + }, + { + "data": "<!DOCTYPE html><frameset>test", + "errors": [ + "(1,29): unexpected-char-in-frameset", + "(1,29): unexpected-char-in-frameset", + "(1,29): unexpected-char-in-frameset", + "(1,29): unexpected-char-in-frameset", + "(1,29): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "test" + } + }, + { + "data": "<!DOCTYPE html><frameset> te st", + "errors": [ + "(1,29): unexpected-char-in-frameset", + "(1,29): unexpected-char-in-frameset", + "(1,29): unexpected-char-in-frameset", + "(1,29): unexpected-char-in-frameset", + "(1,29): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset", + "children": [ + { + "text": " " + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset> </frameset></html>", + "noQuirksBodyHtml": " te st" + } + }, + { + "data": "<!DOCTYPE html><frameset></frameset> te st", + "errors": [ + "(1,29): unexpected-char-after-frameset", + "(1,29): unexpected-char-after-frameset", + "(1,29): unexpected-char-after-frameset", + "(1,29): unexpected-char-after-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + }, + { + "text": " " + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset> </html>", + "noQuirksBodyHtml": " te st" + } + }, + { + "data": "<!DOCTYPE html><frameset><!DOCTYPE html>", + "errors": [ + "(1,40): unexpected-doctype", + "(1,40): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE html><font><p><b>test</font>", + "errors": [ + "(1,38): adoption-agency-1.3", + "(1,38): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "font": true, + "p": true, + "b": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "font" + }, + { + "tag": "p", + "children": [ + { + "tag": "font", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "test" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><font></font><p><font><b>test</b></font></p></body></html>", + "noQuirksBodyHtml": "<font></font><p><font><b>test</b></font></p>" + } + }, + { + "data": "<!DOCTYPE html><dt><div><dd>", + "errors": [ + "(1,28): end-tag-too-early" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "dt": true, + "div": true, + "dd": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "dt", + "children": [ + { + "tag": "div" + } + ] + }, + { + "tag": "dd" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><dt><div></div></dt><dd></dd></body></html>", + "noQuirksBodyHtml": "<dt><div></div></dt><dd></dd>" + } + }, + { + "data": "<script></x", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,11): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "</x", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></x</script></head><body></body></html>", + "noQuirksBodyHtml": "<script></x</script>" + } + }, + { + "data": "<table><plaintext><td>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,18): unexpected-start-tag-implies-table-voodoo", + "(1,22): foster-parenting-character-in-table", + "(1,22): foster-parenting-character-in-table", + "(1,22): foster-parenting-character-in-table", + "(1,22): foster-parenting-character-in-table", + "(1,22): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "plaintext": true, + "table": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "plaintext", + "children": [ + { + "text": "<td>", + "no_escape": true + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><plaintext><td></plaintext><table></table></body></html>", + "noQuirksBodyHtml": "<plaintext><td></plaintext><table></table>" + } + }, + { + "data": "<plaintext></plaintext>", + "errors": [ + "(1,11): expected-doctype-but-got-start-tag", + "(1,23): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "plaintext": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "plaintext", + "children": [ + { + "text": "</plaintext>", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><plaintext></plaintext></plaintext></body></html>", + "noQuirksBodyHtml": "<plaintext></plaintext></plaintext>" + } + }, + { + "data": "<!DOCTYPE html><table><tr>TEST", + "errors": [ + "(1,30): foster-parenting-character-in-table", + "(1,30): foster-parenting-character-in-table", + "(1,30): foster-parenting-character-in-table", + "(1,30): foster-parenting-character-in-table", + "(1,30): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "TEST" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>TEST<table><tbody><tr></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "TEST<table><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "<!DOCTYPE html><body t1=1><body t2=2><body t3=3 t4=4>", + "errors": [ + "(1,37): unexpected-start-tag", + "(1,53): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "attrs": [ + { + "name": "t1", + "value": "1" + }, + { + "name": "t2", + "value": "2" + }, + { + "name": "t3", + "value": "3" + }, + { + "name": "t4", + "value": "4" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body t1=\"1\" t2=\"2\" t3=\"3\" t4=\"4\"></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "</b test", + "errors": [ + "(1,8): eof-in-attribute-name", + "(1,8): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE html></b test<b &=&>X", + "errors": [ + "(1,24): invalid-character-in-attribute-name", + "(1,32): named-entity-without-semicolon", + "(1,33): attributes-in-end-tag", + "(1,33): unexpected-end-tag-before-html" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>X</body></html>", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "<!doctypehtml><scrIPt type=text/x-foobar;baz>X</SCRipt", + "errors": [ + "(1,9): need-space-after-doctype", + "(1,54): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "attrs": [ + { + "name": "type", + "value": "text/x-foobar;baz" + } + ], + "children": [ + { + "text": "X</SCRipt", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script type=\"text/x-foobar;baz\">X</SCRipt</script></head><body></body></html>", + "noQuirksBodyHtml": "<script type=\"text/x-foobar;baz\">X</SCRipt</script>" + } + }, + { + "data": "&", + "errors": [ + "(1,1): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "&", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>&</body></html>", + "noQuirksBodyHtml": "&" + } + }, + { + "data": "&#", + "errors": [ + "(1,2): expected-numeric-entity", + "(1,2): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "&#", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>&#</body></html>", + "noQuirksBodyHtml": "&#" + } + }, + { + "data": "&#X", + "errors": [ + "(1,3): expected-numeric-entity", + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "&#X", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>&#X</body></html>", + "noQuirksBodyHtml": "&#X" + } + }, + { + "data": "&#x", + "errors": [ + "(1,3): expected-numeric-entity", + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "&#x", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>&#x</body></html>", + "noQuirksBodyHtml": "&#x" + } + }, + { + "data": "-", + "errors": [ + "(1,4): numeric-entity-without-semicolon", + "(1,4): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "-" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>-</body></html>", + "noQuirksBodyHtml": "-" + } + }, + { + "data": "&x-test", + "errors": [ + "(1,2): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "&x-test", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>&x-test</body></html>", + "noQuirksBodyHtml": "&x-test" + } + }, + { + "data": "<!doctypehtml><p><li>", + "errors": [ + "(1,9): need-space-after-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "li": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "li" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p></p><li></li></body></html>", + "noQuirksBodyHtml": "<p></p><li></li>" + } + }, + { + "data": "<!doctypehtml><p><dt>", + "errors": [ + "(1,9): need-space-after-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "dt": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "dt" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p></p><dt></dt></body></html>", + "noQuirksBodyHtml": "<p></p><dt></dt>" + } + }, + { + "data": "<!doctypehtml><p><dd>", + "errors": [ + "(1,9): need-space-after-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "dd": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "dd" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p></p><dd></dd></body></html>", + "noQuirksBodyHtml": "<p></p><dd></dd>" + } + }, + { + "data": "<!doctypehtml><p><form>", + "errors": [ + "(1,9): need-space-after-doctype", + "(1,23): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "form": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "form" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p></p><form></form></body></html>", + "noQuirksBodyHtml": "<p></p><form></form>" + } + }, + { + "data": "<!DOCTYPE html><p></P>X", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "text": "X" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p></p>X</body></html>", + "noQuirksBodyHtml": "<p></p>X" + } + }, + { + "data": "&", + "errors": [ + "(1,4): named-entity-without-semicolon", + "(1,4): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "&", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>&</body></html>", + "noQuirksBodyHtml": "&" + } + }, + { + "data": "&AMp;", + "errors": [ + "(1,3): expected-named-entity", + "(1,3): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "&AMp;", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body>&AMp;</body></html>", + "noQuirksBodyHtml": "&AMp;" + } + }, + { + "data": "<!DOCTYPE html><html><head></head><body><thisISasillyTESTelementNameToMakeSureCrazyTagNamesArePARSEDcorrectLY>", + "errors": [ + "(1,110): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly></thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly></body></html>", + "noQuirksBodyHtml": "<thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly></thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly>" + } + }, + { + "data": "<!DOCTYPE html>X</body>X", + "errors": [ + "(1,24): unexpected-char-after-body" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "XX" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>XX</body></html>", + "noQuirksBodyHtml": "XX" + } + }, + { + "data": "<!DOCTYPE html><!-- X", + "errors": [ + "(1,21): eof-in-comment" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "comment": " X" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><!-- X--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!-- X-->" + } + }, + { + "data": "<!DOCTYPE html><table><caption>test TEST</caption><td>test", + "errors": [ + "(1,54): unexpected-cell-in-table-body", + "(1,58): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true, + "tbody": true, + "tr": true, + "td": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption", + "children": [ + { + "text": "test TEST" + } + ] + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "text": "test" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><caption>test TEST</caption><tbody><tr><td>test</td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><caption>test TEST</caption><tbody><tr><td>test</td></tr></tbody></table>" + } + }, + { + "data": "<!DOCTYPE html><select><option><optgroup>", + "errors": [ + "(1,41): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "option": true, + "optgroup": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "option" + }, + { + "tag": "optgroup" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select><option></option><optgroup></optgroup></select></body></html>", + "noQuirksBodyHtml": "<select><option></option><optgroup></optgroup></select>" + } + }, + { + "data": "<!DOCTYPE html><select><optgroup><option></optgroup><option><select><option>", + "errors": [ + "(1,68): unexpected-select-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "optgroup": true, + "option": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "optgroup", + "children": [ + { + "tag": "option" + } + ] + }, + { + "tag": "option" + } + ] + }, + { + "tag": "option" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select><optgroup><option></option></optgroup><option></option></select><option></option></body></html>", + "noQuirksBodyHtml": "<select><optgroup><option></option></optgroup><option></option></select><option></option>" + } + }, + { + "data": "<!DOCTYPE html><select><optgroup><option><optgroup>", + "errors": [ + "(1,51): eof-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "optgroup": true, + "option": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "optgroup", + "children": [ + { + "tag": "option" + } + ] + }, + { + "tag": "optgroup" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select><optgroup><option></option></optgroup><optgroup></optgroup></select></body></html>", + "noQuirksBodyHtml": "<select><optgroup><option></option></optgroup><optgroup></optgroup></select>" + } + }, + { + "data": "<!DOCTYPE html><datalist><option>foo</datalist>bar", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "datalist": true, + "option": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "datalist", + "children": [ + { + "tag": "option", + "children": [ + { + "text": "foo" + } + ] + } + ] + }, + { + "text": "bar" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><datalist><option>foo</option></datalist>bar</body></html>", + "noQuirksBodyHtml": "<datalist><option>foo</option></datalist>bar" + } + }, + { + "data": "<!DOCTYPE html><font><input><input></font>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "font": true, + "input": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "font", + "children": [ + { + "tag": "input" + }, + { + "tag": "input" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><font><input><input></font></body></html>", + "noQuirksBodyHtml": "<font><input><input></font>" + } + }, + { + "data": "<!DOCTYPE html><!-- XXX - XXX -->", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "comment": " XXX - XXX " + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><!-- XXX - XXX --><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!-- XXX - XXX -->" + } + }, + { + "data": "<!DOCTYPE html><!-- XXX - XXX", + "errors": [ + "(1,29): eof-in-comment" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "comment": " XXX - XXX" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><!-- XXX - XXX--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!-- XXX - XXX-->" + } + }, + { + "data": "<!DOCTYPE html><!-- XXX - XXX - XXX -->", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "comment": " XXX - XXX - XXX " + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><!-- XXX - XXX - XXX --><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!-- XXX - XXX - XXX -->" + } + }, + { + "data": "test\ntest", + "errors": [ + "(2,4): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "test\ntest" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>test\ntest</body></html>", + "noQuirksBodyHtml": "test\ntest" + } + }, + { + "data": "<!DOCTYPE html><body><title>test</body></title>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "title": true + }, + "doctype": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "test</body>", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><title>test</body></title></body></html>", + "noQuirksBodyHtml": "<title>test</body></title>" + } + }, + { + "data": "<!DOCTYPE html><body><title>X</title><meta name=z><link rel=foo><style>\nx { content:\"</style\" } </style>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "title": true, + "meta": true, + "link": true, + "style": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "X" + } + ] + }, + { + "tag": "meta", + "attrs": [ + { + "name": "name", + "value": "z" + } + ] + }, + { + "tag": "link", + "attrs": [ + { + "name": "rel", + "value": "foo" + } + ] + }, + { + "tag": "style", + "children": [ + { + "text": "\nx { content:\"</style\" } ", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><title>X</title><meta name=\"z\"><link rel=\"foo\"><style>\nx { content:\"</style\" } </style></body></html>", + "noQuirksBodyHtml": "<title>X</title><meta name=\"z\"><link rel=\"foo\"><style>\nx { content:\"</style\" } </style>" + } + }, + { + "data": "<!DOCTYPE html><select><optgroup></optgroup></select>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "optgroup": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "optgroup" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select><optgroup></optgroup></select></body></html>", + "noQuirksBodyHtml": "<select><optgroup></optgroup></select>" + } + }, + { + "data": " \n ", + "errors": [ + "(2,1): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": " \n " + } + }, + { + "data": "<!DOCTYPE html> <html>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": " " + } + }, + { + "data": "<!DOCTYPE html><script>\n</script> <title>x</title> </head>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "title": true, + "body": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": "\n", + "no_escape": true + } + ] + }, + { + "text": " " + }, + { + "tag": "title", + "children": [ + { + "text": "x" + } + ] + }, + { + "text": " " + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><script>\n</script> <title>x</title> </head><body></body></html>", + "noQuirksBodyHtml": "<script>\n</script> <title>x</title> " + } + }, + { + "data": "<!DOCTYPE html><html><body><html id=x>", + "errors": [ + "(1,38): non-html-root" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "attrs": [ + { + "name": "id", + "value": "x" + } + ], + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html id=\"x\"><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE html>X</body><html id=\"x\">", + "errors": [ + "(1,36): non-html-root" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "attrs": [ + { + "name": "id", + "value": "x" + } + ], + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html id=\"x\"><head></head><body>X</body></html>", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "<!DOCTYPE html><head><html id=x>", + "errors": [ + "(1,32): non-html-root" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "attrs": [ + { + "name": "id", + "value": "x" + } + ], + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html id=\"x\"><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE html>X</html>X", + "errors": [ + "(1,24): expected-eof-but-got-char" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "XX" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>XX</body></html>", + "noQuirksBodyHtml": "XX" + } + }, + { + "data": "<!DOCTYPE html>X</html> ", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "X " + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>X </body></html>", + "noQuirksBodyHtml": "X " + } + }, + { + "data": "<!DOCTYPE html>X</html><p>X", + "errors": [ + "(1,26): expected-eof-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "X" + }, + { + "tag": "p", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>X<p>X</p></body></html>", + "noQuirksBodyHtml": "X<p>X</p>" + } + }, + { + "data": "<!DOCTYPE html>X<p/x/y/z>", + "errors": [ + "(1,19): unexpected-character-after-solidus-in-tag", + "(1,21): unexpected-character-after-solidus-in-tag", + "(1,23): unexpected-character-after-solidus-in-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "X" + }, + { + "tag": "p", + "attrs": [ + { + "name": "x", + "value": "" + }, + { + "name": "y", + "value": "" + }, + { + "name": "z", + "value": "" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>X<p x=\"\" y=\"\" z=\"\"></p></body></html>", + "noQuirksBodyHtml": "X<p x=\"\" y=\"\" z=\"\"></p>" + } + }, + { + "data": "<!DOCTYPE html><!--x--", + "errors": [ + "(1,22): eof-in-comment-double-dash" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "comment": "x" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><!--x--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!--x-->" + } + }, + { + "data": "<!DOCTYPE html><table><tr><td></p></table>", + "errors": [ + "(1,34): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "p" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><p></p></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><p></p></td></tr></tbody></table>" + } + }, + { + "data": "<!DOCTYPE <!DOCTYPE HTML>><!--<!--x-->-->", + "errors": [ + "(1,20): expected-space-or-right-bracket-in-doctype", + "(1,25): unknown-doctype", + "(1,35): unexpected-char-in-comment" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true, + "escaped": true, + "comment": true + }, + "tree": [ + { + "doctype": "<!doctype" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": ">", + "escaped": true + }, + { + "comment": "<!--x" + }, + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<!DOCTYPE <!doctype><html><head></head><body>><!--<!--x-->--></body></html>", + "noQuirksBodyHtml": "><!--<!--x-->-->" + } + }, + { + "data": "<!doctype html><div><form></form><div></div></div>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "form": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "form" + }, + { + "tag": "div" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><div><form></form><div></div></div></body></html>", + "noQuirksBodyHtml": "<div><form></form><div></div></div>" + } + } + ], + "tests20.dat": [ + { + "data": "<!doctype html><p><button><button>", + "errors": [ + "(1,34): unexpected-start-tag-implies-end-tag", + "(1,34): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button" + }, + { + "tag": "button" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button></button><button></button></p></body></html>", + "noQuirksBodyHtml": "<p><button></button><button></button></p>" + } + }, + { + "data": "<!doctype html><p><button><address>", + "errors": [ + "(1,35): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "address": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "address" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><address></address></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><address></address></button></p>" + } + }, + { + "data": "<!doctype html><p><button><blockquote>", + "errors": [ + "(1,38): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "blockquote": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "blockquote" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><blockquote></blockquote></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><blockquote></blockquote></button></p>" + } + }, + { + "data": "<!doctype html><p><button><menu>", + "errors": [ + "(1,32): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "menu": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "menu" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><menu></menu></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><menu></menu></button></p>" + } + }, + { + "data": "<!doctype html><p><button><p>", + "errors": [ + "(1,29): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "p" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><p></p></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><p></p></button></p>" + } + }, + { + "data": "<!doctype html><p><button><ul>", + "errors": [ + "(1,30): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "ul": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "ul" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><ul></ul></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><ul></ul></button></p>" + } + }, + { + "data": "<!doctype html><p><button><h1>", + "errors": [ + "(1,30): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "h1": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "h1" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><h1></h1></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><h1></h1></button></p>" + } + }, + { + "data": "<!doctype html><p><button><h6>", + "errors": [ + "(1,30): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "h6": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "h6" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><h6></h6></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><h6></h6></button></p>" + } + }, + { + "data": "<!doctype html><p><button><listing>", + "errors": [ + "(1,35): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "listing": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "listing" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><listing></listing></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><listing></listing></button></p>" + } + }, + { + "data": "<!doctype html><p><button><pre>", + "errors": [ + "(1,31): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "pre": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "pre" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><pre></pre></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><pre></pre></button></p>" + } + }, + { + "data": "<!doctype html><p><button><form>", + "errors": [ + "(1,32): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "form": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "form" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><form></form></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><form></form></button></p>" + } + }, + { + "data": "<!doctype html><p><button><li>", + "errors": [ + "(1,30): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "li": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "li" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><li></li></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><li></li></button></p>" + } + }, + { + "data": "<!doctype html><p><button><dd>", + "errors": [ + "(1,30): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "dd": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "dd" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><dd></dd></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><dd></dd></button></p>" + } + }, + { + "data": "<!doctype html><p><button><dt>", + "errors": [ + "(1,30): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "dt": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "dt" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><dt></dt></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><dt></dt></button></p>" + } + }, + { + "data": "<!doctype html><p><button><plaintext>", + "errors": [ + "(1,37): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "plaintext": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "plaintext" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><plaintext></plaintext></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><plaintext></plaintext></button></p>" + } + }, + { + "data": "<!doctype html><p><button><table>", + "errors": [ + "(1,33): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "table" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><table></table></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><table></table></button></p>" + } + }, + { + "data": "<!doctype html><p><button><hr>", + "errors": [ + "(1,30): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "hr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "hr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><hr></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><hr></button></p>" + } + }, + { + "data": "<!doctype html><p><button><xmp>", + "errors": [ + "(1,31): expected-named-closing-tag-but-got-eof", + "(1,31): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true, + "xmp": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "xmp" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><xmp></xmp></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><xmp></xmp></button></p>" + } + }, + { + "data": "<!doctype html><p><button></p>", + "errors": [ + "(1,30): unexpected-end-tag", + "(1,30): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "button": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "p" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><button><p></p></button></p></body></html>", + "noQuirksBodyHtml": "<p><button><p></p></button></p>" + } + }, + { + "data": "<!doctype html><address><button></address>a", + "errors": [ + "(1,42): end-tag-too-early" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "address": true, + "button": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "address", + "children": [ + { + "tag": "button" + } + ] + }, + { + "text": "a" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><address><button></button></address>a</body></html>", + "noQuirksBodyHtml": "<address><button></button></address>a" + } + }, + { + "data": "<!doctype html><address><button></address>a", + "errors": [ + "(1,42): end-tag-too-early" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "address": true, + "button": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "address", + "children": [ + { + "tag": "button" + } + ] + }, + { + "text": "a" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><address><button></button></address>a</body></html>", + "noQuirksBodyHtml": "<address><button></button></address>a" + } + }, + { + "data": "<p><table></p>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,14): unexpected-end-tag-implies-table-voodoo", + "(1,14): unexpected-end-tag", + "(1,14): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "table": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "p" + }, + { + "tag": "table" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p><p></p><table></table></p></body></html>", + "noQuirksBodyHtml": "<p></p><p></p><table></table>" + } + }, + { + "data": "<!doctype html><svg>", + "errors": [ + "(1,20): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg></svg></body></html>", + "noQuirksBodyHtml": "<svg></svg>" + } + }, + { + "data": "<!doctype html><p><figcaption>", + "errors": [ + "(1,30): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "figcaption": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "figcaption" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p></p><figcaption></figcaption></body></html>", + "noQuirksBodyHtml": "<p></p><figcaption></figcaption>" + } + }, + { + "data": "<!doctype html><p><summary>", + "errors": [ + "(1,27): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "summary": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "summary" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p></p><summary></summary></body></html>", + "noQuirksBodyHtml": "<p></p><summary></summary>" + } + }, + { + "data": "<!doctype html><form><table><form>", + "errors": [ + "(1,34): unexpected-form-in-table", + "(1,34): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "form": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "form", + "children": [ + { + "tag": "table" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><form><table></table></form></body></html>", + "noQuirksBodyHtml": "<form><table></table></form>" + } + }, + { + "data": "<!doctype html><table><form><form>", + "errors": [ + "(1,28): unexpected-form-in-table", + "(1,34): unexpected-form-in-table", + "(1,34): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "form": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "form" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><form></form></table></body></html>", + "noQuirksBodyHtml": "<table><form></form></table>" + } + }, + { + "data": "<!doctype html><table><form></table><form>", + "errors": [ + "(1,28): unexpected-form-in-table", + "(1,42): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "form": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "form" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><form></form></table></body></html>", + "noQuirksBodyHtml": "<table><form></form></table>" + } + }, + { + "data": "<!doctype html><svg><foreignObject><p>", + "errors": [ + "(1,38): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg foreignObject": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "p" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><foreignObject><p></p></foreignObject></svg></body></html>", + "noQuirksBodyHtml": "<svg><foreignObject><p></p></foreignObject></svg>" + } + }, + { + "data": "<!doctype html><svg><title>abc", + "errors": [ + "(1,30): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg title": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "title", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "abc" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><title>abc</title></svg></body></html>", + "noQuirksBodyHtml": "<svg><title>abc</title></svg>" + } + }, + { + "data": "<option><span><option>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,22): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "option": true, + "span": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "option", + "children": [ + { + "tag": "span", + "children": [ + { + "tag": "option" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><option><span><option></option></span></option></body></html>", + "noQuirksBodyHtml": "<option><span><option></option></span></option>" + } + }, + { + "data": "<option><option>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "option": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "option" + }, + { + "tag": "option" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><option></option><option></option></body></html>", + "noQuirksBodyHtml": "<option></option><option></option>" + } + }, + { + "data": "<math><annotation-xml><div>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,27): unexpected-html-element-in-foreign-content", + "(1,27): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + }, + { + "tag": "div" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><annotation-xml></annotation-xml></math><div></div></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml><div></div></annotation-xml></math>" + } + }, + { + "data": "<math><annotation-xml encoding=\"application/svg+xml\"><div>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,58): unexpected-html-element-in-foreign-content", + "(1,58): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "attrs": [ + { + "name": "encoding", + "value": "application/svg+xml" + } + ] + } + ] + }, + { + "tag": "div" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><annotation-xml encoding=\"application/svg+xml\"></annotation-xml></math><div></div></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml encoding=\"application/svg+xml\"><div></div></annotation-xml></math>" + } + }, + { + "data": "<math><annotation-xml encoding=\"application/xhtml+xml\"><div>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,60): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "attrs": [ + { + "name": "encoding", + "value": "application/xhtml+xml" + } + ], + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><annotation-xml encoding=\"application/xhtml+xml\"><div></div></annotation-xml></math></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml encoding=\"application/xhtml+xml\"><div></div></annotation-xml></math>" + } + }, + { + "data": "<math><annotation-xml encoding=\"aPPlication/xhtmL+xMl\"><div>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,60): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "attrs": [ + { + "name": "encoding", + "value": "aPPlication/xhtmL+xMl" + } + ], + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><annotation-xml encoding=\"aPPlication/xhtmL+xMl\"><div></div></annotation-xml></math></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml encoding=\"aPPlication/xhtmL+xMl\"><div></div></annotation-xml></math>" + } + }, + { + "data": "<math><annotation-xml encoding=\"text/html\"><div>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,48): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "attrs": [ + { + "name": "encoding", + "value": "text/html" + } + ], + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><annotation-xml encoding=\"text/html\"><div></div></annotation-xml></math></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml encoding=\"text/html\"><div></div></annotation-xml></math>" + } + }, + { + "data": "<math><annotation-xml encoding=\"Text/htmL\"><div>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,48): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "attrs": [ + { + "name": "encoding", + "value": "Text/htmL" + } + ], + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><annotation-xml encoding=\"Text/htmL\"><div></div></annotation-xml></math></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml encoding=\"Text/htmL\"><div></div></annotation-xml></math>" + } + }, + { + "data": "<math><annotation-xml encoding=\" text/html \"><div>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,50): unexpected-html-element-in-foreign-content", + "(1,50): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "attrs": [ + { + "name": "encoding", + "value": " text/html " + } + ] + } + ] + }, + { + "tag": "div" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><annotation-xml encoding=\" text/html \"></annotation-xml></math><div></div></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml encoding=\" text/html \"><div></div></annotation-xml></math>" + } + }, + { + "data": "<math><annotation-xml> </annotation-xml>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,40): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": " " + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><annotation-xml> </annotation-xml></math></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml> </annotation-xml></math>" + } + }, + { + "data": "<math><annotation-xml>c</annotation-xml>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,40): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "c" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><annotation-xml>c</annotation-xml></math></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml>c</annotation-xml></math>" + } + }, + { + "data": "<math><annotation-xml><!--foo-->", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,32): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "comment": "foo" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><annotation-xml><!--foo--></annotation-xml></math></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml><!--foo--></annotation-xml></math>" + } + }, + { + "data": "<math><annotation-xml></svg>x", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,28): unexpected-end-tag", + "(1,29): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "x" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><annotation-xml>x</annotation-xml></math></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml>x</annotation-xml></math>" + } + }, + { + "data": "<math><annotation-xml><svg>x", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,28): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "x" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><annotation-xml><svg>x</svg></annotation-xml></math></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml><svg>x</svg></annotation-xml></math>" + } + } + ], + "tests21.dat": [ + { + "data": "<svg><![CDATA[foo]]>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,20): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>foo</svg></body></html>", + "noQuirksBodyHtml": "<svg>foo</svg>" + } + }, + { + "data": "<math><![CDATA[foo]]>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,21): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "foo" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math>foo</math></body></html>", + "noQuirksBodyHtml": "<math>foo</math>" + } + }, + { + "data": "<div><![CDATA[foo]]>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,7): expected-dashes-or-doctype", + "(1,20): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "comment": "[CDATA[foo]]" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><!--[CDATA[foo]]--></div></body></html>", + "noQuirksBodyHtml": "<div><!--[CDATA[foo]]--></div>" + } + }, + { + "data": "<svg><![CDATA[foo", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,17): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>foo</svg></body></html>", + "noQuirksBodyHtml": "<svg>foo</svg>" + } + }, + { + "data": "<svg><![CDATA[foo", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,17): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>foo</svg></body></html>", + "noQuirksBodyHtml": "<svg>foo</svg>" + } + }, + { + "data": "<svg><![CDATA[", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,14): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg></svg></body></html>", + "noQuirksBodyHtml": "<svg></svg>" + } + }, + { + "data": "<svg><![CDATA[]]>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,17): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg></svg></body></html>", + "noQuirksBodyHtml": "<svg></svg>" + } + }, + { + "data": "<svg><![CDATA[]] >]]>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,21): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "]] >", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>]] ></svg></body></html>", + "noQuirksBodyHtml": "<svg>]] ></svg>" + } + }, + { + "data": "<svg><![CDATA[]] >]]>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,21): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "]] >", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>]] ></svg></body></html>", + "noQuirksBodyHtml": "<svg>]] ></svg>" + } + }, + { + "data": "<svg><![CDATA[]]", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,16): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "]]" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>]]</svg></body></html>", + "noQuirksBodyHtml": "<svg>]]</svg>" + } + }, + { + "data": "<svg><![CDATA[]", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,15): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "]" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>]</svg></body></html>", + "noQuirksBodyHtml": "<svg>]</svg>" + } + }, + { + "data": "<svg><![CDATA[]>a", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,17): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "]>a", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg>]>a</svg></body></html>", + "noQuirksBodyHtml": "<svg>]>a</svg>" + } + }, + { + "data": "<!DOCTYPE html><svg><![CDATA[foo]]]>", + "errors": [ + "(1,36): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo]" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg>foo]</svg></body></html>", + "noQuirksBodyHtml": "<svg>foo]</svg>" + } + }, + { + "data": "<!DOCTYPE html><svg><![CDATA[foo]]]]>", + "errors": [ + "(1,37): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo]]" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg>foo]]</svg></body></html>", + "noQuirksBodyHtml": "<svg>foo]]</svg>" + } + }, + { + "data": "<!DOCTYPE html><svg><![CDATA[foo]]]]]>", + "errors": [ + "(1,38): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "foo]]]" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg>foo]]]</svg></body></html>", + "noQuirksBodyHtml": "<svg>foo]]]</svg>" + } + }, + { + "data": "<svg><foreignObject><div><![CDATA[foo]]>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,27): expected-dashes-or-doctype", + "(1,40): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg foreignObject": true, + "div": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "div", + "children": [ + { + "comment": "[CDATA[foo]]" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><foreignObject><div><!--[CDATA[foo]]--></div></foreignObject></svg></body></html>", + "noQuirksBodyHtml": "<svg><foreignObject><div><!--[CDATA[foo]]--></div></foreignObject></svg>" + } + }, + { + "data": "<svg><![CDATA[<svg>]]>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,22): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "<svg>", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><svg></svg></body></html>", + "noQuirksBodyHtml": "<svg><svg></svg>" + } + }, + { + "data": "<svg><![CDATA[</svg>a]]>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,24): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "</svg>a", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg></svg>a</svg></body></html>", + "noQuirksBodyHtml": "<svg></svg>a</svg>" + } + }, + { + "data": "<svg><![CDATA[<svg>a", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,20): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "<svg>a", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><svg>a</svg></body></html>", + "noQuirksBodyHtml": "<svg><svg>a</svg>" + } + }, + { + "data": "<svg><![CDATA[</svg>a", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,21): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "</svg>a", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg></svg>a</svg></body></html>", + "noQuirksBodyHtml": "<svg></svg>a</svg>" + } + }, + { + "data": "<svg><![CDATA[<svg>]]><path>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,28): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg path": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "<svg>", + "escaped": true + }, + { + "tag": "path", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><svg><path></path></svg></body></html>", + "noQuirksBodyHtml": "<svg><svg><path></path></svg>" + } + }, + { + "data": "<svg><![CDATA[<svg>]]></path>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,29): unexpected-end-tag", + "(1,29): unexpected-end-tag", + "(1,29): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "<svg>", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><svg></svg></body></html>", + "noQuirksBodyHtml": "<svg><svg></svg>" + } + }, + { + "data": "<svg><![CDATA[<svg>]]><!--path-->", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,33): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "escaped": true, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "<svg>", + "escaped": true + }, + { + "comment": "path" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><svg><!--path--></svg></body></html>", + "noQuirksBodyHtml": "<svg><svg><!--path--></svg>" + } + }, + { + "data": "<svg><![CDATA[<svg>]]>path", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,26): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "<svg>path", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><svg>path</svg></body></html>", + "noQuirksBodyHtml": "<svg><svg>path</svg>" + } + }, + { + "data": "<svg><![CDATA[<!--svg-->]]>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,27): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "text": "<!--svg-->", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><!--svg--></svg></body></html>", + "noQuirksBodyHtml": "<svg><!--svg--></svg>" + } + } + ], + "tests22.dat": [ + { + "data": "<a><b><big><em><strong><div>X</a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,33): adoption-agency-1.3", + "(1,33): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "b": true, + "big": true, + "em": true, + "strong": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "big", + "children": [ + { + "tag": "em", + "children": [ + { + "tag": "strong" + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "big", + "children": [ + { + "tag": "em", + "children": [ + { + "tag": "strong", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a><b><big><em><strong></strong></em></big></b></a><big><em><strong><div><a>X</a></div></strong></em></big></body></html>", + "noQuirksBodyHtml": "<a><b><big><em><strong></strong></em></big></b></a><big><em><strong><div><a>X</a></div></strong></em></big>" + } + }, + { + "data": "<a><b><div id=1><div id=2><div id=3><div id=4><div id=5><div id=6><div id=7><div id=8>A</a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,91): adoption-agency-1.3", + "(1,91): adoption-agency-1.3", + "(1,91): adoption-agency-1.3", + "(1,91): adoption-agency-1.3", + "(1,91): adoption-agency-1.3", + "(1,91): adoption-agency-1.3", + "(1,91): adoption-agency-1.3", + "(1,91): adoption-agency-1.3", + "(1,91): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "b": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "b" + } + ] + }, + { + "tag": "b", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "1" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "2" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "3" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "4" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "5" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "6" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "7" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "8" + } + ], + "children": [ + { + "tag": "a", + "children": [ + { + "text": "A" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a><b></b></a><b><div id=\"1\"><a></a><div id=\"2\"><a></a><div id=\"3\"><a></a><div id=\"4\"><a></a><div id=\"5\"><a></a><div id=\"6\"><a></a><div id=\"7\"><a></a><div id=\"8\"><a>A</a></div></div></div></div></div></div></div></div></b></body></html>", + "noQuirksBodyHtml": "<a><b></b></a><b><div id=\"1\"><a></a><div id=\"2\"><a></a><div id=\"3\"><a></a><div id=\"4\"><a></a><div id=\"5\"><a></a><div id=\"6\"><a></a><div id=\"7\"><a></a><div id=\"8\"><a>A</a></div></div></div></div></div></div></div></div></b>" + } + }, + { + "data": "<a><b><div id=1><div id=2><div id=3><div id=4><div id=5><div id=6><div id=7><div id=8><div id=9>A</a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,101): adoption-agency-1.3", + "(1,101): adoption-agency-1.3", + "(1,101): adoption-agency-1.3", + "(1,101): adoption-agency-1.3", + "(1,101): adoption-agency-1.3", + "(1,101): adoption-agency-1.3", + "(1,101): adoption-agency-1.3", + "(1,101): adoption-agency-1.3", + "(1,101): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "b": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "b" + } + ] + }, + { + "tag": "b", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "1" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "2" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "3" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "4" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "5" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "6" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "7" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "8" + } + ], + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "9" + } + ], + "children": [ + { + "text": "A" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a><b></b></a><b><div id=\"1\"><a></a><div id=\"2\"><a></a><div id=\"3\"><a></a><div id=\"4\"><a></a><div id=\"5\"><a></a><div id=\"6\"><a></a><div id=\"7\"><a></a><div id=\"8\"><a><div id=\"9\">A</div></a></div></div></div></div></div></div></div></div></b></body></html>", + "noQuirksBodyHtml": "<a><b></b></a><b><div id=\"1\"><a></a><div id=\"2\"><a></a><div id=\"3\"><a></a><div id=\"4\"><a></a><div id=\"5\"><a></a><div id=\"6\"><a></a><div id=\"7\"><a></a><div id=\"8\"><a><div id=\"9\">A</div></a></div></div></div></div></div></div></div></div></b>" + } + }, + { + "data": "<a><b><div id=1><div id=2><div id=3><div id=4><div id=5><div id=6><div id=7><div id=8><div id=9><div id=10>A</a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,112): adoption-agency-1.3", + "(1,112): adoption-agency-1.3", + "(1,112): adoption-agency-1.3", + "(1,112): adoption-agency-1.3", + "(1,112): adoption-agency-1.3", + "(1,112): adoption-agency-1.3", + "(1,112): adoption-agency-1.3", + "(1,112): adoption-agency-1.3", + "(1,112): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "b": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "b" + } + ] + }, + { + "tag": "b", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "1" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "2" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "3" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "4" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "5" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "6" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "7" + } + ], + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "8" + } + ], + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "9" + } + ], + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "10" + } + ], + "children": [ + { + "text": "A" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a><b></b></a><b><div id=\"1\"><a></a><div id=\"2\"><a></a><div id=\"3\"><a></a><div id=\"4\"><a></a><div id=\"5\"><a></a><div id=\"6\"><a></a><div id=\"7\"><a></a><div id=\"8\"><a><div id=\"9\"><div id=\"10\">A</div></div></a></div></div></div></div></div></div></div></div></b></body></html>", + "noQuirksBodyHtml": "<a><b></b></a><b><div id=\"1\"><a></a><div id=\"2\"><a></a><div id=\"3\"><a></a><div id=\"4\"><a></a><div id=\"5\"><a></a><div id=\"6\"><a></a><div id=\"7\"><a></a><div id=\"8\"><a><div id=\"9\"><div id=\"10\">A</div></div></a></div></div></div></div></div></div></div></div></b>" + } + }, + { + "data": "<cite><b><cite><i><cite><i><cite><i><div>X</b>TEST", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,46): adoption-agency-1.3", + "(1,50): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "cite": true, + "b": true, + "i": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "cite", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "cite", + "children": [ + { + "tag": "i", + "children": [ + { + "tag": "cite", + "children": [ + { + "tag": "i", + "children": [ + { + "tag": "cite", + "children": [ + { + "tag": "i" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "i", + "children": [ + { + "tag": "i", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "X" + } + ] + }, + { + "text": "TEST" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><cite><b><cite><i><cite><i><cite><i></i></cite></i></cite></i></cite></b><i><i><div><b>X</b>TEST</div></i></i></cite></body></html>", + "noQuirksBodyHtml": "<cite><b><cite><i><cite><i><cite><i></i></cite></i></cite></i></cite></b><i><i><div><b>X</b>TEST</div></i></i></cite>" + } + } + ], + "tests23.dat": [ + { + "data": "<p><font size=4><font color=red><font size=4><font size=4><font size=4><font size=4><font size=4><font color=red><p>X", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,116): unexpected-end-tag", + "(1,117): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "font": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "color", + "value": "red" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "color", + "value": "red" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "color", + "value": "red" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "color", + "value": "red" + } + ], + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p><font size=\"4\"><font color=\"red\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font color=\"red\"></font></font></font></font></font></font></font></font></p><p><font color=\"red\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font color=\"red\">X</font></font></font></font></font></p></body></html>", + "noQuirksBodyHtml": "<p><font size=\"4\"><font color=\"red\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font color=\"red\"></font></font></font></font></font></font></font></font></p><p><font color=\"red\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font color=\"red\">X</font></font></font></font></font></p>" + } + }, + { + "data": "<p><font size=4><font size=4><font size=4><font size=4><p>X", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,58): unexpected-end-tag", + "(1,59): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "font": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"4\"></font></font></font></font></p><p><font size=\"4\"><font size=\"4\"><font size=\"4\">X</font></font></font></p></body></html>", + "noQuirksBodyHtml": "<p><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"4\"></font></font></font></font></p><p><font size=\"4\"><font size=\"4\"><font size=\"4\">X</font></font></font></p>" + } + }, + { + "data": "<p><font size=4><font size=4><font size=4><font size=\"5\"><font size=4><p>X", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,73): unexpected-end-tag", + "(1,74): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "font": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "5" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "5" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"5\"><font size=\"4\"></font></font></font></font></font></p><p><font size=\"4\"><font size=\"4\"><font size=\"5\"><font size=\"4\">X</font></font></font></font></p></body></html>", + "noQuirksBodyHtml": "<p><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"5\"><font size=\"4\"></font></font></font></font></font></p><p><font size=\"4\"><font size=\"4\"><font size=\"5\"><font size=\"4\">X</font></font></font></font></p>" + } + }, + { + "data": "<p><font size=4 id=a><font size=4 id=b><font size=4><font size=4><p>X", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,68): unexpected-end-tag", + "(1,69): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "font": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "id", + "value": "a" + }, + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "id", + "value": "b" + }, + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "id", + "value": "a" + }, + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "id", + "value": "b" + }, + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "4" + } + ], + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p><font size=\"4\" id=\"a\"><font size=\"4\" id=\"b\"><font size=\"4\"><font size=\"4\"></font></font></font></font></p><p><font size=\"4\" id=\"a\"><font size=\"4\" id=\"b\"><font size=\"4\"><font size=\"4\">X</font></font></font></font></p></body></html>", + "noQuirksBodyHtml": "<p><font size=\"4\" id=\"a\"><font size=\"4\" id=\"b\"><font size=\"4\"><font size=\"4\"></font></font></font></font></p><p><font size=\"4\" id=\"a\"><font size=\"4\" id=\"b\"><font size=\"4\"><font size=\"4\">X</font></font></font></font></p>" + } + }, + { + "data": "<p><b id=a><b id=a><b id=a><b><object><b id=a><b id=a>X</object><p>Y", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,64): end-tag-too-early", + "(1,67): unexpected-end-tag", + "(1,68): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "b": true, + "object": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "b", + "attrs": [ + { + "name": "id", + "value": "a" + } + ], + "children": [ + { + "tag": "b", + "attrs": [ + { + "name": "id", + "value": "a" + } + ], + "children": [ + { + "tag": "b", + "attrs": [ + { + "name": "id", + "value": "a" + } + ], + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "object", + "children": [ + { + "tag": "b", + "attrs": [ + { + "name": "id", + "value": "a" + } + ], + "children": [ + { + "tag": "b", + "attrs": [ + { + "name": "id", + "value": "a" + } + ], + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "tag": "b", + "attrs": [ + { + "name": "id", + "value": "a" + } + ], + "children": [ + { + "tag": "b", + "attrs": [ + { + "name": "id", + "value": "a" + } + ], + "children": [ + { + "tag": "b", + "attrs": [ + { + "name": "id", + "value": "a" + } + ], + "children": [ + { + "tag": "b", + "children": [ + { + "text": "Y" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p><b id=\"a\"><b id=\"a\"><b id=\"a\"><b><object><b id=\"a\"><b id=\"a\">X</b></b></object></b></b></b></b></p><p><b id=\"a\"><b id=\"a\"><b id=\"a\"><b>Y</b></b></b></b></p></body></html>", + "noQuirksBodyHtml": "<p><b id=\"a\"><b id=\"a\"><b id=\"a\"><b><object><b id=\"a\"><b id=\"a\">X</b></b></object></b></b></b></b></p><p><b id=\"a\"><b id=\"a\"><b id=\"a\"><b>Y</b></b></b></b></p>" + } + } + ], + "tests24.dat": [ + { + "data": "<!DOCTYPE html>≂̸", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "≂̸" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>≂̸</body></html>", + "noQuirksBodyHtml": "≂̸" + } + }, + { + "data": "<!DOCTYPE html>≂̸A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "≂̸A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>≂̸A</body></html>", + "noQuirksBodyHtml": "≂̸A" + } + }, + { + "data": "<!DOCTYPE html>  ", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": " " + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body> </body></html>", + "noQuirksBodyHtml": " " + } + }, + { + "data": "<!DOCTYPE html>  A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": " A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body> A</body></html>", + "noQuirksBodyHtml": " A" + } + }, + { + "data": "<!DOCTYPE html>⊂⃒", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "⊂⃒" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>⊂⃒</body></html>", + "noQuirksBodyHtml": "⊂⃒" + } + }, + { + "data": "<!DOCTYPE html>⊂⃒A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "⊂⃒A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>⊂⃒A</body></html>", + "noQuirksBodyHtml": "⊂⃒A" + } + }, + { + "data": "<!DOCTYPE html>𝔾", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "𝔾" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>𝔾</body></html>", + "noQuirksBodyHtml": "𝔾" + } + }, + { + "data": "<!DOCTYPE html>𝔾A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "𝔾A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>𝔾A</body></html>", + "noQuirksBodyHtml": "𝔾A" + } + } + ], + "tests25.dat": [ + { + "data": "<!DOCTYPE html><body><foo>A", + "errors": [ + "(1,27): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "foo": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "foo", + "children": [ + { + "text": "A" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><foo>A</foo></body></html>", + "noQuirksBodyHtml": "<foo>A</foo>" + } + }, + { + "data": "<!DOCTYPE html><body><area>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "area": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "area" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><area>A</body></html>", + "noQuirksBodyHtml": "<area>A" + } + }, + { + "data": "<!DOCTYPE html><body><base>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "base": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "base" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><base>A</body></html>", + "noQuirksBodyHtml": "<base>A" + } + }, + { + "data": "<!DOCTYPE html><body><basefont>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "basefont": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "basefont" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><basefont>A</body></html>", + "noQuirksBodyHtml": "<basefont>A" + } + }, + { + "data": "<!DOCTYPE html><body><bgsound>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "bgsound": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "bgsound" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><bgsound>A</body></html>", + "noQuirksBodyHtml": "<bgsound>A" + } + }, + { + "data": "<!DOCTYPE html><body><br>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "br": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "br" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><br>A</body></html>", + "noQuirksBodyHtml": "<br>A" + } + }, + { + "data": "<!DOCTYPE html><body><col>A", + "errors": [ + "(1,26): unexpected-start-tag-ignored" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>A</body></html>", + "noQuirksBodyHtml": "A" + } + }, + { + "data": "<!DOCTYPE html><body><command>A", + "errors": [ + "eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "command": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "command", + "children": [ + { + "text": "A" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><command>A</command></body></html>", + "noQuirksBodyHtml": "<command>A</command>" + } + }, + { + "data": "<!DOCTYPE html><body><embed>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "embed": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "embed" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><embed>A</body></html>", + "noQuirksBodyHtml": "<embed>A" + } + }, + { + "data": "<!DOCTYPE html><body><frame>A", + "errors": [ + "(1,28): unexpected-start-tag-ignored" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>A</body></html>", + "noQuirksBodyHtml": "A" + } + }, + { + "data": "<!DOCTYPE html><body><hr>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "hr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "hr" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><hr>A</body></html>", + "noQuirksBodyHtml": "<hr>A" + } + }, + { + "data": "<!DOCTYPE html><body><img>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "img": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "img" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><img>A</body></html>", + "noQuirksBodyHtml": "<img>A" + } + }, + { + "data": "<!DOCTYPE html><body><input>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "input": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "input" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><input>A</body></html>", + "noQuirksBodyHtml": "<input>A" + } + }, + { + "data": "<!DOCTYPE html><body><keygen>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "keygen": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "keygen" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><keygen>A</body></html>", + "noQuirksBodyHtml": "<keygen>A" + } + }, + { + "data": "<!DOCTYPE html><body><link>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "link": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "link" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><link>A</body></html>", + "noQuirksBodyHtml": "<link>A" + } + }, + { + "data": "<!DOCTYPE html><body><meta>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "meta": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "meta" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><meta>A</body></html>", + "noQuirksBodyHtml": "<meta>A" + } + }, + { + "data": "<!DOCTYPE html><body><param>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "param": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "param" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><param>A</body></html>", + "noQuirksBodyHtml": "<param>A" + } + }, + { + "data": "<!DOCTYPE html><body><source>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "source": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "source" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><source>A</body></html>", + "noQuirksBodyHtml": "<source>A" + } + }, + { + "data": "<!DOCTYPE html><body><track>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "track": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "track" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><track>A</body></html>", + "noQuirksBodyHtml": "<track>A" + } + }, + { + "data": "<!DOCTYPE html><body><wbr>A", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "wbr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "wbr" + }, + { + "text": "A" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><wbr>A</body></html>", + "noQuirksBodyHtml": "<wbr>A" + } + } + ], + "tests26.dat": [ + { + "data": "<!DOCTYPE html><body><a href='#1'><nobr>1<nobr></a><br><a href='#2'><nobr>2<nobr></a><br><a href='#3'><nobr>3<nobr></a>", + "errors": [ + "(1,47): unexpected-start-tag-implies-end-tag", + "(1,51): adoption-agency-1.3", + "(1,74): unexpected-start-tag-implies-end-tag", + "(1,74): adoption-agency-1.3", + "(1,81): unexpected-start-tag-implies-end-tag", + "(1,85): adoption-agency-1.3", + "(1,108): unexpected-start-tag-implies-end-tag", + "(1,108): adoption-agency-1.3", + "(1,115): unexpected-start-tag-implies-end-tag", + "(1,119): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "nobr": true, + "br": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "#1" + } + ], + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "1" + } + ] + }, + { + "tag": "nobr" + } + ] + }, + { + "tag": "nobr", + "children": [ + { + "tag": "br" + }, + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "#2" + } + ] + } + ] + }, + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "#2" + } + ], + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "2" + } + ] + }, + { + "tag": "nobr" + } + ] + }, + { + "tag": "nobr", + "children": [ + { + "tag": "br" + }, + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "#3" + } + ] + } + ] + }, + { + "tag": "a", + "attrs": [ + { + "name": "href", + "value": "#3" + } + ], + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "3" + } + ] + }, + { + "tag": "nobr" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><a href=\"#1\"><nobr>1</nobr><nobr></nobr></a><nobr><br><a href=\"#2\"></a></nobr><a href=\"#2\"><nobr>2</nobr><nobr></nobr></a><nobr><br><a href=\"#3\"></a></nobr><a href=\"#3\"><nobr>3</nobr><nobr></nobr></a></body></html>", + "noQuirksBodyHtml": "<a href=\"#1\"><nobr>1</nobr><nobr></nobr></a><nobr><br><a href=\"#2\"></a></nobr><a href=\"#2\"><nobr>2</nobr><nobr></nobr></a><nobr><br><a href=\"#3\"></a></nobr><a href=\"#3\"><nobr>3</nobr><nobr></nobr></a>" + } + }, + { + "data": "<!DOCTYPE html><body><b><nobr>1<nobr></b><i><nobr>2<nobr></i>3", + "errors": [ + "(1,37): unexpected-start-tag-implies-end-tag", + "(1,41): adoption-agency-1.3", + "(1,50): unexpected-start-tag-implies-end-tag", + "(1,50): adoption-agency-1.3", + "(1,57): unexpected-start-tag-implies-end-tag", + "(1,61): adoption-agency-1.3", + "(1,62): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "nobr": true, + "i": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "1" + } + ] + }, + { + "tag": "nobr" + } + ] + }, + { + "tag": "nobr", + "children": [ + { + "tag": "i" + } + ] + }, + { + "tag": "i", + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "2" + } + ] + }, + { + "tag": "nobr" + } + ] + }, + { + "tag": "nobr", + "children": [ + { + "text": "3" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><b><nobr>1</nobr><nobr></nobr></b><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr></body></html>", + "noQuirksBodyHtml": "<b><nobr>1</nobr><nobr></nobr></b><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr>" + } + }, + { + "data": "<!DOCTYPE html><body><b><nobr>1<table><nobr></b><i><nobr>2<nobr></i>3", + "errors": [ + "(1,44): foster-parenting-start-tag", + "(1,48): foster-parenting-end-tag", + "(1,48): adoption-agency-1.3", + "(1,51): foster-parenting-start-tag", + "(1,57): foster-parenting-start-tag", + "(1,57): nobr-already-in-scope", + "(1,57): adoption-agency-1.2", + "(1,58): foster-parenting-character", + "(1,64): foster-parenting-start-tag", + "(1,64): nobr-already-in-scope", + "(1,68): foster-parenting-end-tag", + "(1,68): adoption-agency-1.2", + "(1,69): foster-parenting-character", + "(1,69): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "nobr": true, + "i": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "1" + }, + { + "tag": "nobr", + "children": [ + { + "tag": "i" + } + ] + }, + { + "tag": "i", + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "2" + } + ] + }, + { + "tag": "nobr" + } + ] + }, + { + "tag": "nobr", + "children": [ + { + "text": "3" + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><b><nobr>1<nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr><table></table></nobr></b></body></html>", + "noQuirksBodyHtml": "<b><nobr>1<nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr><table></table></nobr></b>" + } + }, + { + "data": "<!DOCTYPE html><body><b><nobr>1<table><tr><td><nobr></b><i><nobr>2<nobr></i>3", + "errors": [ + "(1,56): unexpected-end-tag", + "(1,65): unexpected-start-tag-implies-end-tag", + "(1,65): adoption-agency-1.3", + "(1,72): unexpected-start-tag-implies-end-tag", + "(1,76): adoption-agency-1.3", + "(1,77): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "nobr": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "i": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "1" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "nobr", + "children": [ + { + "tag": "i" + } + ] + }, + { + "tag": "i", + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "2" + } + ] + }, + { + "tag": "nobr" + } + ] + }, + { + "tag": "nobr", + "children": [ + { + "text": "3" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><b><nobr>1<table><tbody><tr><td><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr></td></tr></tbody></table></nobr></b></body></html>", + "noQuirksBodyHtml": "<b><nobr>1<table><tbody><tr><td><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr></td></tr></tbody></table></nobr></b>" + } + }, + { + "data": "<!DOCTYPE html><body><b><nobr>1<div><nobr></b><i><nobr>2<nobr></i>3", + "errors": [ + "(1,42): unexpected-start-tag-implies-end-tag", + "(1,42): adoption-agency-1.3", + "(1,46): adoption-agency-1.3", + "(1,46): adoption-agency-1.3", + "(1,55): unexpected-start-tag-implies-end-tag", + "(1,55): adoption-agency-1.3", + "(1,62): unexpected-start-tag-implies-end-tag", + "(1,66): adoption-agency-1.3", + "(1,67): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "nobr": true, + "div": true, + "i": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "1" + } + ] + } + ] + }, + { + "tag": "div", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "nobr" + }, + { + "tag": "nobr" + } + ] + }, + { + "tag": "nobr", + "children": [ + { + "tag": "i" + } + ] + }, + { + "tag": "i", + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "2" + } + ] + }, + { + "tag": "nobr" + } + ] + }, + { + "tag": "nobr", + "children": [ + { + "text": "3" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><b><nobr>1</nobr></b><div><b><nobr></nobr><nobr></nobr></b><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr></div></body></html>", + "noQuirksBodyHtml": "<b><nobr>1</nobr></b><div><b><nobr></nobr><nobr></nobr></b><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr></div>" + } + }, + { + "data": "<!DOCTYPE html><body><b><nobr>1<nobr></b><div><i><nobr>2<nobr></i>3", + "errors": [ + "(1,37): unexpected-start-tag-implies-end-tag", + "(1,41): adoption-agency-1.3", + "(1,55): unexpected-start-tag-implies-end-tag", + "(1,55): adoption-agency-1.3", + "(1,62): unexpected-start-tag-implies-end-tag", + "(1,66): adoption-agency-1.3", + "(1,67): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "nobr": true, + "div": true, + "i": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "1" + } + ] + }, + { + "tag": "nobr" + } + ] + }, + { + "tag": "div", + "children": [ + { + "tag": "nobr", + "children": [ + { + "tag": "i" + } + ] + }, + { + "tag": "i", + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "2" + } + ] + }, + { + "tag": "nobr" + } + ] + }, + { + "tag": "nobr", + "children": [ + { + "text": "3" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><b><nobr>1</nobr><nobr></nobr></b><div><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr></div></body></html>", + "noQuirksBodyHtml": "<b><nobr>1</nobr><nobr></nobr></b><div><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr></div>" + } + }, + { + "data": "<!DOCTYPE html><body><b><nobr>1<nobr><ins></b><i><nobr>", + "errors": [ + "(1,37): unexpected-start-tag-implies-end-tag", + "(1,46): adoption-agency-1.3", + "(1,55): unexpected-start-tag-implies-end-tag", + "(1,55): adoption-agency-1.3", + "(1,55): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "nobr": true, + "ins": true, + "i": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "1" + } + ] + }, + { + "tag": "nobr", + "children": [ + { + "tag": "ins" + } + ] + } + ] + }, + { + "tag": "nobr", + "children": [ + { + "tag": "i" + } + ] + }, + { + "tag": "i", + "children": [ + { + "tag": "nobr" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><b><nobr>1</nobr><nobr><ins></ins></nobr></b><nobr><i></i></nobr><i><nobr></nobr></i></body></html>", + "noQuirksBodyHtml": "<b><nobr>1</nobr><nobr><ins></ins></nobr></b><nobr><i></i></nobr><i><nobr></nobr></i>" + } + }, + { + "data": "<!DOCTYPE html><body><b><nobr>1<ins><nobr></b><i>2", + "errors": [ + "(1,42): unexpected-start-tag-implies-end-tag", + "(1,42): adoption-agency-1.3", + "(1,46): adoption-agency-1.3", + "(1,50): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "nobr": true, + "ins": true, + "i": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "1" + }, + { + "tag": "ins" + } + ] + }, + { + "tag": "nobr" + } + ] + }, + { + "tag": "nobr", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "2" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><b><nobr>1<ins></ins></nobr><nobr></nobr></b><nobr><i>2</i></nobr></body></html>", + "noQuirksBodyHtml": "<b><nobr>1<ins></ins></nobr><nobr></nobr></b><nobr><i>2</i></nobr>" + } + }, + { + "data": "<!DOCTYPE html><body><b>1<nobr></b><i><nobr>2</i>", + "errors": [ + "(1,35): adoption-agency-1.3", + "(1,44): unexpected-start-tag-implies-end-tag", + "(1,44): adoption-agency-1.3", + "(1,49): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "nobr": true, + "i": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "1" + }, + { + "tag": "nobr" + } + ] + }, + { + "tag": "nobr", + "children": [ + { + "tag": "i" + } + ] + }, + { + "tag": "i", + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "2" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><b>1<nobr></nobr></b><nobr><i></i></nobr><i><nobr>2</nobr></i></body></html>", + "noQuirksBodyHtml": "<b>1<nobr></nobr></b><nobr><i></i></nobr><i><nobr>2</nobr></i>" + } + }, + { + "data": "<p><code x</code></p>\n", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,11): invalid-character-in-attribute-name", + "(1,12): unexpected-character-after-solidus-in-tag", + "(1,21): unexpected-end-tag", + "(2,0): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "code": true + }, + "attrWithFunnyChar": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "code", + "attrs": [ + { + "name": "code", + "value": "" + }, + { + "name": "x<", + "value": "" + } + ] + } + ] + }, + { + "tag": "code", + "attrs": [ + { + "name": "code", + "value": "" + }, + { + "name": "x<", + "value": "" + } + ], + "children": [ + { + "text": "\n" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p><code x<=\"\" code=\"\"></code></p><code x<=\"\" code=\"\">\n</code></body></html>", + "noQuirksBodyHtml": "<p><code x<=\"\" code=\"\"></code></p><code x<=\"\" code=\"\">\n</code>" + } + }, + { + "data": "<!DOCTYPE html><svg><foreignObject><p><i></p>a", + "errors": [ + "(1,45): unexpected-end-tag", + "(1,46): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg foreignObject": true, + "p": true, + "i": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "i" + } + ] + }, + { + "tag": "i", + "children": [ + { + "text": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><svg><foreignObject><p><i></i></p><i>a</i></foreignObject></svg></body></html>", + "noQuirksBodyHtml": "<svg><foreignObject><p><i></i></p><i>a</i></foreignObject></svg>" + } + }, + { + "data": "<!DOCTYPE html><table><tr><td><svg><foreignObject><p><i></p>a", + "errors": [ + "(1,60): unexpected-end-tag", + "(1,61): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "svg svg": true, + "svg foreignObject": true, + "p": true, + "i": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "i" + } + ] + }, + { + "tag": "i", + "children": [ + { + "text": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><svg><foreignObject><p><i></i></p><i>a</i></foreignObject></svg></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><svg><foreignObject><p><i></i></p><i>a</i></foreignObject></svg></td></tr></tbody></table>" + } + }, + { + "data": "<!DOCTYPE html><math><mtext><p><i></p>a", + "errors": [ + "(1,38): unexpected-end-tag", + "(1,39): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mtext": true, + "p": true, + "i": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mtext", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "i" + } + ] + }, + { + "tag": "i", + "children": [ + { + "text": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><mtext><p><i></i></p><i>a</i></mtext></math></body></html>", + "noQuirksBodyHtml": "<math><mtext><p><i></i></p><i>a</i></mtext></math>" + } + }, + { + "data": "<!DOCTYPE html><table><tr><td><math><mtext><p><i></p>a", + "errors": [ + "(1,53): unexpected-end-tag", + "(1,54): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "math math": true, + "math mtext": true, + "p": true, + "i": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mtext", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "i" + } + ] + }, + { + "tag": "i", + "children": [ + { + "text": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><math><mtext><p><i></i></p><i>a</i></mtext></math></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><math><mtext><p><i></i></p><i>a</i></mtext></math></td></tr></tbody></table>" + } + }, + { + "data": "<!DOCTYPE html><body><div><!/div>a", + "errors": [ + "(1,28): expected-dashes-or-doctype", + "(1,34): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + }, + "doctype": true, + "comment": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "comment": "/div" + }, + { + "text": "a" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><div><!--/div-->a</div></body></html>", + "noQuirksBodyHtml": "<div><!--/div-->a</div>" + } + }, + { + "data": "<button><p><button>", + "errors": [ + "Line 1 Col 8 Unexpected start tag (button). Expected DOCTYPE.", + "Line 1 Col 19 Unexpected start tag (button) implies end tag (button).", + "Line 1 Col 19 Expected closing tag. Unexpected end of file." + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "button": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "button", + "children": [ + { + "tag": "p" + } + ] + }, + { + "tag": "button" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><button><p></p></button><button></button></body></html>", + "noQuirksBodyHtml": "<button><p></p></button><button></button>" + } + } + ], + "tests3.dat": [ + { + "data": "<head></head><style></style>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,20): unexpected-start-tag-out-of-my-head" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style" + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><style></style></head><body></body></html>", + "noQuirksBodyHtml": "<style></style>" + } + }, + { + "data": "<head></head><script></script>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,21): unexpected-start-tag-out-of-my-head" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script" + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><script></script></head><body></body></html>", + "noQuirksBodyHtml": "<script></script>" + } + }, + { + "data": "<head></head><!-- --><style></style><!-- --><script></script>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,28): unexpected-start-tag-out-of-my-head", + "(1,52): unexpected-start-tag-out-of-my-head" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "script": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style" + }, + { + "tag": "script" + } + ] + }, + { + "comment": " " + }, + { + "comment": " " + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><style></style><script></script></head><!-- --><!-- --><body></body></html>", + "noQuirksBodyHtml": "<!-- --><style></style><!-- --><script></script>" + } + }, + { + "data": "<head></head><!-- -->x<style></style><!-- --><script></script>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "style": true, + "script": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "comment": " " + }, + { + "tag": "body", + "children": [ + { + "text": "x" + }, + { + "tag": "style" + }, + { + "comment": " " + }, + { + "tag": "script" + } + ] + } + ] + } + ], + "html": "<html><head></head><!-- --><body>x<style></style><!-- --><script></script></body></html>", + "noQuirksBodyHtml": "<!-- -->x<style></style><!-- --><script></script>" + } + }, + { + "data": "<!DOCTYPE html><html><head></head><body><pre>\n</pre></body></html>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "pre": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "pre" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><pre></pre></body></html>", + "noQuirksBodyHtml": "<pre></pre>" + } + }, + { + "data": "<!DOCTYPE html><html><head></head><body><pre>\nfoo</pre></body></html>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "pre": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "pre", + "children": [ + { + "text": "foo" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><pre>foo</pre></body></html>", + "noQuirksBodyHtml": "<pre>foo</pre>" + } + }, + { + "data": "<!DOCTYPE html><html><head></head><body><pre>\n\nfoo</pre></body></html>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "pre": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "pre", + "children": [ + { + "text": "\nfoo" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><pre>\nfoo</pre></body></html>", + "noQuirksBodyHtml": "<pre>\nfoo</pre>" + } + }, + { + "data": "<!DOCTYPE html><html><head></head><body><pre>\nfoo\n</pre></body></html>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "pre": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "pre", + "children": [ + { + "text": "foo\n" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><pre>foo\n</pre></body></html>", + "noQuirksBodyHtml": "<pre>foo\n</pre>" + } + }, + { + "data": "<!DOCTYPE html><html><head></head><body><pre>x</pre><span>\n</span></body></html>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "pre": true, + "span": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "pre", + "children": [ + { + "text": "x" + } + ] + }, + { + "tag": "span", + "children": [ + { + "text": "\n" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><pre>x</pre><span>\n</span></body></html>", + "noQuirksBodyHtml": "<pre>x</pre><span>\n</span>" + } + }, + { + "data": "<!DOCTYPE html><html><head></head><body><pre>x\ny</pre></body></html>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "pre": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "pre", + "children": [ + { + "text": "x\ny" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><pre>x\ny</pre></body></html>", + "noQuirksBodyHtml": "<pre>x\ny</pre>" + } + }, + { + "data": "<!DOCTYPE html><html><head></head><body><pre>x<div>\ny</pre></body></html>", + "errors": [ + "(2,7): end-tag-too-early" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "pre": true, + "div": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "pre", + "children": [ + { + "text": "x" + }, + { + "tag": "div", + "children": [ + { + "text": "\ny" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><pre>x<div>\ny</div></pre></body></html>", + "noQuirksBodyHtml": "<pre>x<div>\ny</div></pre>" + } + }, + { + "data": "<!DOCTYPE html><pre>

A</pre>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "pre": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "pre", + "children": [ + { + "text": "\nA" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><pre>\nA</pre></body></html>", + "noQuirksBodyHtml": "<pre>\nA</pre>" + } + }, + { + "data": "<!DOCTYPE html><HTML><META><HEAD></HEAD></HTML>", + "errors": [ + "(1,33): two-heads-are-not-better-than-one" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "meta": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "meta" + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><meta></head><body></body></html>", + "noQuirksBodyHtml": "<meta>" + } + }, + { + "data": "<!DOCTYPE html><HTML><HEAD><head></HEAD></HTML>", + "errors": [ + "(1,33): two-heads-are-not-better-than-one" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<textarea>foo<span>bar</span><i>baz", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(1,35): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea", + "children": [ + { + "text": "foo<span>bar</span><i>baz", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><textarea>foo<span>bar</span><i>baz</textarea></body></html>", + "noQuirksBodyHtml": "<textarea>foo<span>bar</span><i>baz</textarea>" + } + }, + { + "data": "<title>foo<span>bar</em><i>baz", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,30): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "foo<span>bar</em><i>baz", + "escaped": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><title>foo<span>bar</em><i>baz</title></head><body></body></html>", + "noQuirksBodyHtml": "<title>foo<span>bar</em><i>baz</title>" + } + }, + { + "data": "<!DOCTYPE html><textarea>\n</textarea>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><textarea></textarea></body></html>", + "noQuirksBodyHtml": "<textarea></textarea>" + } + }, + { + "data": "<!DOCTYPE html><textarea>\nfoo</textarea>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea", + "children": [ + { + "text": "foo" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><textarea>foo</textarea></body></html>", + "noQuirksBodyHtml": "<textarea>foo</textarea>" + } + }, + { + "data": "<!DOCTYPE html><textarea>\n\nfoo</textarea>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea", + "children": [ + { + "text": "\nfoo" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><textarea>\nfoo</textarea></body></html>", + "noQuirksBodyHtml": "<textarea>\nfoo</textarea>" + } + }, + { + "data": "<!DOCTYPE html><html><head></head><body><ul><li><div><p><li></ul></body></html>", + "errors": [ + "(1,60): end-tag-too-early" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ul": true, + "li": true, + "div": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ul", + "children": [ + { + "tag": "li", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "p" + } + ] + } + ] + }, + { + "tag": "li" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><ul><li><div><p></p></div></li><li></li></ul></body></html>", + "noQuirksBodyHtml": "<ul><li><div><p></p></div></li><li></li></ul>" + } + }, + { + "data": "<!doctype html><nobr><nobr><nobr>", + "errors": [ + "(1,27): unexpected-start-tag-implies-end-tag", + "(1,33): unexpected-start-tag-implies-end-tag", + "(1,33): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "nobr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "nobr" + }, + { + "tag": "nobr" + }, + { + "tag": "nobr" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><nobr></nobr><nobr></nobr><nobr></nobr></body></html>", + "noQuirksBodyHtml": "<nobr></nobr><nobr></nobr><nobr></nobr>" + } + }, + { + "data": "<!doctype html><nobr><nobr></nobr><nobr>", + "errors": [ + "(1,27): unexpected-start-tag-implies-end-tag", + "(1,40): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "nobr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "nobr" + }, + { + "tag": "nobr" + }, + { + "tag": "nobr" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><nobr></nobr><nobr></nobr><nobr></nobr></body></html>", + "noQuirksBodyHtml": "<nobr></nobr><nobr></nobr><nobr></nobr>" + } + }, + { + "data": "<!doctype html><html><body><p><table></table></body></html>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p></p><table></table></body></html>", + "noQuirksBodyHtml": "<p></p><table></table>" + } + }, + { + "data": "<p><table></table>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "table": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "table" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p><table></table></p></body></html>", + "noQuirksBodyHtml": "<p></p><table></table>" + } + } + ], + "tests4.dat": [ + { + "data": "direct div content", + "errors": [], + "fragment": { + "name": "div" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "direct div content" + } + ], + "html": "direct div content", + "noQuirksBodyHtml": "direct div content" + } + }, + { + "data": "direct textarea content", + "errors": [], + "fragment": { + "name": "textarea" + }, + "document": { + "props": { + "tags": {} + }, + "tree": [ + { + "text": "direct textarea content" + } + ], + "html": "direct textarea content", + "noQuirksBodyHtml": "direct textarea content" + } + }, + { + "data": "textarea content with <em>pseudo</em> <foo>markup", + "errors": [], + "fragment": { + "name": "textarea" + }, + "document": { + "props": { + "tags": {}, + "escaped": true + }, + "tree": [ + { + "text": "textarea content with <em>pseudo</em> <foo>markup", + "escaped": true + } + ], + "html": "textarea content with <em>pseudo</em> <foo>markup", + "noQuirksBodyHtml": "textarea content with <em>pseudo</em> <foo>markup</foo>" + } + }, + { + "data": "this is CDATA inside a <style> element", + "errors": [], + "fragment": { + "name": "style" + }, + "document": { + "props": { + "tags": {}, + "no_escape": true + }, + "tree": [ + { + "text": "this is CDATA inside a <style> element", + "no_escape": true + } + ], + "html": "this is CDATA inside a <style> element", + "noQuirksBodyHtml": "this is CDATA inside a <style> element</style>" + } + }, + { + "data": "</plaintext>", + "errors": [], + "fragment": { + "name": "plaintext" + }, + "document": { + "props": { + "tags": {}, + "no_escape": true + }, + "tree": [ + { + "text": "</plaintext>", + "no_escape": true + } + ], + "html": "</plaintext>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "setting html's innerHTML", + "errors": [], + "fragment": { + "name": "html" + }, + "document": { + "props": { + "tags": { + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "setting html's innerHTML" + } + ] + } + ], + "html": "<head></head><body>setting html's innerHTML</body>", + "noQuirksBodyHtml": "setting html's innerHTML" + } + }, + { + "data": "<title>setting head's innerHTML</title>", + "errors": [], + "fragment": { + "name": "head" + }, + "document": { + "props": { + "tags": { + "title": true + } + }, + "tree": [ + { + "tag": "title", + "children": [ + { + "text": "setting head's innerHTML" + } + ] + } + ], + "html": "<title>setting head's innerHTML</title>", + "noQuirksBodyHtml": "<title>setting head's innerHTML</title>" + } + } + ], + "tests5.dat": [ + { + "data": "<style> <!-- </style>x", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": " <!-- ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "x" + } + ] + } + ] + } + ], + "html": "<html><head><style> <!-- </style></head><body>x</body></html>", + "noQuirksBodyHtml": "<style> <!-- </style>x" + } + }, + { + "data": "<style> <!-- </style> --> </style>x", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,34): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": " <!-- ", + "no_escape": true + } + ] + }, + { + "text": " " + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "--> x", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head><style> <!-- </style> </head><body>--> x</body></html>", + "noQuirksBodyHtml": "<style> <!-- </style> --> x" + } + }, + { + "data": "<style> <!--> </style>x", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": " <!--> ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "x" + } + ] + } + ] + } + ], + "html": "<html><head><style> <!--> </style></head><body>x</body></html>", + "noQuirksBodyHtml": "<style> <!--> </style>x" + } + }, + { + "data": "<style> <!---> </style>x", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": " <!---> ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "x" + } + ] + } + ] + } + ], + "html": "<html><head><style> <!---> </style></head><body>x</body></html>", + "noQuirksBodyHtml": "<style> <!---> </style>x" + } + }, + { + "data": "<iframe> <!---> </iframe>x", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "iframe": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "iframe", + "children": [ + { + "text": " <!---> ", + "no_escape": true + } + ] + }, + { + "text": "x" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><iframe> <!---> </iframe>x</body></html>", + "noQuirksBodyHtml": "<iframe> <!---> </iframe>x" + } + }, + { + "data": "<iframe> <!--- </iframe>->x</iframe> --> </iframe>x", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,36): unexpected-end-tag", + "(1,50): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "iframe": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "iframe", + "children": [ + { + "text": " <!--- ", + "no_escape": true + } + ] + }, + { + "text": "->x --> x", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body><iframe> <!--- </iframe>->x --> x</body></html>", + "noQuirksBodyHtml": "<iframe> <!--- </iframe>->x --> x" + } + }, + { + "data": "<script> <!-- </script> --> </script>x", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,37): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "script": true, + "body": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "script", + "children": [ + { + "text": " <!-- ", + "no_escape": true + } + ] + }, + { + "text": " " + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "--> x", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head><script> <!-- </script> </head><body>--> x</body></html>", + "noQuirksBodyHtml": "<script> <!-- </script> --> x" + } + }, + { + "data": "<title> <!-- </title> --> </title>x", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,34): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": " <!-- ", + "escaped": true + } + ] + }, + { + "text": " " + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "--> x", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head><title> <!-- </title> </head><body>--> x</body></html>", + "noQuirksBodyHtml": "<title> <!-- </title> --> x" + } + }, + { + "data": "<textarea> <!--- </textarea>->x</textarea> --> </textarea>x", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(1,42): unexpected-end-tag", + "(1,58): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "textarea": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "textarea", + "children": [ + { + "text": " <!--- ", + "escaped": true + } + ] + }, + { + "text": "->x --> x", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body><textarea> <!--- </textarea>->x --> x</body></html>", + "noQuirksBodyHtml": "<textarea> <!--- </textarea>->x --> x" + } + }, + { + "data": "<style> <!</-- </style>x", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style", + "children": [ + { + "text": " <!</-- ", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "x" + } + ] + } + ] + } + ], + "html": "<html><head><style> <!</-- </style></head><body>x</body></html>", + "noQuirksBodyHtml": "<style> <!</-- </style>x" + } + }, + { + "data": "<p><xmp></xmp>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "xmp": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p" + }, + { + "tag": "xmp" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p></p><xmp></xmp></body></html>", + "noQuirksBodyHtml": "<p></p><xmp></xmp>" + } + }, + { + "data": "<xmp> <!-- > --> </xmp>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "xmp": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "xmp", + "children": [ + { + "text": " <!-- > --> ", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><xmp> <!-- > --> </xmp></body></html>", + "noQuirksBodyHtml": "<xmp> <!-- > --> </xmp>" + } + }, + { + "data": "<title>&</title>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "&", + "escaped": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><title>&</title></head><body></body></html>", + "noQuirksBodyHtml": "<title>&</title>" + } + }, + { + "data": "<title><!--&--></title>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "<!--&-->", + "escaped": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><title><!--&--></title></head><body></body></html>", + "noQuirksBodyHtml": "<title><!--&--></title>" + } + }, + { + "data": "<title><!--</title>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "<!--", + "escaped": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><title><!--</title></head><body></body></html>", + "noQuirksBodyHtml": "<title><!--</title>" + } + }, + { + "data": "<noscript><!--</noscript>--></noscript>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(1,39): unexpected-end-tag" + ], + "script": "on", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "no_escape": true, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "text": "<!--", + "no_escape": true + } + ] + } + ] + }, + { + "tag": "body", + "children": [ + { + "text": "-->", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head><noscript><!--</noscript></head><body>--></body></html>", + "noQuirksBodyHtml": "<noscript><!--</noscript>--></noscript>" + } + }, + { + "data": "<noscript><!--</noscript>--></noscript>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag" + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "noscript": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "noscript", + "children": [ + { + "comment": "</noscript>" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head><noscript><!--</noscript>--></noscript></head><body></body></html>", + "noQuirksBodyHtml": "<noscript><!--</noscript>--></noscript>" + } + } + ], + "tests6.dat": [ + { + "data": "<!doctype html></head> <head>", + "errors": [ + "(1,29): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "text": " " + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head> <body></body></html>", + "noQuirksBodyHtml": " " + } + }, + { + "data": "<!doctype html><form><div></form><div>", + "errors": [ + "(1,33): end-tag-too-early-ignored", + "(1,38): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "form": true, + "div": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "form", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><form><div><div></div></div></form></body></html>", + "noQuirksBodyHtml": "<form><div><div></div></div></form>" + } + }, + { + "data": "<!doctype html><title>&</title>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "doctype": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "&", + "escaped": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><title>&</title></head><body></body></html>", + "noQuirksBodyHtml": "<title>&</title>" + } + }, + { + "data": "<!doctype html><title><!--&--></title>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "doctype": true, + "escaped": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "<!--&-->", + "escaped": true + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><title><!--&--></title></head><body></body></html>", + "noQuirksBodyHtml": "<title><!--&--></title>" + } + }, + { + "data": "<!doctype>", + "errors": [ + "(1,9): need-space-after-doctype", + "(1,10): expected-doctype-name-but-got-right-bracket", + "(1,10): unknown-doctype" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE ><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!---x", + "errors": [ + "(1,6): eof-in-comment", + "(1,6): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": "-x" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!---x--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!---x-->" + } + }, + { + "data": "<body>\n<div>", + "errors": [ + "(1,6): unexpected-start-tag", + "(2,5): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "div" + }, + "document": { + "props": { + "tags": { + "div": true + } + }, + "tree": [ + { + "text": "\n" + }, + { + "tag": "div" + } + ], + "html": "\n<div></div>", + "noQuirksBodyHtml": "\n<div></div>" + } + }, + { + "data": "<frameset></frameset>\nfoo", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(2,1): unexpected-char-after-frameset", + "(2,2): unexpected-char-after-frameset", + "(2,3): unexpected-char-after-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + }, + { + "text": "\n" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset>\n</html>", + "noQuirksBodyHtml": "\nfoo" + } + }, + { + "data": "<frameset></frameset>\n<noframes>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(2,10): expected-named-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true, + "noframes": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + }, + { + "text": "\n" + }, + { + "tag": "noframes" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset>\n<noframes></noframes></html>", + "noQuirksBodyHtml": "\n<noframes></noframes>" + } + }, + { + "data": "<frameset></frameset>\n<div>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(2,5): unexpected-start-tag-after-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + }, + { + "text": "\n" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset>\n</html>", + "noQuirksBodyHtml": "\n<div></div>" + } + }, + { + "data": "<frameset></frameset>\n</html>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + }, + { + "text": "\n" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset>\n</html>", + "noQuirksBodyHtml": "\n" + } + }, + { + "data": "<frameset></frameset>\n</div>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(2,6): unexpected-end-tag-after-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + }, + { + "text": "\n" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset>\n</html>", + "noQuirksBodyHtml": "\n" + } + }, + { + "data": "<form><form>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,12): unexpected-start-tag", + "(1,12): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "form": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "form" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><form></form></body></html>", + "noQuirksBodyHtml": "<form></form>" + } + }, + { + "data": "<button><button>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,16): unexpected-start-tag-implies-end-tag", + "(1,16): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "button": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "button" + }, + { + "tag": "button" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><button></button><button></button></body></html>", + "noQuirksBodyHtml": "<button></button><button></button>" + } + }, + { + "data": "<table><tr><td></th>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,20): unexpected-end-tag", + "(1,20): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td></td></tr></tbody></table>" + } + }, + { + "data": "<table><caption><td>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,20): unexpected-cell-in-table-body", + "(1,20): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption" + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><caption></caption><tbody><tr><td></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><caption></caption><tbody><tr><td></td></tr></tbody></table>" + } + }, + { + "data": "<table><caption><div>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,21): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><caption><div></div></caption></table></body></html>", + "noQuirksBodyHtml": "<table><caption><div></div></caption></table>" + } + }, + { + "data": "</caption><div>", + "errors": [ + "(1,10): XXX-undefined-error", + "(1,15): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "div": true + } + }, + "tree": [ + { + "tag": "div" + } + ], + "html": "<div></div>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<table><caption><div></caption>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,31): expected-one-end-tag-but-got-another", + "(1,31): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><caption><div></div></caption></table></body></html>", + "noQuirksBodyHtml": "<table><caption><div></div></caption></table>" + } + }, + { + "data": "<table><caption></table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><caption></caption></table></body></html>", + "noQuirksBodyHtml": "<table><caption></caption></table>" + } + }, + { + "data": "</table><div>", + "errors": [ + "(1,8): unexpected-end-tag", + "(1,13): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "div": true + } + }, + "tree": [ + { + "tag": "div" + } + ], + "html": "<div></div>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<table><caption></body></col></colgroup></html></tbody></td></tfoot></th></thead></tr>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,23): unexpected-end-tag", + "(1,29): unexpected-end-tag", + "(1,40): unexpected-end-tag", + "(1,47): unexpected-end-tag", + "(1,55): unexpected-end-tag", + "(1,60): unexpected-end-tag", + "(1,68): unexpected-end-tag", + "(1,73): unexpected-end-tag", + "(1,81): unexpected-end-tag", + "(1,86): unexpected-end-tag", + "(1,86): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><caption></caption></table></body></html>", + "noQuirksBodyHtml": "<table><caption></caption></table>" + } + }, + { + "data": "<table><caption><div></div>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,27): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><caption><div></div></caption></table></body></html>", + "noQuirksBodyHtml": "<table><caption><div></div></caption></table>" + } + }, + { + "data": "<table><tr><td></body></caption></col></colgroup></html>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,22): unexpected-end-tag", + "(1,32): unexpected-end-tag", + "(1,38): unexpected-end-tag", + "(1,49): unexpected-end-tag", + "(1,56): unexpected-end-tag", + "(1,56): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td></td></tr></tbody></table>" + } + }, + { + "data": "</table></tbody></tfoot></thead></tr><div>", + "errors": [ + "(1,8): unexpected-end-tag", + "(1,16): unexpected-end-tag", + "(1,24): unexpected-end-tag", + "(1,32): unexpected-end-tag", + "(1,37): unexpected-end-tag", + "(1,42): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "div": true + } + }, + "tree": [ + { + "tag": "div" + } + ], + "html": "<div></div>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<table><colgroup>foo", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,18): foster-parenting-character-in-table", + "(1,19): foster-parenting-character-in-table", + "(1,20): foster-parenting-character-in-table", + "(1,20): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "colgroup": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "foo" + }, + { + "tag": "table", + "children": [ + { + "tag": "colgroup" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>foo<table><colgroup></colgroup></table></body></html>", + "noQuirksBodyHtml": "foo<table><colgroup></colgroup></table>" + } + }, + { + "data": "foo<col>", + "errors": [ + "(1,1): unexpected-character-in-colgroup", + "(1,2): unexpected-character-in-colgroup", + "(1,3): unexpected-character-in-colgroup" + ], + "fragment": { + "name": "colgroup" + }, + "document": { + "props": { + "tags": { + "col": true + } + }, + "tree": [ + { + "tag": "col" + } + ], + "html": "<col>", + "noQuirksBodyHtml": "foo" + } + }, + { + "data": "<table><colgroup></col>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,23): no-end-tag", + "(1,23): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "colgroup": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "colgroup" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><colgroup></colgroup></table></body></html>", + "noQuirksBodyHtml": "<table><colgroup></colgroup></table>" + } + }, + { + "data": "<frameset><div>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(1,15): unexpected-start-tag-in-frameset", + "(1,15): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "</frameset><frame>", + "errors": [ + "(1,11): unexpected-frameset-in-frameset-innerhtml" + ], + "fragment": { + "name": "frameset" + }, + "document": { + "props": { + "tags": { + "frame": true + } + }, + "tree": [ + { + "tag": "frame" + } + ], + "html": "<frame>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<frameset></div>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag", + "(1,16): unexpected-end-tag-in-frameset", + "(1,16): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "</body><div>", + "errors": [ + "(1,7): unexpected-close-tag", + "(1,12): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "body" + }, + "document": { + "props": { + "tags": { + "div": true + } + }, + "tree": [ + { + "tag": "div" + } + ], + "html": "<div></div>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<table><tr><div>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,16): unexpected-start-tag-implies-table-voodoo", + "(1,16): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "table": true, + "tbody": true, + "tr": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div></div><table><tbody><tr></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<div></div><table><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "</tr><td>", + "errors": [ + "(1,5): unexpected-end-tag" + ], + "fragment": { + "name": "tr" + }, + "document": { + "props": { + "tags": { + "td": true + } + }, + "tree": [ + { + "tag": "td" + } + ], + "html": "<td></td>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "</tbody></tfoot></thead><td>", + "errors": [ + "(1,8): unexpected-end-tag", + "(1,16): unexpected-end-tag", + "(1,24): unexpected-end-tag" + ], + "fragment": { + "name": "tr" + }, + "document": { + "props": { + "tags": { + "td": true + } + }, + "tree": [ + { + "tag": "td" + } + ], + "html": "<td></td>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<table><tr><div><td>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,16): foster-parenting-start-tag", + "(1,20): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div></div><table><tbody><tr><td></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<div></div><table><tbody><tr><td></td></tr></tbody></table>" + } + }, + { + "data": "<caption><col><colgroup><tbody><tfoot><thead><tr>", + "errors": [ + "(1,9): unexpected-start-tag", + "(1,14): unexpected-start-tag", + "(1,24): unexpected-start-tag", + "(1,31): unexpected-start-tag", + "(1,38): unexpected-start-tag", + "(1,45): unexpected-start-tag" + ], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "tr": true + } + }, + "tree": [ + { + "tag": "tr" + } + ], + "html": "<tr></tr>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<table><tbody></thead>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,22): unexpected-end-tag-in-table-body", + "(1,22): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody></tbody></table>" + } + }, + { + "data": "</table><tr>", + "errors": [ + "(1,8): unexpected-end-tag" + ], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "tr": true + } + }, + "tree": [ + { + "tag": "tr" + } + ], + "html": "<tr></tr>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<table><tbody></body></caption></col></colgroup></html></td></th></tr>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,21): unexpected-end-tag-in-table-body", + "(1,31): unexpected-end-tag-in-table-body", + "(1,37): unexpected-end-tag-in-table-body", + "(1,48): unexpected-end-tag-in-table-body", + "(1,55): unexpected-end-tag-in-table-body", + "(1,60): unexpected-end-tag-in-table-body", + "(1,65): unexpected-end-tag-in-table-body", + "(1,70): unexpected-end-tag-in-table-body", + "(1,70): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody></tbody></table>" + } + }, + { + "data": "<table><tbody></div>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,20): unexpected-end-tag-implies-table-voodoo", + "(1,20): end-tag-too-early", + "(1,20): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody></tbody></table>" + } + }, + { + "data": "<table><table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,14): unexpected-start-tag-implies-end-tag", + "(1,14): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table" + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table></table><table></table></body></html>", + "noQuirksBodyHtml": "<table></table><table></table>" + } + }, + { + "data": "<table></body></caption></col></colgroup></html></tbody></td></tfoot></th></thead></tr>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,14): unexpected-end-tag", + "(1,24): unexpected-end-tag", + "(1,30): unexpected-end-tag", + "(1,41): unexpected-end-tag", + "(1,48): unexpected-end-tag", + "(1,56): unexpected-end-tag", + "(1,61): unexpected-end-tag", + "(1,69): unexpected-end-tag", + "(1,74): unexpected-end-tag", + "(1,82): unexpected-end-tag", + "(1,87): unexpected-end-tag", + "(1,87): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table></table></body></html>", + "noQuirksBodyHtml": "<table></table>" + } + }, + { + "data": "</table><tr>", + "errors": [ + "(1,8): unexpected-end-tag" + ], + "fragment": { + "name": "table" + }, + "document": { + "props": { + "tags": { + "tbody": true, + "tr": true + } + }, + "tree": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ], + "html": "<tbody><tr></tr></tbody>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<body></body></html>", + "errors": [ + "(1,20): unexpected-end-tag-after-body-innerhtml" + ], + "fragment": { + "name": "html" + }, + "document": { + "props": { + "tags": { + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ], + "html": "<head></head><body></body>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<html><frameset></frameset></html> ", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + }, + { + "text": " " + } + ] + } + ], + "html": "<html><head></head><frameset></frameset> </html>", + "noQuirksBodyHtml": " " + } + }, + { + "data": "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\"><html></html>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html \"-//W3C//DTD HTML 4.01//EN\" \"\"" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<param><frameset></frameset>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,17): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<param>" + } + }, + { + "data": "<source><frameset></frameset>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,18): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<source>" + } + }, + { + "data": "<track><frameset></frameset>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,17): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<track>" + } + }, + { + "data": "</html><frameset></frameset>", + "errors": [ + "(1,7): expected-doctype-but-got-end-tag", + "(1,17): expected-eof-but-got-start-tag", + "(1,17): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "</body><frameset></frameset>", + "errors": [ + "(1,7): expected-doctype-but-got-end-tag", + "(1,17): unexpected-start-tag-after-body", + "(1,17): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "" + } + } + ], + "tests7.dat": [ + { + "data": "<!doctype html><body><title>X</title>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "title": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><title>X</title></body></html>", + "noQuirksBodyHtml": "<title>X</title>" + } + }, + { + "data": "<!doctype html><table><title>X</title></table>", + "errors": [ + "(1,29): unexpected-start-tag-implies-table-voodoo" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "title": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "X" + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><title>X</title><table></table></body></html>", + "noQuirksBodyHtml": "<title>X</title><table></table>" + } + }, + { + "data": "<!doctype html><head></head><title>X</title>", + "errors": [ + "(1,35): unexpected-start-tag-out-of-my-head" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "X" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><title>X</title></head><body></body></html>", + "noQuirksBodyHtml": "<title>X</title>" + } + }, + { + "data": "<!doctype html></head><title>X</title>", + "errors": [ + "(1,29): unexpected-start-tag-out-of-my-head" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "title": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "title", + "children": [ + { + "text": "X" + } + ] + } + ] + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head><title>X</title></head><body></body></html>", + "noQuirksBodyHtml": "<title>X</title>" + } + }, + { + "data": "<!doctype html><table><meta></table>", + "errors": [ + "(1,28): unexpected-start-tag-implies-table-voodoo" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "meta": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "meta" + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><meta><table></table></body></html>", + "noQuirksBodyHtml": "<meta><table></table>" + } + }, + { + "data": "<!doctype html><table>X<tr><td><table> <meta></table></table>", + "errors": [ + "unexpected text in table", + "(1,45): unexpected-start-tag-implies-table-voodoo" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "meta": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "X" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "meta" + }, + { + "tag": "table", + "children": [ + { + "text": " " + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>X<table><tbody><tr><td><meta><table> </table></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "X<table><tbody><tr><td><meta><table> </table></td></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><html> <head>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": " " + } + }, + { + "data": "<!doctype html> <head>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": " " + } + }, + { + "data": "<!doctype html><table><style> <tr>x </style> </table>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "style": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "style", + "children": [ + { + "text": " <tr>x ", + "no_escape": true + } + ] + }, + { + "text": " " + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><style> <tr>x </style> </table></body></html>", + "noQuirksBodyHtml": "<table><style> <tr>x </style> </table>" + } + }, + { + "data": "<!doctype html><table><TBODY><script> <tr>x </script> </table>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "script": true + }, + "doctype": true, + "no_escape": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "script", + "children": [ + { + "text": " <tr>x ", + "no_escape": true + } + ] + }, + { + "text": " " + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><script> <tr>x </script> </tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><script> <tr>x </script> </tbody></table>" + } + }, + { + "data": "<!doctype html><p><applet><p>X</p></applet>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "applet": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "applet", + "children": [ + { + "tag": "p", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><applet><p>X</p></applet></p></body></html>", + "noQuirksBodyHtml": "<p><applet><p>X</p></applet></p>" + } + }, + { + "data": "<!doctype html><p><object type=\"application/x-non-existant-plugin\"><p>X</p></object>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "object": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "object", + "attrs": [ + { + "name": "type", + "value": "application/x-non-existant-plugin" + } + ], + "children": [ + { + "tag": "p", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><p><object type=\"application/x-non-existant-plugin\"><p>X</p></object></p></body></html>", + "noQuirksBodyHtml": "<p><object type=\"application/x-non-existant-plugin\"><p>X</p></object></p>" + } + }, + { + "data": "<!doctype html><listing>\nX</listing>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "listing": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "listing", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><listing>X</listing></body></html>", + "noQuirksBodyHtml": "<listing>X</listing>" + } + }, + { + "data": "<!doctype html><select><input>X", + "errors": [ + "(1,30): unexpected-input-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "input": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + }, + { + "tag": "input" + }, + { + "text": "X" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select></select><input>X</body></html>", + "noQuirksBodyHtml": "<select></select><input>X" + } + }, + { + "data": "<!doctype html><select><select>X", + "errors": [ + "(1,31): unexpected-select-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + }, + { + "text": "X" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select></select>X</body></html>", + "noQuirksBodyHtml": "<select></select>X" + } + }, + { + "data": "<!doctype html><table><input type=hidDEN></table>", + "errors": [ + "(1,41): unexpected-hidden-input-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "input": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "input", + "attrs": [ + { + "name": "type", + "value": "hidDEN" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><input type=\"hidDEN\"></table></body></html>", + "noQuirksBodyHtml": "<table><input type=\"hidDEN\"></table>" + } + }, + { + "data": "<!doctype html><table>X<input type=hidDEN></table>", + "errors": [ + "(1,23): foster-parenting-character", + "(1,42): unexpected-hidden-input-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "input": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "X" + }, + { + "tag": "table", + "children": [ + { + "tag": "input", + "attrs": [ + { + "name": "type", + "value": "hidDEN" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body>X<table><input type=\"hidDEN\"></table></body></html>", + "noQuirksBodyHtml": "X<table><input type=\"hidDEN\"></table>" + } + }, + { + "data": "<!doctype html><table> <input type=hidDEN></table>", + "errors": [ + "(1,43): unexpected-hidden-input-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "input": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "text": " " + }, + { + "tag": "input", + "attrs": [ + { + "name": "type", + "value": "hidDEN" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table> <input type=\"hidDEN\"></table></body></html>", + "noQuirksBodyHtml": "<table> <input type=\"hidDEN\"></table>" + } + }, + { + "data": "<!doctype html><table> <input type='hidDEN'></table>", + "errors": [ + "(1,45): unexpected-hidden-input-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "input": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "text": " " + }, + { + "tag": "input", + "attrs": [ + { + "name": "type", + "value": "hidDEN" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table> <input type=\"hidDEN\"></table></body></html>", + "noQuirksBodyHtml": "<table> <input type=\"hidDEN\"></table>" + } + }, + { + "data": "<!doctype html><table><input type=\" hidden\"><input type=hidDEN></table>", + "errors": [ + "(1,44): unexpected-start-tag-implies-table-voodoo", + "(1,63): unexpected-hidden-input-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "input": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "input", + "attrs": [ + { + "name": "type", + "value": " hidden" + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "input", + "attrs": [ + { + "name": "type", + "value": "hidDEN" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><input type=\" hidden\"><table><input type=\"hidDEN\"></table></body></html>", + "noQuirksBodyHtml": "<input type=\" hidden\"><table><input type=\"hidDEN\"></table>" + } + }, + { + "data": "<!doctype html><table><select>X<tr>", + "errors": [ + "(1,30): unexpected-start-tag-implies-table-voodoo", + "(1,35): unexpected-table-element-start-tag-in-select-in-table", + "(1,35): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "table": true, + "tbody": true, + "tr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "text": "X" + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select>X</select><table><tbody><tr></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<select>X</select><table><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "<!doctype html><select>X</select>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "text": "X" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select>X</select></body></html>", + "noQuirksBodyHtml": "<select>X</select>" + } + }, + { + "data": "<!DOCTYPE hTmL><html></html>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<!DOCTYPE HTML><html></html>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<body>X</body></body>", + "errors": [ + "(1,21): unexpected-end-tag-after-body" + ], + "fragment": { + "name": "html" + }, + "document": { + "props": { + "tags": { + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "X" + } + ] + } + ], + "html": "<head></head><body>X</body>", + "noQuirksBodyHtml": "X" + } + }, + { + "data": "<div><p>a</x> b", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,13): unexpected-end-tag", + "(1,15): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "p", + "children": [ + { + "text": "a b" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><p>a b</p></div></body></html>", + "noQuirksBodyHtml": "<div><p>a b</p></div>" + } + }, + { + "data": "<table><tr><td><code></code> </table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "code": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "code" + }, + { + "text": " " + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td><code></code> </td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><code></code> </td></tr></tbody></table>" + } + }, + { + "data": "<table><b><tr><td>aaa</td></tr>bbb</table>ccc", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,10): foster-parenting-start-tag", + "(1,32): foster-parenting-character", + "(1,33): foster-parenting-character", + "(1,34): foster-parenting-character", + "(1,45): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b" + }, + { + "tag": "b", + "children": [ + { + "text": "bbb" + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "text": "aaa" + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "b", + "children": [ + { + "text": "ccc" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b></b><b>bbb</b><table><tbody><tr><td>aaa</td></tr></tbody></table><b>ccc</b></body></html>", + "noQuirksBodyHtml": "<b></b><b>bbb</b><table><tbody><tr><td>aaa</td></tr></tbody></table><b>ccc</b>" + } + }, + { + "data": "A<table><tr> B</tr> B</table>", + "errors": [ + "(1,1): expected-doctype-but-got-chars", + "(1,13): foster-parenting-character", + "(1,14): foster-parenting-character", + "(1,20): foster-parenting-character", + "(1,21): foster-parenting-character" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "A B B" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>A B B<table><tbody><tr></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "A B B<table><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "A<table><tr> B</tr> </em>C</table>", + "errors": [ + "(1,1): expected-doctype-but-got-chars", + "(1,13): foster-parenting-character", + "(1,14): foster-parenting-character", + "(1,20): foster-parenting-character", + "(1,25): unexpected-end-tag", + "(1,25): unexpected-end-tag-in-special-element", + "(1,26): foster-parenting-character" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "A BC" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + }, + { + "text": " " + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>A BC<table><tbody><tr></tr> </tbody></table></body></html>", + "noQuirksBodyHtml": "A BC<table><tbody><tr></tr> </tbody></table>" + } + }, + { + "data": "<select><keygen>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,16): unexpected-input-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "keygen": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + }, + { + "tag": "keygen" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select></select><keygen></body></html>", + "noQuirksBodyHtml": "<select></select><keygen>" + } + } + ], + "tests8.dat": [ + { + "data": "<div>\n<div></div>\n</span>x", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(3,7): unexpected-end-tag", + "(3,8): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "\n" + }, + { + "tag": "div" + }, + { + "text": "\nx" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div>\n<div></div>\nx</div></body></html>", + "noQuirksBodyHtml": "<div>\n<div></div>\nx</div>" + } + }, + { + "data": "<div>x<div></div>\n</span>x", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(2,7): unexpected-end-tag", + "(2,8): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "x" + }, + { + "tag": "div" + }, + { + "text": "\nx" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div>x<div></div>\nx</div></body></html>", + "noQuirksBodyHtml": "<div>x<div></div>\nx</div>" + } + }, + { + "data": "<div>x<div></div>x</span>x", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,25): unexpected-end-tag", + "(1,26): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "x" + }, + { + "tag": "div" + }, + { + "text": "xx" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div>x<div></div>xx</div></body></html>", + "noQuirksBodyHtml": "<div>x<div></div>xx</div>" + } + }, + { + "data": "<div>x<div></div>y</span>z", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,25): unexpected-end-tag", + "(1,26): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "x" + }, + { + "tag": "div" + }, + { + "text": "yz" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div>x<div></div>yz</div></body></html>", + "noQuirksBodyHtml": "<div>x<div></div>yz</div>" + } + }, + { + "data": "<table><div>x<div></div>x</span>x", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,12): foster-parenting-start-tag", + "(1,13): foster-parenting-character", + "(1,18): foster-parenting-start-tag", + "(1,24): foster-parenting-end-tag", + "(1,25): foster-parenting-start-tag", + "(1,32): foster-parenting-end-tag", + "(1,32): unexpected-end-tag", + "(1,33): foster-parenting-character", + "(1,33): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "table": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "x" + }, + { + "tag": "div" + }, + { + "text": "xx" + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div>x<div></div>xx</div><table></table></body></html>", + "noQuirksBodyHtml": "<div>x<div></div>xx</div><table></table>" + } + }, + { + "data": "x<table>x", + "errors": [ + "(1,1): expected-doctype-but-got-chars", + "(1,9): foster-parenting-character", + "(1,9): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "xx" + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>xx<table></table></body></html>", + "noQuirksBodyHtml": "xx<table></table>" + } + }, + { + "data": "x<table><table>x", + "errors": [ + "(1,1): expected-doctype-but-got-chars", + "(1,15): unexpected-start-tag-implies-end-tag", + "(1,16): foster-parenting-character", + "(1,16): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "x" + }, + { + "tag": "table" + }, + { + "text": "x" + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>x<table></table>x<table></table></body></html>", + "noQuirksBodyHtml": "x<table></table>x<table></table>" + } + }, + { + "data": "<b>a<div></div><div></b>y", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,24): adoption-agency-1.3", + "(1,25): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "a" + }, + { + "tag": "div" + } + ] + }, + { + "tag": "div", + "children": [ + { + "tag": "b" + }, + { + "text": "y" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b>a<div></div></b><div><b></b>y</div></body></html>", + "noQuirksBodyHtml": "<b>a<div></div></b><div><b></b>y</div>" + } + }, + { + "data": "<a><div><p></a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,15): adoption-agency-1.3", + "(1,15): adoption-agency-1.3", + "(1,15): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "div": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "children": [ + { + "tag": "a" + }, + { + "tag": "p", + "children": [ + { + "tag": "a" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a></a><div><a></a><p><a></a></p></div></body></html>", + "noQuirksBodyHtml": "<a></a><div><a></a><p><a></a></p></div>" + } + } + ], + "tests9.dat": [ + { + "data": "<!DOCTYPE html><math></math>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math></math></body></html>", + "noQuirksBodyHtml": "<math></math>" + } + }, + { + "data": "<!DOCTYPE html><body><math></math>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math></math></body></html>", + "noQuirksBodyHtml": "<math></math>" + } + }, + { + "data": "<!DOCTYPE html><math><mi>", + "errors": [ + "(1,25) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><mi></mi></math></body></html>", + "noQuirksBodyHtml": "<math><mi></mi></math>" + } + }, + { + "data": "<!DOCTYPE html><math><annotation-xml><svg><u>", + "errors": [ + "(1,45) unexpected-html-element-in-foreign-content", + "(1,45) expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math annotation-xml": true, + "svg svg": true, + "u": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "annotation-xml", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + }, + { + "tag": "u" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><annotation-xml><svg></svg></annotation-xml></math><u></u></body></html>", + "noQuirksBodyHtml": "<math><annotation-xml><svg><u></u></svg></annotation-xml></math>" + } + }, + { + "data": "<!DOCTYPE html><body><select><math></math></select>", + "errors": [ + "(1,35) unexpected-start-tag-in-select", + "(1,42) unexpected-end-tag-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>", + "noQuirksBodyHtml": "<select></select>" + } + }, + { + "data": "<!DOCTYPE html><body><select><option><math></math></option></select>", + "errors": [ + "(1,43) unexpected-start-tag-in-select", + "(1,50) unexpected-end-tag-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "option": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "option" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select><option></option></select></body></html>", + "noQuirksBodyHtml": "<select><option></option></select>" + } + }, + { + "data": "<!DOCTYPE html><body><table><math></math></table>", + "errors": [ + "(1,34) unexpected-start-tag-implies-table-voodoo" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML" + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math></math><table></table></body></html>", + "noQuirksBodyHtml": "<math></math><table></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><math><mi>foo</mi></math></table>", + "errors": [ + "(1,34) foster-parenting-start-token", + "(1,39) foster-parenting-character", + "(1,40) foster-parenting-character", + "(1,41) foster-parenting-character" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "foo" + } + ] + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><mi>foo</mi></math><table></table></body></html>", + "noQuirksBodyHtml": "<math><mi>foo</mi></math><table></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><math><mi>foo</mi><mi>bar</mi></math></table>", + "errors": [ + "(1,34) foster-parenting-start-tag", + "(1,39) foster-parenting-character", + "(1,40) foster-parenting-character", + "(1,41) foster-parenting-character", + "(1,51) foster-parenting-character", + "(1,52) foster-parenting-character", + "(1,53) foster-parenting-character" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true, + "table": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><mi>foo</mi><mi>bar</mi></math><table></table></body></html>", + "noQuirksBodyHtml": "<math><mi>foo</mi><mi>bar</mi></math><table></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><tbody><math><mi>foo</mi><mi>bar</mi></math></tbody></table>", + "errors": [ + "(1,41) foster-parenting-start-tag", + "(1,46) foster-parenting-character", + "(1,47) foster-parenting-character", + "(1,48) foster-parenting-character", + "(1,58) foster-parenting-character", + "(1,59) foster-parenting-character", + "(1,60) foster-parenting-character" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true, + "table": true, + "tbody": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><mi>foo</mi><mi>bar</mi></math><table><tbody></tbody></table></body></html>", + "noQuirksBodyHtml": "<math><mi>foo</mi><mi>bar</mi></math><table><tbody></tbody></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><tbody><tr><math><mi>foo</mi><mi>bar</mi></math></tr></tbody></table>", + "errors": [ + "(1,45) foster-parenting-start-tag", + "(1,50) foster-parenting-character", + "(1,51) foster-parenting-character", + "(1,52) foster-parenting-character", + "(1,62) foster-parenting-character", + "(1,63) foster-parenting-character", + "(1,64) foster-parenting-character" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true, + "table": true, + "tbody": true, + "tr": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><mi>foo</mi><mi>bar</mi></math><table><tbody><tr></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<math><mi>foo</mi><mi>bar</mi></math><table><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math></td></tr></tbody></table>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "math math": true, + "math mi": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "bar" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math></td></tr></tbody></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math><p>baz</td></tr></tbody></table>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "math math": true, + "math mi": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "baz" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math><p>baz</p></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math><p>baz</p></td></tr></tbody></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi></math><p>baz</caption></table>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true, + "math math": true, + "math mi": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "baz" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><caption><math><mi>foo</mi><mi>bar</mi></math><p>baz</p></caption></table></body></html>", + "noQuirksBodyHtml": "<table><caption><math><mi>foo</mi><mi>bar</mi></math><p>baz</p></caption></table>" + } + }, + { + "data": "<!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux", + "errors": [ + "(1,70) unexpected-html-element-in-foreign-content" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true, + "math math": true, + "math mi": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "baz" + } + ] + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "quux" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><caption><math><mi>foo</mi><mi>bar</mi></math><p>baz</p></caption></table><p>quux</p></body></html>", + "noQuirksBodyHtml": "<table><caption><math><mi>foo</mi><mi>bar</mi><p>baz</p></math></caption></table><p>quux</p>" + } + }, + { + "data": "<!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi>baz</table><p>quux", + "errors": [ + "(1,78) unexpected-end-tag", + "(1,78) expected-one-end-tag-but-got-another" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "caption": true, + "math math": true, + "math mi": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "caption", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "bar" + } + ] + }, + { + "text": "baz" + } + ] + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "quux" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><caption><math><mi>foo</mi><mi>bar</mi>baz</math></caption></table><p>quux</p></body></html>", + "noQuirksBodyHtml": "<table><caption><math><mi>foo</mi><mi>bar</mi>baz</math></caption></table><p>quux</p>" + } + }, + { + "data": "<!DOCTYPE html><body><table><colgroup><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux", + "errors": [ + "(1,44) foster-parenting-start-tag", + "(1,49) foster-parenting-character", + "(1,50) foster-parenting-character", + "(1,51) foster-parenting-character", + "(1,61) foster-parenting-character", + "(1,62) foster-parenting-character", + "(1,63) foster-parenting-character", + "(1,71) unexpected-html-element-in-foreign-content", + "(1,71) foster-parenting-start-tag", + "(1,63) foster-parenting-character", + "(1,63) foster-parenting-character", + "(1,63) foster-parenting-character" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true, + "p": true, + "table": true, + "colgroup": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "baz" + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "colgroup" + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "quux" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><mi>foo</mi><mi>bar</mi></math><p>baz</p><table><colgroup></colgroup></table><p>quux</p></body></html>", + "noQuirksBodyHtml": "<math><mi>foo</mi><mi>bar</mi><p>baz</p></math><table><colgroup></colgroup></table><p>quux</p>" + } + }, + { + "data": "<!DOCTYPE html><body><table><tr><td><select><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux", + "errors": [ + "(1,50) unexpected-start-tag-in-select", + "(1,54) unexpected-start-tag-in-select", + "(1,62) unexpected-end-tag-in-select", + "(1,66) unexpected-start-tag-in-select", + "(1,74) unexpected-end-tag-in-select", + "(1,77) unexpected-start-tag-in-select", + "(1,88) unexpected-table-element-end-tag-in-select-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "select": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "select", + "children": [ + { + "text": "foobarbaz" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "quux" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><select>foobarbaz</select></td></tr></tbody></table><p>quux</p></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><select>foobarbaz</select></td></tr></tbody></table><p>quux</p>" + } + }, + { + "data": "<!DOCTYPE html><body><table><select><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux", + "errors": [ + "(1,36) unexpected-start-tag-implies-table-voodoo", + "(1,42) unexpected-start-tag-in-select", + "(1,46) unexpected-start-tag-in-select", + "(1,54) unexpected-end-tag-in-select", + "(1,58) unexpected-start-tag-in-select", + "(1,66) unexpected-end-tag-in-select", + "(1,69) unexpected-start-tag-in-select", + "(1,80) unexpected-table-element-end-tag-in-select-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "table": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "text": "foobarbaz" + } + ] + }, + { + "tag": "table" + }, + { + "tag": "p", + "children": [ + { + "text": "quux" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><select>foobarbaz</select><table></table><p>quux</p></body></html>", + "noQuirksBodyHtml": "<select>foobarbaz</select><table></table><p>quux</p>" + } + }, + { + "data": "<!DOCTYPE html><body></body></html><math><mi>foo</mi><mi>bar</mi><p>baz", + "errors": [ + "(1,41) expected-eof-but-got-start-tag", + "(1,68) unexpected-html-element-in-foreign-content" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "baz" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><mi>foo</mi><mi>bar</mi></math><p>baz</p></body></html>", + "noQuirksBodyHtml": "<math><mi>foo</mi><mi>bar</mi><p>baz</p></math>" + } + }, + { + "data": "<!DOCTYPE html><body></body><math><mi>foo</mi><mi>bar</mi><p>baz", + "errors": [ + "(1,34) unexpected-start-tag-after-body", + "(1,61) unexpected-html-element-in-foreign-content" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true, + "p": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "bar" + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "text": "baz" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><math><mi>foo</mi><mi>bar</mi></math><p>baz</p></body></html>", + "noQuirksBodyHtml": "<math><mi>foo</mi><mi>bar</mi><p>baz</p></math>" + } + }, + { + "data": "<!DOCTYPE html><frameset><math><mi></mi><mi></mi><p><span>", + "errors": [ + "(1,31) unexpected-start-tag-in-frameset", + "(1,35) unexpected-start-tag-in-frameset", + "(1,40) unexpected-end-tag-in-frameset", + "(1,44) unexpected-start-tag-in-frameset", + "(1,49) unexpected-end-tag-in-frameset", + "(1,52) unexpected-start-tag-in-frameset", + "(1,58) unexpected-start-tag-in-frameset", + "(1,58) eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<math><mi></mi><mi></mi><p><span></span></p></math>" + } + }, + { + "data": "<!DOCTYPE html><frameset></frameset><math><mi></mi><mi></mi><p><span>", + "errors": [ + "(1,42) unexpected-start-tag-after-frameset", + "(1,46) unexpected-start-tag-after-frameset", + "(1,51) unexpected-end-tag-after-frameset", + "(1,55) unexpected-start-tag-after-frameset", + "(1,60) unexpected-end-tag-after-frameset", + "(1,63) unexpected-start-tag-after-frameset", + "(1,69) unexpected-start-tag-after-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<math><mi></mi><mi></mi><p><span></span></p></math>" + } + }, + { + "data": "<!DOCTYPE html><body xlink:href=foo><math xlink:href=foo></math>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "attrs": [ + { + "name": "xlink:href", + "value": "foo" + } + ], + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "attrs": [ + { + "name": "href", + "ns": "http://www.w3.org/1999/xlink", + "value": "foo" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\"><math xlink:href=\"foo\"></math></body></html>", + "noQuirksBodyHtml": "<math xlink:href=\"foo\"></math>" + } + }, + { + "data": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><math><mi xml:lang=en xlink:href=foo></mi></math>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "attrs": [ + { + "name": "xlink:href", + "value": "foo" + }, + { + "name": "xml:lang", + "value": "en" + } + ], + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "attrs": [ + { + "name": "href", + "ns": "http://www.w3.org/1999/xlink", + "value": "foo" + }, + { + "name": "lang", + "ns": "http://www.w3.org/XML/1998/namespace", + "value": "en" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\" xml:lang=\"en\"><math><mi xml:lang=\"en\" xlink:href=\"foo\"></mi></math></body></html>", + "noQuirksBodyHtml": "<math><mi xml:lang=\"en\" xlink:href=\"foo\"></mi></math>" + } + }, + { + "data": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><math><mi xml:lang=en xlink:href=foo /></math>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "attrs": [ + { + "name": "xlink:href", + "value": "foo" + }, + { + "name": "xml:lang", + "value": "en" + } + ], + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "attrs": [ + { + "name": "href", + "ns": "http://www.w3.org/1999/xlink", + "value": "foo" + }, + { + "name": "lang", + "ns": "http://www.w3.org/XML/1998/namespace", + "value": "en" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\" xml:lang=\"en\"><math><mi xml:lang=\"en\" xlink:href=\"foo\"></mi></math></body></html>", + "noQuirksBodyHtml": "<math><mi xml:lang=\"en\" xlink:href=\"foo\"></mi></math>" + } + }, + { + "data": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><math><mi xml:lang=en xlink:href=foo />bar</math>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mi": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "attrs": [ + { + "name": "xlink:href", + "value": "foo" + }, + { + "name": "xml:lang", + "value": "en" + } + ], + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "attrs": [ + { + "name": "href", + "ns": "http://www.w3.org/1999/xlink", + "value": "foo" + }, + { + "name": "lang", + "ns": "http://www.w3.org/XML/1998/namespace", + "value": "en" + } + ] + }, + { + "text": "bar" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\" xml:lang=\"en\"><math><mi xml:lang=\"en\" xlink:href=\"foo\"></mi>bar</math></body></html>", + "noQuirksBodyHtml": "<math><mi xml:lang=\"en\" xlink:href=\"foo\"></mi>bar</math>" + } + } + ], + "tests_innerHTML_1.dat": [ + { + "data": "<body><span>", + "errors": [ + "(1,6): unexpected-start-tag", + "(1,12): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "body" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span" + } + ], + "html": "<span></span>", + "noQuirksBodyHtml": "<span></span>" + } + }, + { + "data": "<span><body>", + "errors": [ + "(1,12): unexpected-start-tag", + "(1,12): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "body" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span" + } + ], + "html": "<span></span>", + "noQuirksBodyHtml": "<span></span>" + } + }, + { + "data": "<span><body>", + "errors": [ + "(1,12): unexpected-start-tag", + "(1,12): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "div" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span" + } + ], + "html": "<span></span>", + "noQuirksBodyHtml": "<span></span>" + } + }, + { + "data": "<body><span>", + "errors": [ + "(1,12): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "html" + }, + "document": { + "props": { + "tags": { + "head": true, + "body": true, + "span": true + } + }, + "tree": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "span" + } + ] + } + ], + "html": "<head></head><body><span></span></body>", + "noQuirksBodyHtml": "<span></span>" + } + }, + { + "data": "<frameset><span>", + "errors": [ + "(1,10): unexpected-start-tag", + "(1,16): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "body" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span" + } + ], + "html": "<span></span>", + "noQuirksBodyHtml": "<span></span>" + } + }, + { + "data": "<span><frameset>", + "errors": [ + "(1,16): unexpected-start-tag", + "(1,16): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "body" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span" + } + ], + "html": "<span></span>", + "noQuirksBodyHtml": "<span></span>" + } + }, + { + "data": "<span><frameset>", + "errors": [ + "(1,16): unexpected-start-tag", + "(1,16): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "div" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span" + } + ], + "html": "<span></span>", + "noQuirksBodyHtml": "<span></span>" + } + }, + { + "data": "<frameset><span>", + "errors": [ + "(1,16): unexpected-start-tag-in-frameset", + "(1,16): eof-in-frameset" + ], + "fragment": { + "name": "html" + }, + "document": { + "props": { + "tags": { + "head": true, + "frameset": true + } + }, + "tree": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ], + "html": "<head></head><frameset></frameset>", + "noQuirksBodyHtml": "<span></span>" + } + }, + { + "data": "<table><tr>", + "errors": [ + "(1,7): unexpected-start-tag" + ], + "fragment": { + "name": "table" + }, + "document": { + "props": { + "tags": { + "tbody": true, + "tr": true + } + }, + "tree": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ], + "html": "<tbody><tr></tr></tbody>", + "noQuirksBodyHtml": "<table><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "</table><tr>", + "errors": [ + "(1,8): unexpected-end-tag" + ], + "fragment": { + "name": "table" + }, + "document": { + "props": { + "tags": { + "tbody": true, + "tr": true + } + }, + "tree": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ], + "html": "<tbody><tr></tr></tbody>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<a>", + "errors": [ + "(1,3): unexpected-start-tag-implies-table-voodoo", + "(1,3): eof-in-table" + ], + "fragment": { + "name": "table" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<a>", + "errors": [ + "(1,3): unexpected-start-tag-implies-table-voodoo", + "(1,3): eof-in-table" + ], + "fragment": { + "name": "table" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<a><caption>a", + "errors": [ + "(1,3): unexpected-start-tag-implies-table-voodoo", + "(1,13): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "table" + }, + "document": { + "props": { + "tags": { + "a": true, + "caption": true + } + }, + "tree": [ + { + "tag": "a" + }, + { + "tag": "caption", + "children": [ + { + "text": "a" + } + ] + } + ], + "html": "<a></a><caption>a</caption>", + "noQuirksBodyHtml": "<a>a</a>" + } + }, + { + "data": "<a><colgroup><col>", + "errors": [ + "(1,3): foster-parenting-start-token", + "(1,18): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "table" + }, + "document": { + "props": { + "tags": { + "a": true, + "colgroup": true, + "col": true + } + }, + "tree": [ + { + "tag": "a" + }, + { + "tag": "colgroup", + "children": [ + { + "tag": "col" + } + ] + } + ], + "html": "<a></a><colgroup><col></colgroup>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<a><tbody><tr>", + "errors": [ + "(1,3): foster-parenting-start-tag" + ], + "fragment": { + "name": "table" + }, + "document": { + "props": { + "tags": { + "a": true, + "tbody": true, + "tr": true + } + }, + "tree": [ + { + "tag": "a" + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ], + "html": "<a></a><tbody><tr></tr></tbody>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<a><tfoot><tr>", + "errors": [ + "(1,3): foster-parenting-start-tag" + ], + "fragment": { + "name": "table" + }, + "document": { + "props": { + "tags": { + "a": true, + "tfoot": true, + "tr": true + } + }, + "tree": [ + { + "tag": "a" + }, + { + "tag": "tfoot", + "children": [ + { + "tag": "tr" + } + ] + } + ], + "html": "<a></a><tfoot><tr></tr></tfoot>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<a><thead><tr>", + "errors": [ + "(1,3): foster-parenting-start-tag" + ], + "fragment": { + "name": "table" + }, + "document": { + "props": { + "tags": { + "a": true, + "thead": true, + "tr": true + } + }, + "tree": [ + { + "tag": "a" + }, + { + "tag": "thead", + "children": [ + { + "tag": "tr" + } + ] + } + ], + "html": "<a></a><thead><tr></tr></thead>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<a><tr>", + "errors": [ + "(1,3): foster-parenting-start-tag" + ], + "fragment": { + "name": "table" + }, + "document": { + "props": { + "tags": { + "a": true, + "tbody": true, + "tr": true + } + }, + "tree": [ + { + "tag": "a" + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ], + "html": "<a></a><tbody><tr></tr></tbody>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<a><th>", + "errors": [ + "(1,3): unexpected-start-tag-implies-table-voodoo", + "(1,7): unexpected-cell-in-table-body" + ], + "fragment": { + "name": "table" + }, + "document": { + "props": { + "tags": { + "a": true, + "tbody": true, + "tr": true, + "th": true + } + }, + "tree": [ + { + "tag": "a" + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "th" + } + ] + } + ] + } + ], + "html": "<a></a><tbody><tr><th></th></tr></tbody>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<a><td>", + "errors": [ + "(1,3): unexpected-start-tag-implies-table-voodoo", + "(1,7): unexpected-cell-in-table-body" + ], + "fragment": { + "name": "table" + }, + "document": { + "props": { + "tags": { + "a": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "a" + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ], + "html": "<a></a><tbody><tr><td></td></tr></tbody>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<table></table><tbody>", + "errors": [ + "(1,22): unexpected-start-tag" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "table": true + } + }, + "tree": [ + { + "tag": "table" + } + ], + "html": "<table></table>", + "noQuirksBodyHtml": "<table></table>" + } + }, + { + "data": "</table><span>", + "errors": [ + "(1,8): unexpected-end-tag", + "(1,14): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span" + } + ], + "html": "<span></span>", + "noQuirksBodyHtml": "<span></span>" + } + }, + { + "data": "<span></table>", + "errors": [ + "(1,14): unexpected-end-tag", + "(1,14): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span" + } + ], + "html": "<span></span>", + "noQuirksBodyHtml": "<span></span>" + } + }, + { + "data": "</caption><span>", + "errors": [ + "(1,10): XXX-undefined-error", + "(1,16): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span" + } + ], + "html": "<span></span>", + "noQuirksBodyHtml": "<span></span>" + } + }, + { + "data": "<span></caption><span>", + "errors": [ + "(1,16): XXX-undefined-error", + "(1,22): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span", + "children": [ + { + "tag": "span" + } + ] + } + ], + "html": "<span><span></span></span>", + "noQuirksBodyHtml": "<span><span></span></span>" + } + }, + { + "data": "<span><caption><span>", + "errors": [ + "(1,15): unexpected-start-tag", + "(1,21): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span", + "children": [ + { + "tag": "span" + } + ] + } + ], + "html": "<span><span></span></span>", + "noQuirksBodyHtml": "<span><span></span></span>" + } + }, + { + "data": "<span><col><span>", + "errors": [ + "(1,11): unexpected-start-tag", + "(1,17): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span", + "children": [ + { + "tag": "span" + } + ] + } + ], + "html": "<span><span></span></span>", + "noQuirksBodyHtml": "<span><span></span></span>" + } + }, + { + "data": "<span><colgroup><span>", + "errors": [ + "(1,16): unexpected-start-tag", + "(1,22): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span", + "children": [ + { + "tag": "span" + } + ] + } + ], + "html": "<span><span></span></span>", + "noQuirksBodyHtml": "<span><span></span></span>" + } + }, + { + "data": "<span><html><span>", + "errors": [ + "(1,12): non-html-root", + "(1,18): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span", + "children": [ + { + "tag": "span" + } + ] + } + ], + "html": "<span><span></span></span>", + "noQuirksBodyHtml": "<span><span></span></span>" + } + }, + { + "data": "<span><tbody><span>", + "errors": [ + "(1,13): unexpected-start-tag", + "(1,19): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span", + "children": [ + { + "tag": "span" + } + ] + } + ], + "html": "<span><span></span></span>", + "noQuirksBodyHtml": "<span><span></span></span>" + } + }, + { + "data": "<span><td><span>", + "errors": [ + "(1,10): unexpected-start-tag", + "(1,16): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span", + "children": [ + { + "tag": "span" + } + ] + } + ], + "html": "<span><span></span></span>", + "noQuirksBodyHtml": "<span><span></span></span>" + } + }, + { + "data": "<span><tfoot><span>", + "errors": [ + "(1,13): unexpected-start-tag", + "(1,19): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span", + "children": [ + { + "tag": "span" + } + ] + } + ], + "html": "<span><span></span></span>", + "noQuirksBodyHtml": "<span><span></span></span>" + } + }, + { + "data": "<span><thead><span>", + "errors": [ + "(1,13): unexpected-start-tag", + "(1,19): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span", + "children": [ + { + "tag": "span" + } + ] + } + ], + "html": "<span><span></span></span>", + "noQuirksBodyHtml": "<span><span></span></span>" + } + }, + { + "data": "<span><th><span>", + "errors": [ + "(1,10): unexpected-start-tag", + "(1,16): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span", + "children": [ + { + "tag": "span" + } + ] + } + ], + "html": "<span><span></span></span>", + "noQuirksBodyHtml": "<span><span></span></span>" + } + }, + { + "data": "<span><tr><span>", + "errors": [ + "(1,10): unexpected-start-tag", + "(1,16): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span", + "children": [ + { + "tag": "span" + } + ] + } + ], + "html": "<span><span></span></span>", + "noQuirksBodyHtml": "<span><span></span></span>" + } + }, + { + "data": "<span></table><span>", + "errors": [ + "(1,14): unexpected-end-tag", + "(1,20): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "caption" + }, + "document": { + "props": { + "tags": { + "span": true + } + }, + "tree": [ + { + "tag": "span", + "children": [ + { + "tag": "span" + } + ] + } + ], + "html": "<span><span></span></span>", + "noQuirksBodyHtml": "<span><span></span></span>" + } + }, + { + "data": "</colgroup><col>", + "errors": [ + "(1,11): XXX-undefined-error" + ], + "fragment": { + "name": "colgroup" + }, + "document": { + "props": { + "tags": { + "col": true + } + }, + "tree": [ + { + "tag": "col" + } + ], + "html": "<col>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<a><col>", + "errors": [ + "(1,3): XXX-undefined-error" + ], + "fragment": { + "name": "colgroup" + }, + "document": { + "props": { + "tags": { + "col": true + } + }, + "tree": [ + { + "tag": "col" + } + ], + "html": "<col>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<caption><a>", + "errors": [ + "(1,9): XXX-undefined-error", + "(1,12): unexpected-start-tag-implies-table-voodoo", + "(1,12): eof-in-table" + ], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<col><a>", + "errors": [ + "(1,5): XXX-undefined-error", + "(1,8): unexpected-start-tag-implies-table-voodoo", + "(1,8): eof-in-table" + ], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<colgroup><a>", + "errors": [ + "(1,10): XXX-undefined-error", + "(1,13): unexpected-start-tag-implies-table-voodoo", + "(1,13): eof-in-table" + ], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<tbody><a>", + "errors": [ + "(1,7): XXX-undefined-error", + "(1,10): unexpected-start-tag-implies-table-voodoo", + "(1,10): eof-in-table" + ], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<tfoot><a>", + "errors": [ + "(1,7): XXX-undefined-error", + "(1,10): unexpected-start-tag-implies-table-voodoo", + "(1,10): eof-in-table" + ], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<thead><a>", + "errors": [ + "(1,7): XXX-undefined-error", + "(1,10): unexpected-start-tag-implies-table-voodoo", + "(1,10): eof-in-table" + ], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "</table><a>", + "errors": [ + "(1,8): XXX-undefined-error", + "(1,11): unexpected-start-tag-implies-table-voodoo", + "(1,11): eof-in-table" + ], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<a><tr>", + "errors": [ + "(1,3): unexpected-start-tag-implies-table-voodoo" + ], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "a": true, + "tr": true + } + }, + "tree": [ + { + "tag": "a" + }, + { + "tag": "tr" + } + ], + "html": "<a></a><tr></tr>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<a><td>", + "errors": [ + "(1,3): unexpected-start-tag-implies-table-voodoo", + "(1,7): unexpected-cell-in-table-body" + ], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "a": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "a" + }, + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ], + "html": "<a></a><tr><td></td></tr>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<a><td>", + "errors": [ + "(1,3): unexpected-start-tag-implies-table-voodoo", + "(1,7): unexpected-cell-in-table-body" + ], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "a": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "a" + }, + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ], + "html": "<a></a><tr><td></td></tr>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<a><td>", + "errors": [ + "(1,3): unexpected-start-tag-implies-table-voodoo", + "(1,7): unexpected-cell-in-table-body" + ], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "a": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "a" + }, + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ], + "html": "<a></a><tr><td></td></tr>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<td><table><tbody><a><tr>", + "errors": [ + "(1,4): unexpected-cell-in-table-body", + "(1,21): unexpected-start-tag-implies-table-voodoo", + "(1,25): eof-in-table" + ], + "fragment": { + "name": "tbody" + }, + "document": { + "props": { + "tags": { + "tr": true, + "td": true, + "a": true, + "table": true, + "tbody": true + } + }, + "tree": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "a" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<tr><td><a></a><table><tbody><tr></tr></tbody></table></td></tr>", + "noQuirksBodyHtml": "<a></a><table><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "</tr><td>", + "errors": [ + "(1,5): XXX-undefined-error" + ], + "fragment": { + "name": "tr" + }, + "document": { + "props": { + "tags": { + "td": true + } + }, + "tree": [ + { + "tag": "td" + } + ], + "html": "<td></td>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<td><table><a><tr></tr><tr>", + "errors": [ + "(1,14): unexpected-start-tag-implies-table-voodoo", + "(1,27): eof-in-table" + ], + "fragment": { + "name": "tr" + }, + "document": { + "props": { + "tags": { + "td": true, + "a": true, + "table": true, + "tbody": true, + "tr": true + } + }, + "tree": [ + { + "tag": "td", + "children": [ + { + "tag": "a" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + }, + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ], + "html": "<td><a></a><table><tbody><tr></tr><tr></tr></tbody></table></td>", + "noQuirksBodyHtml": "<a></a><table><tbody><tr></tr><tr></tr></tbody></table>" + } + }, + { + "data": "<caption><td>", + "errors": [ + "(1,9): XXX-undefined-error" + ], + "fragment": { + "name": "tr" + }, + "document": { + "props": { + "tags": { + "td": true + } + }, + "tree": [ + { + "tag": "td" + } + ], + "html": "<td></td>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<col><td>", + "errors": [ + "(1,5): XXX-undefined-error" + ], + "fragment": { + "name": "tr" + }, + "document": { + "props": { + "tags": { + "td": true + } + }, + "tree": [ + { + "tag": "td" + } + ], + "html": "<td></td>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<colgroup><td>", + "errors": [ + "(1,10): XXX-undefined-error" + ], + "fragment": { + "name": "tr" + }, + "document": { + "props": { + "tags": { + "td": true + } + }, + "tree": [ + { + "tag": "td" + } + ], + "html": "<td></td>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<tbody><td>", + "errors": [ + "(1,7): XXX-undefined-error" + ], + "fragment": { + "name": "tr" + }, + "document": { + "props": { + "tags": { + "td": true + } + }, + "tree": [ + { + "tag": "td" + } + ], + "html": "<td></td>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<tfoot><td>", + "errors": [ + "(1,7): XXX-undefined-error" + ], + "fragment": { + "name": "tr" + }, + "document": { + "props": { + "tags": { + "td": true + } + }, + "tree": [ + { + "tag": "td" + } + ], + "html": "<td></td>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<thead><td>", + "errors": [ + "(1,7): XXX-undefined-error" + ], + "fragment": { + "name": "tr" + }, + "document": { + "props": { + "tags": { + "td": true + } + }, + "tree": [ + { + "tag": "td" + } + ], + "html": "<td></td>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<tr><td>", + "errors": [ + "(1,4): XXX-undefined-error" + ], + "fragment": { + "name": "tr" + }, + "document": { + "props": { + "tags": { + "td": true + } + }, + "tree": [ + { + "tag": "td" + } + ], + "html": "<td></td>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "</table><td>", + "errors": [ + "(1,8): XXX-undefined-error" + ], + "fragment": { + "name": "tr" + }, + "document": { + "props": { + "tags": { + "td": true + } + }, + "tree": [ + { + "tag": "td" + } + ], + "html": "<td></td>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<td><table></table><td>", + "errors": [], + "fragment": { + "name": "tr" + }, + "document": { + "props": { + "tags": { + "td": true, + "table": true + } + }, + "tree": [ + { + "tag": "td", + "children": [ + { + "tag": "table" + } + ] + }, + { + "tag": "td" + } + ], + "html": "<td><table></table></td><td></td>", + "noQuirksBodyHtml": "<table></table>" + } + }, + { + "data": "<td><table></table><td>", + "errors": [], + "fragment": { + "name": "tr" + }, + "document": { + "props": { + "tags": { + "td": true, + "table": true + } + }, + "tree": [ + { + "tag": "td", + "children": [ + { + "tag": "table" + } + ] + }, + { + "tag": "td" + } + ], + "html": "<td><table></table></td><td></td>", + "noQuirksBodyHtml": "<table></table>" + } + }, + { + "data": "<caption><a>", + "errors": [ + "(1,9): XXX-undefined-error", + "(1,12): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<col><a>", + "errors": [ + "(1,5): XXX-undefined-error", + "(1,8): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<colgroup><a>", + "errors": [ + "(1,10): XXX-undefined-error", + "(1,13): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<tbody><a>", + "errors": [ + "(1,7): XXX-undefined-error", + "(1,10): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<tfoot><a>", + "errors": [ + "(1,7): XXX-undefined-error", + "(1,10): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<th><a>", + "errors": [ + "(1,4): XXX-undefined-error", + "(1,7): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<thead><a>", + "errors": [ + "(1,7): XXX-undefined-error", + "(1,10): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<tr><a>", + "errors": [ + "(1,4): XXX-undefined-error", + "(1,7): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "</table><a>", + "errors": [ + "(1,8): XXX-undefined-error", + "(1,11): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "</tbody><a>", + "errors": [ + "(1,8): XXX-undefined-error", + "(1,11): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "</td><a>", + "errors": [ + "(1,5): unexpected-end-tag", + "(1,8): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "</tfoot><a>", + "errors": [ + "(1,8): XXX-undefined-error", + "(1,11): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "</thead><a>", + "errors": [ + "(1,8): XXX-undefined-error", + "(1,11): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "</th><a>", + "errors": [ + "(1,5): unexpected-end-tag", + "(1,8): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "</tr><a>", + "errors": [ + "(1,5): XXX-undefined-error", + "(1,8): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "a": true + } + }, + "tree": [ + { + "tag": "a" + } + ], + "html": "<a></a>", + "noQuirksBodyHtml": "<a></a>" + } + }, + { + "data": "<table><td><td>", + "errors": [ + "(1,11): unexpected-cell-in-table-body", + "(1,15): expected-closing-tag-but-got-eof" + ], + "fragment": { + "name": "td" + }, + "document": { + "props": { + "tags": { + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + }, + { + "tag": "td" + } + ] + } + ] + } + ] + } + ], + "html": "<table><tbody><tr><td></td><td></td></tr></tbody></table>", + "noQuirksBodyHtml": "<table><tbody><tr><td></td><td></td></tr></tbody></table>" + } + }, + { + "data": "</select><option>", + "errors": [ + "(1,9): XXX-undefined-error" + ], + "fragment": { + "name": "select" + }, + "document": { + "props": { + "tags": { + "option": true + } + }, + "tree": [ + { + "tag": "option" + } + ], + "html": "<option></option>", + "noQuirksBodyHtml": "<option></option>" + } + }, + { + "data": "<input><option>", + "errors": [ + "(1,7): unexpected-input-in-select" + ], + "fragment": { + "name": "select" + }, + "document": { + "props": { + "tags": { + "option": true + } + }, + "tree": [ + { + "tag": "option" + } + ], + "html": "<option></option>", + "noQuirksBodyHtml": "<input><option></option>" + } + }, + { + "data": "<keygen><option>", + "errors": [ + "(1,8): unexpected-input-in-select" + ], + "fragment": { + "name": "select" + }, + "document": { + "props": { + "tags": { + "option": true + } + }, + "tree": [ + { + "tag": "option" + } + ], + "html": "<option></option>", + "noQuirksBodyHtml": "<keygen><option></option>" + } + }, + { + "data": "<textarea><option>", + "errors": [ + "(1,10): unexpected-input-in-select" + ], + "fragment": { + "name": "select" + }, + "document": { + "props": { + "tags": { + "option": true + } + }, + "tree": [ + { + "tag": "option" + } + ], + "html": "<option></option>", + "noQuirksBodyHtml": "<textarea><option></textarea>" + } + }, + { + "data": "</html><!--abc-->", + "errors": [ + "(1,7): unexpected-end-tag-after-body-innerhtml" + ], + "fragment": { + "name": "html" + }, + "document": { + "props": { + "tags": { + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "head" + }, + { + "tag": "body" + }, + { + "comment": "abc" + } + ], + "html": "<head></head><body></body><!--abc-->", + "noQuirksBodyHtml": "<!--abc-->" + } + }, + { + "data": "</frameset><frame>", + "errors": [ + "(1,11): unexpected-frameset-in-frameset-innerhtml" + ], + "fragment": { + "name": "frameset" + }, + "document": { + "props": { + "tags": { + "frame": true + } + }, + "tree": [ + { + "tag": "frame" + } + ], + "html": "<frame>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "", + "errors": [], + "fragment": { + "name": "html" + }, + "document": { + "props": { + "tags": { + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ], + "html": "<head></head><body></body>", + "noQuirksBodyHtml": "" + } + } + ], + "tricky01.dat": [ + { + "data": "<b><p>Bold </b> Not bold</p>\nAlso not bold.", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,15): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b" + }, + { + "tag": "p", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "Bold " + } + ] + }, + { + "text": " Not bold" + } + ] + }, + { + "text": "\nAlso not bold." + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b></b><p><b>Bold </b> Not bold</p>\nAlso not bold.</body></html>", + "noQuirksBodyHtml": "<b></b><p><b>Bold </b> Not bold</p>\nAlso not bold." + } + }, + { + "data": "<html>\n<font color=red><i>Italic and Red<p>Italic and Red </font> Just italic.</p> Italic only.</i> Plain\n<p>I should not be red. <font color=red>Red. <i>Italic and red.</p>\n<p>Italic and red. </i> Red.</font> I should not be red.</p>\n<b>Bold <i>Bold and italic</b> Only Italic </i> Plain", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(2,58): adoption-agency-1.3", + "(3,67): unexpected-end-tag", + "(4,23): adoption-agency-1.3", + "(4,35): adoption-agency-1.3", + "(5,30): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "font": true, + "i": true, + "p": true, + "b": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "color", + "value": "red" + } + ], + "children": [ + { + "tag": "i", + "children": [ + { + "text": "Italic and Red" + } + ] + } + ] + }, + { + "tag": "i", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "color", + "value": "red" + } + ], + "children": [ + { + "text": "Italic and Red " + } + ] + }, + { + "text": " Just italic." + } + ] + }, + { + "text": " Italic only." + } + ] + }, + { + "text": " Plain\n" + }, + { + "tag": "p", + "children": [ + { + "text": "I should not be red. " + }, + { + "tag": "font", + "attrs": [ + { + "name": "color", + "value": "red" + } + ], + "children": [ + { + "text": "Red. " + }, + { + "tag": "i", + "children": [ + { + "text": "Italic and red." + } + ] + } + ] + } + ] + }, + { + "tag": "font", + "attrs": [ + { + "name": "color", + "value": "red" + } + ], + "children": [ + { + "tag": "i", + "children": [ + { + "text": "\n" + } + ] + } + ] + }, + { + "tag": "p", + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "color", + "value": "red" + } + ], + "children": [ + { + "tag": "i", + "children": [ + { + "text": "Italic and red. " + } + ] + }, + { + "text": " Red." + } + ] + }, + { + "text": " I should not be red." + } + ] + }, + { + "text": "\n" + }, + { + "tag": "b", + "children": [ + { + "text": "Bold " + }, + { + "tag": "i", + "children": [ + { + "text": "Bold and italic" + } + ] + } + ] + }, + { + "tag": "i", + "children": [ + { + "text": " Only Italic " + } + ] + }, + { + "text": " Plain" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><font color=\"red\"><i>Italic and Red</i></font><i><p><font color=\"red\">Italic and Red </font> Just italic.</p> Italic only.</i> Plain\n<p>I should not be red. <font color=\"red\">Red. <i>Italic and red.</i></font></p><font color=\"red\"><i>\n</i></font><p><font color=\"red\"><i>Italic and red. </i> Red.</font> I should not be red.</p>\n<b>Bold <i>Bold and italic</i></b><i> Only Italic </i> Plain</body></html>", + "noQuirksBodyHtml": "\n<font color=\"red\"><i>Italic and Red</i></font><i><p><font color=\"red\">Italic and Red </font> Just italic.</p> Italic only.</i> Plain\n<p>I should not be red. <font color=\"red\">Red. <i>Italic and red.</i></font></p><font color=\"red\"><i>\n</i></font><p><font color=\"red\"><i>Italic and red. </i> Red.</font> I should not be red.</p>\n<b>Bold <i>Bold and italic</i></b><i> Only Italic </i> Plain" + } + }, + { + "data": "<html><body>\n<p><font size=\"7\">First paragraph.</p>\n<p>Second paragraph.</p></font>\n<b><p><i>Bold and Italic</b> Italic</p>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(2,38): unexpected-end-tag", + "(4,28): adoption-agency-1.3", + "(4,28): adoption-agency-1.3", + "(4,39): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "font": true, + "b": true, + "i": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "\n" + }, + { + "tag": "p", + "children": [ + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "7" + } + ], + "children": [ + { + "text": "First paragraph." + } + ] + } + ] + }, + { + "tag": "font", + "attrs": [ + { + "name": "size", + "value": "7" + } + ], + "children": [ + { + "text": "\n" + }, + { + "tag": "p", + "children": [ + { + "text": "Second paragraph." + } + ] + } + ] + }, + { + "text": "\n" + }, + { + "tag": "b" + }, + { + "tag": "p", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "i", + "children": [ + { + "text": "Bold and Italic" + } + ] + } + ] + }, + { + "tag": "i", + "children": [ + { + "text": " Italic" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>\n<p><font size=\"7\">First paragraph.</font></p><font size=\"7\">\n<p>Second paragraph.</p></font>\n<b></b><p><b><i>Bold and Italic</i></b><i> Italic</i></p></body></html>", + "noQuirksBodyHtml": "\n<p><font size=\"7\">First paragraph.</font></p><font size=\"7\">\n<p>Second paragraph.</p></font>\n<b></b><p><b><i>Bold and Italic</i></b><i> Italic</i></p>" + } + }, + { + "data": "<html>\n<dl>\n<dt><b>Boo\n<dd>Goo?\n</dl>\n</html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(4,4): end-tag-too-early", + "(5,5): end-tag-too-early", + "(6,7): expected-one-end-tag-but-got-another" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "dl": true, + "dt": true, + "b": true, + "dd": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "dl", + "children": [ + { + "text": "\n" + }, + { + "tag": "dt", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "Boo\n" + } + ] + } + ] + }, + { + "tag": "dd", + "children": [ + { + "tag": "b", + "children": [ + { + "text": "Goo?\n" + } + ] + } + ] + } + ] + }, + { + "tag": "b", + "children": [ + { + "text": "\n" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><dl>\n<dt><b>Boo\n</b></dt><dd><b>Goo?\n</b></dd></dl><b>\n</b></body></html>", + "noQuirksBodyHtml": "\n<dl>\n<dt><b>Boo\n</b></dt><dd><b>Goo?\n</b></dd></dl><b>\n</b>" + } + }, + { + "data": "<html><body>\n<label><a><div>Hello<div>World</div></a></label> \n</body></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(2,40): adoption-agency-1.3", + "(2,48): unexpected-end-tag", + "(3,7): expected-one-end-tag-but-got-another" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "label": true, + "a": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "\n" + }, + { + "tag": "label", + "children": [ + { + "tag": "a" + }, + { + "tag": "div", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "Hello" + }, + { + "tag": "div", + "children": [ + { + "text": "World" + } + ] + } + ] + }, + { + "text": " \n" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>\n<label><a></a><div><a>Hello<div>World</div></a> \n</div></label></body></html>", + "noQuirksBodyHtml": "\n<label><a></a><div><a>Hello<div>World</div></a> \n</div></label>" + } + }, + { + "data": "<table><center> <font>a</center> <img> <tr><td> </td> </tr> </table>", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,15): foster-parenting-start-tag", + "(1,16): foster-parenting-character", + "(1,22): foster-parenting-start-tag", + "(1,23): foster-parenting-character", + "(1,32): foster-parenting-end-tag", + "(1,32): end-tag-too-early", + "(1,33): foster-parenting-character", + "(1,38): foster-parenting-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "center": true, + "font": true, + "img": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "center", + "children": [ + { + "text": " " + }, + { + "tag": "font", + "children": [ + { + "text": "a" + } + ] + } + ] + }, + { + "tag": "font", + "children": [ + { + "tag": "img" + }, + { + "text": " " + } + ] + }, + { + "tag": "table", + "children": [ + { + "text": " " + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "text": " " + } + ] + }, + { + "text": " " + } + ] + }, + { + "text": " " + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><center> <font>a</font></center><font><img> </font><table> <tbody><tr><td> </td> </tr> </tbody></table></body></html>", + "noQuirksBodyHtml": "<center> <font>a</font></center><font><img> </font><table> <tbody><tr><td> </td> </tr> </tbody></table>" + } + }, + { + "data": "<table><tr><p><a><p>You should see this text.", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,14): unexpected-start-tag-implies-table-voodoo", + "(1,17): unexpected-start-tag-implies-table-voodoo", + "(1,20): unexpected-start-tag-implies-table-voodoo", + "(1,20): closing-non-current-p-element", + "(1,21): foster-parenting-character", + "(1,22): foster-parenting-character", + "(1,23): foster-parenting-character", + "(1,24): foster-parenting-character", + "(1,25): foster-parenting-character", + "(1,26): foster-parenting-character", + "(1,27): foster-parenting-character", + "(1,28): foster-parenting-character", + "(1,29): foster-parenting-character", + "(1,30): foster-parenting-character", + "(1,31): foster-parenting-character", + "(1,32): foster-parenting-character", + "(1,33): foster-parenting-character", + "(1,34): foster-parenting-character", + "(1,35): foster-parenting-character", + "(1,36): foster-parenting-character", + "(1,37): foster-parenting-character", + "(1,38): foster-parenting-character", + "(1,39): foster-parenting-character", + "(1,40): foster-parenting-character", + "(1,41): foster-parenting-character", + "(1,42): foster-parenting-character", + "(1,43): foster-parenting-character", + "(1,44): foster-parenting-character", + "(1,45): foster-parenting-character", + "(1,45): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "a": true, + "table": true, + "tbody": true, + "tr": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "tag": "a" + } + ] + }, + { + "tag": "p", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "You should see this text." + } + ] + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p><a></a></p><p><a>You should see this text.</a></p><table><tbody><tr></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<p><a></a></p><p><a>You should see this text.</a></p><table><tbody><tr></tr></tbody></table>" + } + }, + { + "data": "<TABLE>\n<TR>\n<CENTER><CENTER><TD></TD></TR><TR>\n<FONT>\n<TABLE><tr></tr></TABLE>\n</P>\n<a></font><font></a>\nThis page contains an insanely badly-nested tag sequence.", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(3,8): unexpected-start-tag-implies-table-voodoo", + "(3,16): unexpected-start-tag-implies-table-voodoo", + "(4,6): unexpected-start-tag-implies-table-voodoo", + "(4,6): unexpected character token in table (the newline)", + "(5,7): unexpected-start-tag-implies-end-tag", + "(6,4): unexpected p end tag", + "(7,10): adoption-agency-1.3", + "(7,20): adoption-agency-1.3", + "(8,57): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "center": true, + "font": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "p": true, + "a": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "center", + "children": [ + { + "tag": "center" + } + ] + }, + { + "tag": "font", + "children": [ + { + "text": "\n" + } + ] + }, + { + "tag": "table", + "children": [ + { + "text": "\n" + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "text": "\n" + }, + { + "tag": "td" + } + ] + }, + { + "tag": "tr", + "children": [ + { + "text": "\n" + } + ] + } + ] + } + ] + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + }, + { + "tag": "font", + "children": [ + { + "text": "\n" + }, + { + "tag": "p" + }, + { + "text": "\n" + }, + { + "tag": "a" + } + ] + }, + { + "tag": "a", + "children": [ + { + "tag": "font" + } + ] + }, + { + "tag": "font", + "children": [ + { + "text": "\nThis page contains an insanely badly-nested tag sequence." + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><center><center></center></center><font>\n</font><table>\n<tbody><tr>\n<td></td></tr><tr>\n</tr></tbody></table><table><tbody><tr></tr></tbody></table><font>\n<p></p>\n<a></a></font><a><font></font></a><font>\nThis page contains an insanely badly-nested tag sequence.</font></body></html>", + "noQuirksBodyHtml": "<center><center></center></center><font>\n</font><table>\n<tbody><tr>\n<td></td></tr><tr>\n</tr></tbody></table><table><tbody><tr></tr></tbody></table><font>\n<p></p>\n<a></a></font><a><font></font></a><font>\nThis page contains an insanely badly-nested tag sequence.</font>" + } + }, + { + "data": "<html>\n<body>\n<b><nobr><div>This text is in a div inside a nobr</nobr>More text that should not be in the nobr, i.e., the\nnobr should have closed the div inside it implicitly. </b><pre>A pre tag outside everything else.</pre>\n</body>\n</html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(3,56): adoption-agency-1.3", + "(4,58): adoption-agency-1.3", + "(5,7): expected-one-end-tag-but-got-another" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "nobr": true, + "div": true, + "pre": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "\n" + }, + { + "tag": "b", + "children": [ + { + "tag": "nobr" + } + ] + }, + { + "tag": "div", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "This text is in a div inside a nobr" + } + ] + }, + { + "text": "More text that should not be in the nobr, i.e., the\nnobr should have closed the div inside it implicitly. " + } + ] + }, + { + "tag": "pre", + "children": [ + { + "text": "A pre tag outside everything else." + } + ] + }, + { + "text": "\n\n" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>\n<b><nobr></nobr></b><div><b><nobr>This text is in a div inside a nobr</nobr>More text that should not be in the nobr, i.e., the\nnobr should have closed the div inside it implicitly. </b><pre>A pre tag outside everything else.</pre>\n\n</div></body></html>", + "noQuirksBodyHtml": "\n\n<b><nobr></nobr></b><div><b><nobr>This text is in a div inside a nobr</nobr>More text that should not be in the nobr, i.e., the\nnobr should have closed the div inside it implicitly. </b><pre>A pre tag outside everything else.</pre>\n\n</div>" + } + } + ], + "webkit01.dat": [ + { + "data": "Test", + "errors": [ + "(1,4): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "Test" + } + ] + } + ] + } + ], + "html": "<html><head></head><body>Test</body></html>", + "noQuirksBodyHtml": "Test" + } + }, + { + "data": "<div></div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div></div></body></html>", + "noQuirksBodyHtml": "<div></div>" + } + }, + { + "data": "<div>Test</div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "Test" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div>Test</div></body></html>", + "noQuirksBodyHtml": "<div>Test</div>" + } + }, + { + "data": "<di", + "errors": [ + "(1,3): eof-in-tag-name", + "(1,3): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<div>Hello</div>\n<script>\nconsole.log(\"PASS\");\n</script>\n<div>Bye</div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "Hello" + } + ] + }, + { + "text": "\n" + }, + { + "tag": "script", + "children": [ + { + "text": "\nconsole.log(\"PASS\");\n", + "no_escape": true + } + ] + }, + { + "text": "\n" + }, + { + "tag": "div", + "children": [ + { + "text": "Bye" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div>Hello</div>\n<script>\nconsole.log(\"PASS\");\n</script>\n<div>Bye</div></body></html>", + "noQuirksBodyHtml": "<div>Hello</div>\n<script>\nconsole.log(\"PASS\");\n</script>\n<div>Bye</div>" + } + }, + { + "data": "<div foo=\"bar\">Hello</div>", + "errors": [ + "(1,15): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "foo", + "value": "bar" + } + ], + "children": [ + { + "text": "Hello" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div foo=\"bar\">Hello</div></body></html>", + "noQuirksBodyHtml": "<div foo=\"bar\">Hello</div>" + } + }, + { + "data": "<div>Hello</div>\n<script>\nconsole.log(\"FOO<span>BAR</span>BAZ\");\n</script>\n<div>Bye</div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "script": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "Hello" + } + ] + }, + { + "text": "\n" + }, + { + "tag": "script", + "children": [ + { + "text": "\nconsole.log(\"FOO<span>BAR</span>BAZ\");\n", + "no_escape": true + } + ] + }, + { + "text": "\n" + }, + { + "tag": "div", + "children": [ + { + "text": "Bye" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div>Hello</div>\n<script>\nconsole.log(\"FOO<span>BAR</span>BAZ\");\n</script>\n<div>Bye</div></body></html>", + "noQuirksBodyHtml": "<div>Hello</div>\n<script>\nconsole.log(\"FOO<span>BAR</span>BAZ\");\n</script>\n<div>Bye</div>" + } + }, + { + "data": "<foo bar=\"baz\"></foo><potato quack=\"duck\"></potato>", + "errors": [ + "(1,15): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "foo": true, + "potato": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "foo", + "attrs": [ + { + "name": "bar", + "value": "baz" + } + ] + }, + { + "tag": "potato", + "attrs": [ + { + "name": "quack", + "value": "duck" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><foo bar=\"baz\"></foo><potato quack=\"duck\"></potato></body></html>", + "noQuirksBodyHtml": "<foo bar=\"baz\"></foo><potato quack=\"duck\"></potato>" + } + }, + { + "data": "<foo bar=\"baz\"><potato quack=\"duck\"></potato></foo>", + "errors": [ + "(1,15): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "foo": true, + "potato": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "foo", + "attrs": [ + { + "name": "bar", + "value": "baz" + } + ], + "children": [ + { + "tag": "potato", + "attrs": [ + { + "name": "quack", + "value": "duck" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><foo bar=\"baz\"><potato quack=\"duck\"></potato></foo></body></html>", + "noQuirksBodyHtml": "<foo bar=\"baz\"><potato quack=\"duck\"></potato></foo>" + } + }, + { + "data": "<foo></foo bar=\"baz\"><potato></potato quack=\"duck\">", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,21): attributes-in-end-tag", + "(1,51): attributes-in-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "foo": true, + "potato": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "foo" + }, + { + "tag": "potato" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><foo></foo><potato></potato></body></html>", + "noQuirksBodyHtml": "<foo></foo><potato></potato>" + } + }, + { + "data": "</ tttt>", + "errors": [ + "(1,2): expected-closing-tag-but-got-char", + "(1,8): expected-doctype-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "comment": " tttt" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<!-- tttt--><html><head></head><body></body></html>", + "noQuirksBodyHtml": "<!-- tttt-->" + } + }, + { + "data": "<div FOO ><img><img></div>", + "errors": [ + "(1,10): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "img": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "foo", + "value": "" + } + ], + "children": [ + { + "tag": "img" + }, + { + "tag": "img" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div foo=\"\"><img><img></div></body></html>", + "noQuirksBodyHtml": "<div foo=\"\"><img><img></div>" + } + }, + { + "data": "<p>Test</p<p>Test2</p>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,13): unexpected-end-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "children": [ + { + "text": "TestTest2" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p>TestTest2</p></body></html>", + "noQuirksBodyHtml": "<p>TestTest2</p>" + } + }, + { + "data": "<rdar://problem/6869687>", + "errors": [ + "(1,7): unexpected-character-after-solidus-in-tag", + "(1,8): unexpected-character-after-solidus-in-tag", + "(1,16): unexpected-character-after-solidus-in-tag", + "(1,24): expected-doctype-but-got-start-tag", + "(1,24): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "rdar:": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "rdar:", + "attrs": [ + { + "name": "6869687", + "value": "" + }, + { + "name": "problem", + "value": "" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><rdar: problem=\"\" 6869687=\"\"></rdar:></body></html>", + "noQuirksBodyHtml": "<rdar: problem=\"\" 6869687=\"\"></rdar:>" + } + }, + { + "data": "<A>test< /A>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,8): expected-tag-name", + "(1,12): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a", + "children": [ + { + "text": "test< /A>", + "escaped": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a>test< /A></a></body></html>", + "noQuirksBodyHtml": "<a>test< /A></a>" + } + }, + { + "data": "<", + "errors": [ + "(1,4): expected-doctype-but-got-chars" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "escaped": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "<", + "escaped": true + } + ] + } + ] + } + ], + "html": "<html><head></head><body><</body></html>", + "noQuirksBodyHtml": "<" + } + }, + { + "data": "<body foo='bar'><body foo='baz' yo='mama'>", + "errors": [ + "(1,16): expected-doctype-but-got-start-tag", + "(1,42): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "attrs": [ + { + "name": "foo", + "value": "bar" + }, + { + "name": "yo", + "value": "mama" + } + ] + } + ] + } + ], + "html": "<html><head></head><body foo=\"bar\" yo=\"mama\"></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<body></br foo=\"bar\"></body>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,21): attributes-in-end-tag", + "(1,21): unexpected-end-tag-treated-as" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "br": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "br" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><br></body></html>", + "noQuirksBodyHtml": "<br>" + } + }, + { + "data": "<bdy><br foo=\"bar\"></body>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,26): expected-one-end-tag-but-got-another" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "bdy": true, + "br": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "bdy", + "children": [ + { + "tag": "br", + "attrs": [ + { + "name": "foo", + "value": "bar" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><bdy><br foo=\"bar\"></bdy></body></html>", + "noQuirksBodyHtml": "<bdy><br foo=\"bar\"></bdy>" + } + }, + { + "data": "<body></body></br foo=\"bar\">", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,28): attributes-in-end-tag", + "(1,28): unexpected-end-tag-after-body", + "(1,28): unexpected-end-tag-treated-as" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "br": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "br" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><br></body></html>", + "noQuirksBodyHtml": "<br>" + } + }, + { + "data": "<bdy></body><br foo=\"bar\">", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,12): expected-one-end-tag-but-got-another", + "(1,26): unexpected-start-tag-after-body", + "(1,26): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "bdy": true, + "br": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "bdy", + "children": [ + { + "tag": "br", + "attrs": [ + { + "name": "foo", + "value": "bar" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><bdy><br foo=\"bar\"></bdy></body></html>", + "noQuirksBodyHtml": "<bdy><br foo=\"bar\"></bdy>" + } + }, + { + "data": "<html><body></body></html><!-- Hi there -->", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + }, + { + "comment": " Hi there " + } + ], + "html": "<html><head></head><body></body></html><!-- Hi there -->", + "noQuirksBodyHtml": "<!-- Hi there -->" + } + }, + { + "data": "<html><body></body></html>x<!-- Hi there -->", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,27): expected-eof-but-got-char" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "x" + }, + { + "comment": " Hi there " + } + ] + } + ] + } + ], + "html": "<html><head></head><body>x<!-- Hi there --></body></html>", + "noQuirksBodyHtml": "x<!-- Hi there -->" + } + }, + { + "data": "<html><body></body></html>x<!-- Hi there --></html><!-- Again -->", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,27): expected-eof-but-got-char" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "x" + }, + { + "comment": " Hi there " + } + ] + } + ] + }, + { + "comment": " Again " + } + ], + "html": "<html><head></head><body>x<!-- Hi there --></body></html><!-- Again -->", + "noQuirksBodyHtml": "x<!-- Hi there --><!-- Again -->" + } + }, + { + "data": "<html><body></body></html>x<!-- Hi there --></body></html><!-- Again -->", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,27): expected-eof-but-got-char" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + }, + "comment": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "x" + }, + { + "comment": " Hi there " + } + ] + } + ] + }, + { + "comment": " Again " + } + ], + "html": "<html><head></head><body>x<!-- Hi there --></body></html><!-- Again -->", + "noQuirksBodyHtml": "x<!-- Hi there --><!-- Again -->" + } + }, + { + "data": "<html><body><ruby><div><rp>xx</rp></div></ruby></body></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,27): XXX-undefined-error" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "div": true, + "rp": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "rp", + "children": [ + { + "text": "xx" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby><div><rp>xx</rp></div></ruby></body></html>", + "noQuirksBodyHtml": "<ruby><div><rp>xx</rp></div></ruby>" + } + }, + { + "data": "<html><body><ruby><div><rt>xx</rt></div></ruby></body></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,27): XXX-undefined-error" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ruby": true, + "div": true, + "rt": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ruby", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "rt", + "children": [ + { + "text": "xx" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ruby><div><rt>xx</rt></div></ruby></body></html>", + "noQuirksBodyHtml": "<ruby><div><rt>xx</rt></div></ruby>" + } + }, + { + "data": "<html><frameset><!--1--><noframes>A</noframes><!--2--></frameset><!--3--><noframes>B</noframes><!--4--></html><!--5--><noframes>C</noframes><!--6-->", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true, + "noframes": true + }, + "comment": true, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset", + "children": [ + { + "comment": "1" + }, + { + "tag": "noframes", + "children": [ + { + "text": "A", + "no_escape": true + } + ] + }, + { + "comment": "2" + } + ] + }, + { + "comment": "3" + }, + { + "tag": "noframes", + "children": [ + { + "text": "B", + "no_escape": true + } + ] + }, + { + "comment": "4" + }, + { + "tag": "noframes", + "children": [ + { + "text": "C", + "no_escape": true + } + ] + } + ] + }, + { + "comment": "5" + }, + { + "comment": "6" + } + ], + "html": "<html><head></head><frameset><!--1--><noframes>A</noframes><!--2--></frameset><!--3--><noframes>B</noframes><!--4--><noframes>C</noframes></html><!--5--><!--6-->", + "noQuirksBodyHtml": "<!--1--><noframes>A</noframes><!--2--><!--3--><noframes>B</noframes><!--4--><!--5--><noframes>C</noframes><!--6-->" + } + }, + { + "data": "<select><option>A<select><option>B<select><option>C<select><option>D<select><option>E<select><option>F<select><option>G<select>", + "errors": [ + "(1,8): expected-doctype-but-got-start-tag", + "(1,25): unexpected-select-in-select", + "(1,59): unexpected-select-in-select", + "(1,93): unexpected-select-in-select", + "(1,127): unexpected-select-in-select" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "select": true, + "option": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "select", + "children": [ + { + "tag": "option", + "children": [ + { + "text": "A" + } + ] + } + ] + }, + { + "tag": "option", + "children": [ + { + "text": "B" + }, + { + "tag": "select", + "children": [ + { + "tag": "option", + "children": [ + { + "text": "C" + } + ] + } + ] + } + ] + }, + { + "tag": "option", + "children": [ + { + "text": "D" + }, + { + "tag": "select", + "children": [ + { + "tag": "option", + "children": [ + { + "text": "E" + } + ] + } + ] + } + ] + }, + { + "tag": "option", + "children": [ + { + "text": "F" + }, + { + "tag": "select", + "children": [ + { + "tag": "option", + "children": [ + { + "text": "G" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><select><option>A</option></select><option>B<select><option>C</option></select></option><option>D<select><option>E</option></select></option><option>F<select><option>G</option></select></option></body></html>", + "noQuirksBodyHtml": "<select><option>A</option></select><option>B<select><option>C</option></select></option><option>D<select><option>E</option></select></option><option>F<select><option>G</option></select></option>" + } + }, + { + "data": "<dd><dd><dt><dt><dd><li><li>", + "errors": [ + "(1,4): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "dd": true, + "dt": true, + "li": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "dd" + }, + { + "tag": "dd" + }, + { + "tag": "dt" + }, + { + "tag": "dt" + }, + { + "tag": "dd", + "children": [ + { + "tag": "li" + }, + { + "tag": "li" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><dd></dd><dd></dd><dt></dt><dt></dt><dd><li></li><li></li></dd></body></html>", + "noQuirksBodyHtml": "<dd></dd><dd></dd><dt></dt><dt></dt><dd><li></li><li></li></dd>" + } + }, + { + "data": "<div><b></div><div><nobr>a<nobr>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,14): end-tag-too-early", + "(1,32): unexpected-start-tag-implies-end-tag", + "(1,32): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "b": true, + "nobr": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "b" + } + ] + }, + { + "tag": "div", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "nobr", + "children": [ + { + "text": "a" + } + ] + }, + { + "tag": "nobr" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><b></b></div><div><b><nobr>a</nobr><nobr></nobr></b></div></body></html>", + "noQuirksBodyHtml": "<div><b></b></div><div><b><nobr>a</nobr><nobr></nobr></b></div>" + } + }, + { + "data": "<head></head>\n<body></body>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "text": "\n" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head>\n<body></body></html>", + "noQuirksBodyHtml": "\n" + } + }, + { + "data": "<head></head> <style></style>ddd", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,21): unexpected-start-tag-out-of-my-head" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "style": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head", + "children": [ + { + "tag": "style" + } + ] + }, + { + "text": " " + }, + { + "tag": "body", + "children": [ + { + "text": "ddd" + } + ] + } + ] + } + ], + "html": "<html><head><style></style></head> <body>ddd</body></html>", + "noQuirksBodyHtml": " <style></style>ddd" + } + }, + { + "data": "<kbd><table></kbd><col><select><tr>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,18): unexpected-end-tag-implies-table-voodoo", + "(1,18): unexpected-end-tag", + "(1,31): unexpected-start-tag-implies-table-voodoo", + "(1,35): unexpected-table-element-start-tag-in-select-in-table", + "(1,35): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "kbd": true, + "select": true, + "table": true, + "colgroup": true, + "col": true, + "tbody": true, + "tr": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "kbd", + "children": [ + { + "tag": "select" + }, + { + "tag": "table", + "children": [ + { + "tag": "colgroup", + "children": [ + { + "tag": "col" + } + ] + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><kbd><select></select><table><colgroup><col></colgroup><tbody><tr></tr></tbody></table></kbd></body></html>", + "noQuirksBodyHtml": "<kbd><select></select><table><colgroup><col></colgroup><tbody><tr></tr></tbody></table></kbd>" + } + }, + { + "data": "<kbd><table></kbd><col><select><tr></table><div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,18): unexpected-end-tag-implies-table-voodoo", + "(1,18): unexpected-end-tag", + "(1,31): unexpected-start-tag-implies-table-voodoo", + "(1,35): unexpected-table-element-start-tag-in-select-in-table", + "(1,48): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "kbd": true, + "select": true, + "table": true, + "colgroup": true, + "col": true, + "tbody": true, + "tr": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "kbd", + "children": [ + { + "tag": "select" + }, + { + "tag": "table", + "children": [ + { + "tag": "colgroup", + "children": [ + { + "tag": "col" + } + ] + }, + { + "tag": "tbody", + "children": [ + { + "tag": "tr" + } + ] + } + ] + }, + { + "tag": "div" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><kbd><select></select><table><colgroup><col></colgroup><tbody><tr></tr></tbody></table><div></div></kbd></body></html>", + "noQuirksBodyHtml": "<kbd><select></select><table><colgroup><col></colgroup><tbody><tr></tr></tbody></table><div></div></kbd>" + } + }, + { + "data": "<a><li><style></style><title></title></a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,41): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "li": true, + "style": true, + "title": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a" + }, + { + "tag": "li", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "style" + }, + { + "tag": "title" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a></a><li><a><style></style><title></title></a></li></body></html>", + "noQuirksBodyHtml": "<a></a><li><a><style></style><title></title></a></li>" + } + }, + { + "data": "<font></p><p><meta><title></title></font>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,10): unexpected-end-tag", + "(1,41): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "font": true, + "p": true, + "meta": true, + "title": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "font", + "children": [ + { + "tag": "p" + } + ] + }, + { + "tag": "p", + "children": [ + { + "tag": "font", + "children": [ + { + "tag": "meta" + }, + { + "tag": "title" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><font><p></p></font><p><font><meta><title></title></font></p></body></html>", + "noQuirksBodyHtml": "<font><p></p></font><p><font><meta><title></title></font></p>" + } + }, + { + "data": "<a><center><title></title><a>", + "errors": [ + "(1,3): expected-doctype-but-got-start-tag", + "(1,29): unexpected-start-tag-implies-end-tag", + "(1,29): adoption-agency-1.3", + "(1,29): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "a": true, + "center": true, + "title": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "a" + }, + { + "tag": "center", + "children": [ + { + "tag": "a", + "children": [ + { + "tag": "title" + } + ] + }, + { + "tag": "a" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><a></a><center><a><title></title></a><a></a></center></body></html>", + "noQuirksBodyHtml": "<a></a><center><a><title></title></a><a></a></center>" + } + }, + { + "data": "<svg><title><div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,17): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg title": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "title", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><title><div></div></title></svg></body></html>", + "noQuirksBodyHtml": "<svg><title><div></div></title></svg>" + } + }, + { + "data": "<svg><title><rect><div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,23): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg title": true, + "rect": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "title", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "rect", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><title><rect><div></div></rect></title></svg></body></html>", + "noQuirksBodyHtml": "<svg><title><rect><div></div></rect></title></svg>" + } + }, + { + "data": "<svg><title><svg><div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,22): unexpected-html-element-in-foreign-content", + "(1,22): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg title": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "title", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><title><svg></svg><div></div></title></svg></body></html>", + "noQuirksBodyHtml": "<svg><title><svg><div></div></svg></title></svg>" + } + }, + { + "data": "<img <=\"\" FAIL>", + "errors": [ + "(1,6): invalid-character-in-attribute-name", + "(1,15): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "img": true + }, + "attrWithFunnyChar": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "img", + "attrs": [ + { + "name": "<", + "value": "" + }, + { + "name": "fail", + "value": "" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><img <=\"\" fail=\"\"></body></html>", + "noQuirksBodyHtml": "<img <=\"\" fail=\"\">" + } + }, + { + "data": "<ul><li><div id='foo'/>A</li><li>B<div>C</div></li></ul>", + "errors": [ + "(1,4): expected-doctype-but-got-start-tag", + "(1,23): non-void-element-with-trailing-solidus", + "(1,29): end-tag-too-early" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "ul": true, + "li": true, + "div": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "ul", + "children": [ + { + "tag": "li", + "children": [ + { + "tag": "div", + "attrs": [ + { + "name": "id", + "value": "foo" + } + ], + "children": [ + { + "text": "A" + } + ] + } + ] + }, + { + "tag": "li", + "children": [ + { + "text": "B" + }, + { + "tag": "div", + "children": [ + { + "text": "C" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><ul><li><div id=\"foo\">A</div></li><li>B<div>C</div></li></ul></body></html>", + "noQuirksBodyHtml": "<ul><li><div id=\"foo\">A</div></li><li>B<div>C</div></li></ul>" + } + }, + { + "data": "<svg><em><desc></em>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,9): unexpected-html-element-in-foreign-content", + "(1,20): adoption-agency-1.3" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "em": true, + "desc": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "em", + "children": [ + { + "tag": "desc" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg></svg><em><desc></desc></em></body></html>", + "noQuirksBodyHtml": "<svg><em><desc></desc></em></svg>" + } + }, + { + "data": "<table><tr><td><svg><desc><td></desc><circle>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true, + "svg svg": true, + "svg desc": true, + "circle": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "desc", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + }, + { + "tag": "td", + "children": [ + { + "tag": "circle" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td><svg><desc></desc></svg></td><td><circle></circle></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td><svg><desc></desc></svg></td><td><circle></circle></td></tr></tbody></table>" + } + }, + { + "data": "<svg><tfoot></mi><td>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag", + "(1,17): unexpected-end-tag", + "(1,17): unexpected-end-tag", + "(1,21): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg tfoot": true, + "svg td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "tfoot", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "td", + "ns": "http://www.w3.org/2000/svg" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><tfoot><td></td></tfoot></svg></body></html>", + "noQuirksBodyHtml": "<svg><tfoot><td></td></tfoot></svg>" + } + }, + { + "data": "<math><mrow><mrow><mn>1</mn></mrow><mi>a</mi></mrow></math>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "math math": true, + "math mrow": true, + "math mn": true, + "math mi": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "math", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mrow", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mrow", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "tag": "mn", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "1" + } + ] + } + ] + }, + { + "tag": "mi", + "ns": "http://www.w3.org/1998/Math/MathML", + "children": [ + { + "text": "a" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><math><mrow><mrow><mn>1</mn></mrow><mi>a</mi></mrow></math></body></html>", + "noQuirksBodyHtml": "<math><mrow><mrow><mn>1</mn></mrow><mi>a</mi></mrow></math>" + } + }, + { + "data": "<!doctype html><input type=\"hidden\"><frameset>", + "errors": [ + "(1,46): unexpected-start-tag", + "(1,46): eof-in-frameset" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "frameset": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "frameset" + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>", + "noQuirksBodyHtml": "<input type=\"hidden\">" + } + }, + { + "data": "<!doctype html><input type=\"button\"><frameset>", + "errors": [ + "(1,46): unexpected-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "input": true + }, + "doctype": true + }, + "tree": [ + { + "doctype": "html" + }, + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "input", + "attrs": [ + { + "name": "type", + "value": "button" + } + ] + } + ] + } + ] + } + ], + "html": "<!DOCTYPE html><html><head></head><body><input type=\"button\"></body></html>", + "noQuirksBodyHtml": "<input type=\"button\">" + } + } + ], + "webkit02.dat": [ + { + "data": "<foo bar=qux/>", + "errors": [ + "(1,14): expected-doctype-but-got-start-tag", + "(1,14): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "foo": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "foo", + "attrs": [ + { + "name": "bar", + "value": "qux/" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><foo bar=\"qux/\"></foo></body></html>", + "noQuirksBodyHtml": "<foo bar=\"qux/\"></foo>" + } + }, + { + "data": "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>", + "errors": [ + "(1,15): expected-doctype-but-got-start-tag" + ], + "script": "on", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "noscript": true, + "span": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "attrs": [ + { + "name": "id", + "value": "status" + } + ], + "children": [ + { + "tag": "noscript", + "children": [ + { + "text": "<strong>A</strong>", + "no_escape": true + } + ] + }, + { + "tag": "span", + "children": [ + { + "text": "B" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p></body></html>", + "noQuirksBodyHtml": "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>" + } + }, + { + "data": "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>", + "errors": [ + "(1,15): expected-doctype-but-got-start-tag" + ], + "script": "off", + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "p": true, + "noscript": true, + "strong": true, + "span": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "p", + "attrs": [ + { + "name": "id", + "value": "status" + } + ], + "children": [ + { + "tag": "noscript", + "children": [ + { + "tag": "strong", + "children": [ + { + "text": "A" + } + ] + } + ] + }, + { + "tag": "span", + "children": [ + { + "text": "B" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p></body></html>", + "noQuirksBodyHtml": "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>" + } + }, + { + "data": "<div><sarcasm><div></div></sarcasm></div>", + "errors": [ + "(1,5): expected-doctype-but-got-start-tag" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "div": true, + "sarcasm": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "div", + "children": [ + { + "tag": "sarcasm", + "children": [ + { + "tag": "div" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><div><sarcasm><div></div></sarcasm></div></body></html>", + "noQuirksBodyHtml": "<div><sarcasm><div></div></sarcasm></div>" + } + }, + { + "data": "<html><body><img src=\"\" border=\"0\" alt=\"><div>A</div></body></html>", + "errors": [ + "(1,6): expected-doctype-but-got-start-tag", + "(1,67): eof-in-attribute-value-double-quote" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body" + } + ] + } + ], + "html": "<html><head></head><body></body></html>", + "noQuirksBodyHtml": "" + } + }, + { + "data": "<table><td></tbody>A", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,11): unexpected-cell-in-table-body", + "(1,20): foster-parenting-character", + "(1,20): eof-in-table" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "text": "A" + }, + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body>A<table><tbody><tr><td></td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "A<table><tbody><tr><td></td></tr></tbody></table>" + } + }, + { + "data": "<table><td></thead>A", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,11): unexpected-cell-in-table-body", + "(1,19): XXX-undefined-error", + "(1,20): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "text": "A" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td>A</td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td>A</td></tr></tbody></table>" + } + }, + { + "data": "<table><td></tfoot>A", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,11): unexpected-cell-in-table-body", + "(1,19): XXX-undefined-error", + "(1,20): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "tbody": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "tbody", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "text": "A" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><tbody><tr><td>A</td></tr></tbody></table></body></html>", + "noQuirksBodyHtml": "<table><tbody><tr><td>A</td></tr></tbody></table>" + } + }, + { + "data": "<table><thead><td></tbody>A", + "errors": [ + "(1,7): expected-doctype-but-got-start-tag", + "(1,18): unexpected-cell-in-table-body", + "(1,26): XXX-undefined-error", + "(1,27): expected-closing-tag-but-got-eof" + ], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "table": true, + "thead": true, + "tr": true, + "td": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "table", + "children": [ + { + "tag": "thead", + "children": [ + { + "tag": "tr", + "children": [ + { + "tag": "td", + "children": [ + { + "text": "A" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><table><thead><tr><td>A</td></tr></thead></table></body></html>", + "noQuirksBodyHtml": "<table><thead><tr><td>A</td></tr></thead></table>" + } + }, + { + "data": "<legend>test</legend>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "legend": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "legend", + "children": [ + { + "text": "test" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><legend>test</legend></body></html>", + "noQuirksBodyHtml": "<legend>test</legend>" + } + }, + { + "data": "<table><input>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "input": true, + "table": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "input" + }, + { + "tag": "table" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><input><table></table></body></html>", + "noQuirksBodyHtml": "<input><table></table>" + } + }, + { + "data": "<b><em><foo><foo><aside></b>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "em": true, + "foo": true, + "aside": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "em", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foo" + } + ] + } + ] + } + ] + }, + { + "tag": "em", + "children": [ + { + "tag": "aside", + "children": [ + { + "tag": "b" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b><em><foo><foo></foo></foo></em></b><em><aside><b></b></aside></em></body></html>", + "noQuirksBodyHtml": "<b><em><foo><foo></foo></foo></em></b><em><aside><b></b></aside></em>" + } + }, + { + "data": "<b><em><foo><foo><aside></b></em>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "em": true, + "foo": true, + "aside": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "em", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foo" + } + ] + } + ] + } + ] + }, + { + "tag": "em" + }, + { + "tag": "aside", + "children": [ + { + "tag": "em", + "children": [ + { + "tag": "b" + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b><em><foo><foo></foo></foo></em></b><em></em><aside><em><b></b></em></aside></body></html>", + "noQuirksBodyHtml": "<b><em><foo><foo></foo></foo></em></b><em></em><aside><em><b></b></em></aside>" + } + }, + { + "data": "<b><em><foo><foo><foo><aside></b>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "em": true, + "foo": true, + "aside": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "em", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foo" + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "aside", + "children": [ + { + "tag": "b" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b><em><foo><foo><foo></foo></foo></foo></em></b><aside><b></b></aside></body></html>", + "noQuirksBodyHtml": "<b><em><foo><foo><foo></foo></foo></foo></em></b><aside><b></b></aside>" + } + }, + { + "data": "<b><em><foo><foo><foo><aside></b></em>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "b": true, + "em": true, + "foo": true, + "aside": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "b", + "children": [ + { + "tag": "em", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foo" + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "aside", + "children": [ + { + "tag": "b" + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><b><em><foo><foo><foo></foo></foo></foo></em></b><aside><b></b></aside></body></html>", + "noQuirksBodyHtml": "<b><em><foo><foo><foo></foo></foo></foo></em></b><aside><b></b></aside>" + } + }, + { + "data": "<b><em><foo><foo><foo><foo><foo><foo><foo><foo><foo><foo><aside></b></em>", + "errors": [], + "fragment": { + "name": "div" + }, + "document": { + "props": { + "tags": { + "b": true, + "em": true, + "foo": true, + "aside": true + } + }, + "tree": [ + { + "tag": "b", + "children": [ + { + "tag": "em", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foo" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "aside", + "children": [ + { + "tag": "b" + } + ] + } + ], + "html": "<b><em><foo><foo><foo><foo><foo><foo><foo><foo><foo><foo></foo></foo></foo></foo></foo></foo></foo></foo></foo></foo></em></b><aside><b></b></aside>", + "noQuirksBodyHtml": "<b><em><foo><foo><foo><foo><foo><foo><foo><foo><foo><foo></foo></foo></foo></foo></foo></foo></foo></foo></foo></foo></em></b><aside><b></b></aside>" + } + }, + { + "data": "<b><em><foo><foob><foob><foob><foob><fooc><fooc><fooc><fooc><food><aside></b></em>", + "errors": [], + "fragment": { + "name": "div" + }, + "document": { + "props": { + "tags": { + "b": true, + "em": true, + "foo": true, + "foob": true, + "fooc": true, + "food": true, + "aside": true + } + }, + "tree": [ + { + "tag": "b", + "children": [ + { + "tag": "em", + "children": [ + { + "tag": "foo", + "children": [ + { + "tag": "foob", + "children": [ + { + "tag": "foob", + "children": [ + { + "tag": "foob", + "children": [ + { + "tag": "foob", + "children": [ + { + "tag": "fooc", + "children": [ + { + "tag": "fooc", + "children": [ + { + "tag": "fooc", + "children": [ + { + "tag": "fooc", + "children": [ + { + "tag": "food" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "tag": "aside", + "children": [ + { + "tag": "b" + } + ] + } + ], + "html": "<b><em><foo><foob><foob><foob><foob><fooc><fooc><fooc><fooc><food></food></fooc></fooc></fooc></fooc></foob></foob></foob></foob></foo></em></b><aside><b></b></aside>", + "noQuirksBodyHtml": "<b><em><foo><foob><foob><foob><foob><fooc><fooc><fooc><fooc><food></food></fooc></fooc></fooc></fooc></foob></foob></foob></foob></foo></em></b><aside><b></b></aside>" + } + }, + { + "data": "<option><XH<optgroup></optgroup>", + "errors": [], + "fragment": { + "name": "select" + }, + "document": { + "props": { + "tags": { + "option": true + } + }, + "tree": [ + { + "tag": "option" + } + ], + "html": "<option></option>", + "noQuirksBodyHtml": "<option><xh<optgroup></xh<optgroup></option>" + } + }, + { + "data": "<svg><foreignObject><div>foo</div><plaintext></foreignObject></svg><div>bar</div>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg foreignObject": true, + "div": true, + "plaintext": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "div", + "children": [ + { + "text": "foo" + } + ] + }, + { + "tag": "plaintext", + "children": [ + { + "text": "</foreignObject></svg><div>bar</div>", + "no_escape": true + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><foreignObject><div>foo</div><plaintext></foreignObject></svg><div>bar</div></plaintext></foreignObject></svg></body></html>", + "noQuirksBodyHtml": "<svg><foreignObject><div>foo</div><plaintext></foreignObject></svg><div>bar</div></plaintext></foreignObject></svg>" + } + }, + { + "data": "<svg><foreignObject></foreignObject><title></svg>foo", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "svg svg": true, + "svg foreignObject": true, + "svg title": true + } + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "svg", + "ns": "http://www.w3.org/2000/svg", + "children": [ + { + "tag": "foreignObject", + "ns": "http://www.w3.org/2000/svg" + }, + { + "tag": "title", + "ns": "http://www.w3.org/2000/svg" + } + ] + }, + { + "text": "foo" + } + ] + } + ] + } + ], + "html": "<html><head></head><body><svg><foreignObject></foreignObject><title></title></svg>foo</body></html>", + "noQuirksBodyHtml": "<svg><foreignObject></foreignObject><title></title></svg>foo" + } + }, + { + "data": "</foreignObject><plaintext><div>foo</div>", + "errors": [], + "document": { + "props": { + "tags": { + "html": true, + "head": true, + "body": true, + "plaintext": true + }, + "no_escape": true + }, + "tree": [ + { + "tag": "html", + "children": [ + { + "tag": "head" + }, + { + "tag": "body", + "children": [ + { + "tag": "plaintext", + "children": [ + { + "text": "<div>foo</div>", + "no_escape": true + } + ] + } + ] + } + ] + } + ], + "html": "<html><head></head><body><plaintext><div>foo</div></plaintext></body></html>", + "noQuirksBodyHtml": "<plaintext><div>foo</div></plaintext>" + } + } + ] +}
\ No newline at end of file |