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 - &amp;",
2993fb6ee3Sopenharmony_ci        "input": "<div data-foo=\"& 42 &\"></div>",
3093fb6ee3Sopenharmony_ci        "expected": "<html><head></head><body><div data-foo=\"&amp; 42 &amp;\"></div></body></html>"
3193fb6ee3Sopenharmony_ci    },
3293fb6ee3Sopenharmony_ci    {
3393fb6ee3Sopenharmony_ci        "name": "Attribute value escaping - &nbsp;",
3493fb6ee3Sopenharmony_ci        "input": "<div data-foo=\"\u00A0 bar\u00A0\"></div>",
3593fb6ee3Sopenharmony_ci        "expected": "<html><head></head><body><div data-foo=\"&nbsp; bar&nbsp;\"></div></body></html>"
3693fb6ee3Sopenharmony_ci    },
3793fb6ee3Sopenharmony_ci    {
3893fb6ee3Sopenharmony_ci        "name": "Attribute value escaping - quotes",
3993fb6ee3Sopenharmony_ci        "input": "<div data-foo=\"&quot;\" id=test1\" class='test2\"'></div>",
4093fb6ee3Sopenharmony_ci        "expected": "<html><head></head><body><div data-foo=\"&quot;\" id=\"test1&quot;\" class=\"test2&quot;\"></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='&raquo;&phone;'>",
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 - &amp;",
7493fb6ee3Sopenharmony_ci        "input": "<title>Mac&Cheese</title><div>&&&</div>",
7593fb6ee3Sopenharmony_ci        "expected": "<html><head><title>Mac&amp;Cheese</title></head><body><div>&amp;&amp;&amp;</div></body></html>"
7693fb6ee3Sopenharmony_ci    },
7793fb6ee3Sopenharmony_ci    {
7893fb6ee3Sopenharmony_ci        "name": "Text nodes escaping - &nbsp;",
7993fb6ee3Sopenharmony_ci        "input": "<title>\u00A0foo\u00A0bar\u00A0</title><div>\u00A0baz\u00A0</div>",
8093fb6ee3Sopenharmony_ci        "expected": "<html><head><title>&nbsp;foo&nbsp;bar&nbsp;</title></head><body><div>&nbsp;baz&nbsp;</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>&lt; foo &gt;</title></head><body><div>&gt; bar &lt;</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>&amp; &gt;&lt;</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>&lt;</style></svg><style>&lt;</style><svg><script>&lt;</script></svg><script>&lt;</script>",
14693fb6ee3Sopenharmony_ci        "expected": "<html><head></head><body><svg><style>&lt;</style></svg><style>&lt;</style><svg><script>&lt;</script></svg><script>&lt;</script></body></html>"
14793fb6ee3Sopenharmony_ci    }
14893fb6ee3Sopenharmony_ci]
149