193fb6ee3Sopenharmony_ci[ 293fb6ee3Sopenharmony_ci { 393fb6ee3Sopenharmony_ci "name": "Template content", 493fb6ee3Sopenharmony_ci "input": "<body><template>Some <div>content</div></template></body>", 593fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><template>Some <div>content</div></template></body></html>" 693fb6ee3Sopenharmony_ci }, 793fb6ee3Sopenharmony_ci { 893fb6ee3Sopenharmony_ci "name": "Attributes", 993fb6ee3Sopenharmony_ci "input": "<head><meta http-equiv=\"refresh\" content=\"30\"></head><body><div style=\"background-color:red; padding: 0 25px 32px;\"></body>", 1093fb6ee3Sopenharmony_ci "expected": "<html><head><meta http-equiv=\"refresh\" content=\"30\"></head><body><div style=\"background-color:red; padding: 0 25px 32px;\"></div></body></html>" 1193fb6ee3Sopenharmony_ci }, 1293fb6ee3Sopenharmony_ci { 1393fb6ee3Sopenharmony_ci "name": "Attribute serialized name - XML namespace", 1493fb6ee3Sopenharmony_ci "input": "<svg xml:base=\"http://example.org\"></svg>", 1593fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><svg xml:base=\"http://example.org\"></svg></body></html>" 1693fb6ee3Sopenharmony_ci }, 1793fb6ee3Sopenharmony_ci { 1893fb6ee3Sopenharmony_ci "name": "Attribute serialized name - XMLNS namespace", 1993fb6ee3Sopenharmony_ci "input": "<svg xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"></svg", 2093fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><svg xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"></svg></body></html>" 2193fb6ee3Sopenharmony_ci }, 2293fb6ee3Sopenharmony_ci { 2393fb6ee3Sopenharmony_ci "name": "Attribute serialized name - XLink namespace", 2493fb6ee3Sopenharmony_ci "input": "<svg xlink:title=\"Hey!\"></svg>", 2593fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><svg xlink:title=\"Hey!\"></svg></body></html>" 2693fb6ee3Sopenharmony_ci }, 2793fb6ee3Sopenharmony_ci { 2893fb6ee3Sopenharmony_ci "name": "Attribute value escaping - &", 2993fb6ee3Sopenharmony_ci "input": "<div data-foo=\"& 42 &\"></div>", 3093fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><div data-foo=\"& 42 &\"></div></body></html>" 3193fb6ee3Sopenharmony_ci }, 3293fb6ee3Sopenharmony_ci { 3393fb6ee3Sopenharmony_ci "name": "Attribute value escaping - ", 3493fb6ee3Sopenharmony_ci "input": "<div data-foo=\"\u00A0 bar\u00A0\"></div>", 3593fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><div data-foo=\" bar \"></div></body></html>" 3693fb6ee3Sopenharmony_ci }, 3793fb6ee3Sopenharmony_ci { 3893fb6ee3Sopenharmony_ci "name": "Attribute value escaping - quotes", 3993fb6ee3Sopenharmony_ci "input": "<div data-foo=\""\" id=test1\" class='test2\"'></div>", 4093fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><div data-foo=\""\" id=\"test1"\" class=\"test2"\"></div></body></html>" 4193fb6ee3Sopenharmony_ci }, 4293fb6ee3Sopenharmony_ci { 4393fb6ee3Sopenharmony_ci "name": "Attribute value escaping - < and >", 4493fb6ee3Sopenharmony_ci "input": "<div data-foo=\"<span>\"></div>", 4593fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><div data-foo=\"<span>\"></div></body></html>" 4693fb6ee3Sopenharmony_ci }, 4793fb6ee3Sopenharmony_ci { 4893fb6ee3Sopenharmony_ci "name": "Attributes value escaping - other entities", 4993fb6ee3Sopenharmony_ci "input": "<div data-foo='»☎'>", 5093fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><div data-foo=\"»☎\"></div></body></html>" 5193fb6ee3Sopenharmony_ci }, 5293fb6ee3Sopenharmony_ci { 5393fb6ee3Sopenharmony_ci "name": "Void elements", 5493fb6ee3Sopenharmony_ci "input": "<area><base><basefont><bgsound><br><embed><hr><img><input><keygen><link><meta><param><source><track><wbr>", 5593fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><area><base><basefont><bgsound><br><embed><hr><img><input><keygen><link><meta><param><source><track><wbr></body></html>" 5693fb6ee3Sopenharmony_ci }, 5793fb6ee3Sopenharmony_ci { 5893fb6ee3Sopenharmony_ci "name": "Void elements - <col>", 5993fb6ee3Sopenharmony_ci "input": "<table><col></table>", 6093fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><table><colgroup><col></colgroup></table></body></html>" 6193fb6ee3Sopenharmony_ci }, 6293fb6ee3Sopenharmony_ci { 6393fb6ee3Sopenharmony_ci "name": "Void elements - <frame>", 6493fb6ee3Sopenharmony_ci "input": "<frameset><frame></frameset>", 6593fb6ee3Sopenharmony_ci "expected": "<html><head></head><frameset><frame></frameset></html>" 6693fb6ee3Sopenharmony_ci }, 6793fb6ee3Sopenharmony_ci { 6893fb6ee3Sopenharmony_ci "name": "Text nodes", 6993fb6ee3Sopenharmony_ci "input": "<title>foo</title><body>foo<div>bar</div>baz</body>", 7093fb6ee3Sopenharmony_ci "expected": "<html><head><title>foo</title></head><body>foo<div>bar</div>baz</body></html>" 7193fb6ee3Sopenharmony_ci }, 7293fb6ee3Sopenharmony_ci { 7393fb6ee3Sopenharmony_ci "name": "Text nodes escaping - &", 7493fb6ee3Sopenharmony_ci "input": "<title>Mac&Cheese</title><div>&&&</div>", 7593fb6ee3Sopenharmony_ci "expected": "<html><head><title>Mac&Cheese</title></head><body><div>&&&</div></body></html>" 7693fb6ee3Sopenharmony_ci }, 7793fb6ee3Sopenharmony_ci { 7893fb6ee3Sopenharmony_ci "name": "Text nodes escaping - ", 7993fb6ee3Sopenharmony_ci "input": "<title>\u00A0foo\u00A0bar\u00A0</title><div>\u00A0baz\u00A0</div>", 8093fb6ee3Sopenharmony_ci "expected": "<html><head><title> foo bar </title></head><body><div> baz </div></body></html>" 8193fb6ee3Sopenharmony_ci }, 8293fb6ee3Sopenharmony_ci { 8393fb6ee3Sopenharmony_ci "name": "Text nodes escaping - < and >", 8493fb6ee3Sopenharmony_ci "input": "<title>< foo ></title><div>> bar <</div>", 8593fb6ee3Sopenharmony_ci "expected": "<html><head><title>< foo ></title></head><body><div>> bar <</div></body></html>" 8693fb6ee3Sopenharmony_ci }, 8793fb6ee3Sopenharmony_ci { 8893fb6ee3Sopenharmony_ci "name": "Text nodes escaping - quotes", 8993fb6ee3Sopenharmony_ci "input": "<title>\"foo\"</title><div>\"bar\"</div>", 9093fb6ee3Sopenharmony_ci "expected": "<html><head><title>\"foo\"</title></head><body><div>\"bar\"</div></body></html>" 9193fb6ee3Sopenharmony_ci }, 9293fb6ee3Sopenharmony_ci { 9393fb6ee3Sopenharmony_ci "name": "Text nodes escaping - non-escapable tags", 9493fb6ee3Sopenharmony_ci "input": "<body><style>&\u00A0><</style><script>&\u00A0><</script><xmp>&\u00A0><</xmp><iframe>&\u00A0><</iframe><noembed>&\u00A0><</noembed><noframes>&\u00A0><</noframes><plaintext>&\u00A0><", 9593fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><style>&\u00A0><</style><script>&\u00A0><</script><xmp>&\u00A0><</xmp><iframe>&\u00A0><</iframe><noembed>&\u00A0><</noembed><noframes>&\u00A0><</noframes><plaintext>&\u00A0><</plaintext></body></html>" 9693fb6ee3Sopenharmony_ci }, 9793fb6ee3Sopenharmony_ci { 9893fb6ee3Sopenharmony_ci "name": "Text nodes escaping - <noscript> with scripting enabled", 9993fb6ee3Sopenharmony_ci "input": "<body><noscript>& ><</noscript></body>", 10093fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><noscript>& ><</noscript></body></html>" 10193fb6ee3Sopenharmony_ci }, 10293fb6ee3Sopenharmony_ci { 10393fb6ee3Sopenharmony_ci "name": "Text nodes escaping - <noscript> with scripting disabled (GH-332)", 10493fb6ee3Sopenharmony_ci "options": { "scriptingEnabled": false }, 10593fb6ee3Sopenharmony_ci "input": "<body><noscript>& ><</noscript></body>", 10693fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><noscript>& ><</noscript></body></html>" 10793fb6ee3Sopenharmony_ci }, 10893fb6ee3Sopenharmony_ci { 10993fb6ee3Sopenharmony_ci "name": "Comment nodes", 11093fb6ee3Sopenharmony_ci "input": "<!-- Hey --><html><head></head><!-- &\u00A0>< --><body><!-- 42 --></body></html>", 11193fb6ee3Sopenharmony_ci "expected": "<!-- Hey --><html><head></head><!-- &\u00A0>< --><body><!-- 42 --></body></html>" 11293fb6ee3Sopenharmony_ci }, 11393fb6ee3Sopenharmony_ci { 11493fb6ee3Sopenharmony_ci "name": "Doctype without systemId and publicId", 11593fb6ee3Sopenharmony_ci "input": "<!DOCTYPE html>", 11693fb6ee3Sopenharmony_ci "expected": "<!DOCTYPE html><html><head></head><body></body></html>" 11793fb6ee3Sopenharmony_ci }, 11893fb6ee3Sopenharmony_ci { 11993fb6ee3Sopenharmony_ci "name": "Doctype with publicId", 12093fb6ee3Sopenharmony_ci "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\">", 12193fb6ee3Sopenharmony_ci "expected": "<!DOCTYPE html><html><head></head><body></body></html>" 12293fb6ee3Sopenharmony_ci }, 12393fb6ee3Sopenharmony_ci { 12493fb6ee3Sopenharmony_ci "name": "Doctype with systemId", 12593fb6ee3Sopenharmony_ci "input": "<!DOCTYPE html SYSTEM \"http://www.w3.org/DTD/HTML4-strict.dtd\"", 12693fb6ee3Sopenharmony_ci "expected": "<!DOCTYPE html><html><head></head><body></body></html>" 12793fb6ee3Sopenharmony_ci }, 12893fb6ee3Sopenharmony_ci { 12993fb6ee3Sopenharmony_ci "name": "Doctype with publicId and systemId", 13093fb6ee3Sopenharmony_ci "input": "<!DOCTYPE html html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\"", 13193fb6ee3Sopenharmony_ci "expected": "<!DOCTYPE html><html><head></head><body></body></html>" 13293fb6ee3Sopenharmony_ci }, 13393fb6ee3Sopenharmony_ci { 13493fb6ee3Sopenharmony_ci "name": "Child nodes", 13593fb6ee3Sopenharmony_ci "input": "<span><a><b><c></c></b><d>e</d><f><g>h</g></f></a></span>", 13693fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><span><a><b><c></c></b><d>e</d><f><g>h</g></f></a></span></body></html>" 13793fb6ee3Sopenharmony_ci }, 13893fb6ee3Sopenharmony_ci { 13993fb6ee3Sopenharmony_ci "name": "<pre>, <textarea>, <listing> with initial LF (see: https://github.com/whatwg/html/pull/1815)", 14093fb6ee3Sopenharmony_ci "input": "<pre>\n1</pre><pre>\n\n2</pre><textarea>\n3</textarea><textarea>\n\n4</textarea><listing>\n5</listing><listing>\n\n6</listing>", 14193fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><pre>1</pre><pre>\n2</pre><textarea>3</textarea><textarea>\n4</textarea><listing>5</listing><listing>\n6</listing></body></html>" 14293fb6ee3Sopenharmony_ci }, 14393fb6ee3Sopenharmony_ci { 14493fb6ee3Sopenharmony_ci "name": "Mixed content (GH-333)", 14593fb6ee3Sopenharmony_ci "input": "<svg><style><</style></svg><style><</style><svg><script><</script></svg><script><</script>", 14693fb6ee3Sopenharmony_ci "expected": "<html><head></head><body><svg><style><</style></svg><style><</style><svg><script><</script></svg><script><</script></body></html>" 14793fb6ee3Sopenharmony_ci } 14893fb6ee3Sopenharmony_ci] 149