| <svg svg>
| "foo"
| "bar"
+
+#data
+<table><tr><td><svg><desc><td></desc><circle>
+#errors
+7: Start tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
+30: A table cell was implicitly closed, but there were open elements.
+26: Unclosed element “desc”.
+20: Unclosed element “svg”.
+37: Stray end tag “desc”.
+45: End of file seen and there were open elements.
+45: Unclosed element “circle”.
+7: Unclosed element “table”.
+#document
+| <html>
+| <head>
+| <body>
+| <table>
+| <tbody>
+| <tr>
+| <td>
+| <svg svg>
+| <svg desc>
+| <td>
+| <circle>
| <td>
| <button>
| <td>
+
+#data
+<table><tr><td><svg><desc><td>
+#errors
+#document
+| <html>
+| <head>
+| <body>
+| <table>
+| <tbody>
+| <tr>
+| <td>
+| <svg svg>
+| <svg desc>
+| <td>
| <textarea>
| "</textarea>"
+#data
+<!doctype html><textarea><</textarea>
+#errors
+#document
+| <!DOCTYPE html>
+| <html>
+| <head>
+| <body>
+| <textarea>
+| "<"
+
+#data
+<!doctype html><textarea>a<b</textarea>
+#errors
+#document
+| <!DOCTYPE html>
+| <html>
+| <head>
+| <body>
+| <textarea>
+| "a<b"
+
#data
<!doctype html><iframe><!--<iframe></iframe>--></iframe>
#errors
| <ruby>
| <div>
| <span>
-| <rp>
+| <rp>
#data
<!doctype html><ruby><div><p><rp>
| <ruby>
| <div>
| <p>
-| <rp>
+| <rp>
#data
<!doctype html><ruby><p><rt>
| <ruby>
| <div>
| <span>
-| <rt>
+| <rt>
#data
<!doctype html><ruby><div><p><rt>
| <ruby>
| <div>
| <p>
-| <rt>
+| <rt>
#data
<!doctype html><math/><foo>
| <plaintext>
| <a>
| "b"
+
+#data
+<!DOCTYPE html><div>a<a></div>b<p>c</p>d
+#errors
+#document
+| <!DOCTYPE html>
+| <html>
+| <head>
+| <body>
+| <div>
+| "a"
+| <a>
+| <a>
+| "b"
+| <p>
+| "c"
+| "d"
| <i>
| <nobr>
| "2"
+
+#data
+<p><code x</code></p>
+
+#errors
+#document
+| <html>
+| <head>
+| <body>
+| <p>
+| <code>
+| code=""
+| x<=""
+| <code>
+| code=""
+| x<=""
+| "
+"
+
+#data
+<!DOCTYPE html><svg><foreignObject><p><i></p>a
+#errors
+45: End tag “p” seen, but there were open elements.
+41: Unclosed element “i”.
+46: End of file seen and there were open elements.
+35: Unclosed element “foreignObject”.
+20: Unclosed element “svg”.
+#document
+| <!DOCTYPE html>
+| <html>
+| <head>
+| <body>
+| <svg svg>
+| <svg foreignObject>
+| <p>
+| <i>
+| <i>
+| "a"
+
+#data
+<!DOCTYPE html><table><tr><td><svg><foreignObject><p><i></p>a
+#errors
+56: End tag “p” seen, but there were open elements.
+52: Unclosed element “i”.
+57: End of file seen and there were open elements.
+46: Unclosed element “foreignObject”.
+31: Unclosed element “svg”.
+22: Unclosed element “table”.
+#document
+| <!DOCTYPE html>
+| <html>
+| <head>
+| <body>
+| <table>
+| <tbody>
+| <tr>
+| <td>
+| <svg svg>
+| <svg foreignObject>
+| <p>
+| <i>
+| <i>
+| "a"
+
+#data
+<!DOCTYPE html><math><mtext><p><i></p>a
+#errors
+38: End tag “p” seen, but there were open elements.
+34: Unclosed element “i”.
+39: End of file in a foreign namespace context.
+#document
+| <!DOCTYPE html>
+| <html>
+| <head>
+| <body>
+| <math math>
+| <math mtext>
+| <p>
+| <i>
+| <i>
+| "a"
+
+#data
+<!DOCTYPE html><table><tr><td><math><mtext><p><i></p>a
+#errors
+53: End tag “p” seen, but there were open elements.
+49: Unclosed element “i”.
+54: End of file in a foreign namespace context.
+#document
+| <!DOCTYPE html>
+| <html>
+| <head>
+| <body>
+| <table>
+| <tbody>
+| <tr>
+| <td>
+| <math math>
+| <math mtext>
+| <p>
+| <i>
+| <i>
+| "a"
+
+#data
+<!DOCTYPE html><body><div><!/div>a
+#errors
+29: Bogus comment.
+34: End of file seen and there were open elements.
+26: Unclosed element “div”.
+#document
+| <!DOCTYPE html>
+| <html>
+| <head>
+| <body>
+| <div>
+| <!-- /div -->
+| "a"
frameset
#document
| <frame>
+
+#data
+#errors
+#document-fragment
+html
+#document
+| <head>
+| <body>
| <body>
| <ruby>
| <div>
-| <rp>
-| "xx"
+| <rp>
+| "xx"
#data
<html><body><ruby><div><rt>xx</rt></div></ruby></body></html>
| <body>
| <ruby>
| <div>
-| <rt>
-| "xx"
+| <rt>
+| "xx"
#data
<html><frameset><!--1--><noframes>A</noframes><!--2--></frameset><!--3--><noframes>B</noframes><!--4--></html><!--5--><noframes>C</noframes><!--6-->
| <td>
| <svg svg>
| <svg desc>
-| <svg circle>
+| <td>
+| <circle>
#data
<svg><tfoot></mi><td>
| <body>
| <legend>
| "test"
+
+#data
+<table><input>
+#errors
+#document
+| <html>
+| <head>
+| <body>
+| <input>
+| <table>
+
+#data
+<b><em><dcell><postfield><postfield><postfield><postfield><missing_glyph><missing_glyph><missing_glyph><missing_glyph><hkern><aside></b></em>
+#errors
+#document-fragment
+div
+#document
+| <b>
+| <em>
+| <dcell>
+| <postfield>
+| <postfield>
+| <postfield>
+| <postfield>
+| <missing_glyph>
+| <missing_glyph>
+| <missing_glyph>
+| <missing_glyph>
+| <hkern>
+| <aside>
+| <em>
+| <b>
+
+#data
+<isindex action="x">
+#errors
+#document-fragment
+table
+#document
+| <form>
+| action="x"
+| <hr>
+| <label>
+| "This is a searchable index. Enter search keywords: "
+| <input>
+| name="isindex"
+| <hr>
+
+#data
+<option><XH<optgroup></optgroup>
+#errors
+#document-fragment
+select
+#document
+| <option>
PASS "<input type=\"hidden\"><frameset>"
PASS "<!DOCTYPE html><table><caption><svg>foo</table>bar"
+FAIL "<table><tr><td><svg><desc><td></desc><circle>"
PASS "FOO
ZOO"
+PASS "<html>\x00<frameset></frameset>"
+FAIL "<html> \x00 <frameset></frameset>"
+PASS "<html>a\x00a<frameset></frameset>"
+PASS "<html>\x00\x00<frameset></frameset>"
+FAIL "<html>\x00\n <frameset></frameset>"
+FAIL "<html><select>\x00"
+PASS "\x00"
+PASS "<body>\x00"
+FAIL "<plaintext>\x00filler\x00text\x00"
+FAIL "<svg><![CDATA[\x00filler\x00text\x00]]>"
+FAIL "<body><!\x00>"
+FAIL "<body><!\x00filler\x00text>"
+FAIL "<body><svg><foreignObject>\x00filler\x00text"
+FAIL "<svg>\x00filler\x00text"
+FAIL "<svg>\x00<frameset>"
+FAIL "<svg>\x00 <frameset>"
+FAIL "<svg>\x00a<frameset>"
+FAIL "<svg>\x00</svg><frameset>"
+FAIL "<svg>\x00 </svg><frameset>"
+FAIL "<svg>\x00a</svg><frameset>"
+PASS "<svg><path></path></svg><frameset>"
+PASS "<svg><p><frameset>"
+FAIL "<!DOCTYPE html><pre>\r\n\r\nA</pre>"
+FAIL "<!DOCTYPE html><pre>\r\rA</pre>"
+PASS "<!DOCTYPE html><pre>\rA</pre>"
+FAIL "<!DOCTYPE html><table><tr><td><math><mtext>\x00a"
+FAIL "<!DOCTYPE html><table><tr><td><svg><foreignObject>\x00a"
+FAIL "<!DOCTYPE html><math><mi>a\x00b"
+FAIL "<!DOCTYPE html><math><mo>a\x00b"
+FAIL "<!DOCTYPE html><math><mn>a\x00b"
+FAIL "<!DOCTYPE html><math><ms>a\x00b"
+FAIL "<!DOCTYPE html><math><mtext>a\x00b"
PASS "<table><tr></body></caption></col></colgroup></html></td></th><td>foo"
PASS "<table><td><tr>"
PASS "<table><td><button><td>"
+FAIL "<table><tr><td><svg><desc><td>"
PASS "<!doctype html><noframes><body><script><!--...</script></body></noframes></html>"
PASS "<!doctype html><textarea><!--<textarea></textarea>--></textarea>"
PASS "<!doctype html><textarea></textarea></textarea>"
+PASS "<!doctype html><textarea><</textarea>"
+PASS "<!doctype html><textarea>a<b</textarea>"
PASS "<!doctype html><iframe><!--<iframe></iframe>--></iframe>"
PASS "<!doctype html><iframe>...<!--X->...<!--/X->...</iframe>"
PASS "<!doctype html><xmp><!--<xmp></xmp>--></xmp>"
PASS "<!doctype html><isindex type=\"hidden\">"
PASS "<!doctype html><isindex name=\"foo\">"
PASS "<!doctype html><ruby><p><rp>"
-FAIL "<!doctype html><ruby><div><span><rp>"
-FAIL "<!doctype html><ruby><div><p><rp>"
+PASS "<!doctype html><ruby><div><span><rp>"
+PASS "<!doctype html><ruby><div><p><rp>"
PASS "<!doctype html><ruby><p><rt>"
-FAIL "<!doctype html><ruby><div><span><rt>"
-FAIL "<!doctype html><ruby><div><p><rt>"
+PASS "<!doctype html><ruby><div><span><rt>"
+PASS "<!doctype html><ruby><div><p><rt>"
PASS "<!doctype html><math/><foo>"
PASS "<!doctype html><svg/><foo>"
PASS "<!doctype html><div></body><!--foo-->"
PASS "<!doctype html><figcaption><article></figcaption>a"
PASS "<!doctype html><summary><article></summary>a"
PARSE "<!doctype html><p><a><plaintext>b"
+PASS "<!DOCTYPE html><div>a<a></div>b<p>c</p>d"
PASS "<!DOCTYPE html><body><b><nobr>1<nobr><ins></b><i><nobr>"
PASS "<!DOCTYPE html><body><b><nobr>1<ins><nobr></b><i>2"
PASS "<!DOCTYPE html><body><b>1<nobr></b><i><nobr>2</i>"
+FAIL "<p><code x</code></p>"
+FAIL "<!DOCTYPE html><svg><foreignObject><p><i></p>a"
+FAIL "<!DOCTYPE html><table><tr><td><svg><foreignObject><p><i></p>a"
+FAIL "<!DOCTYPE html><math><mtext><p><i></p>a"
+FAIL "<!DOCTYPE html><table><tr><td><math><mtext><p><i></p>a"
+PASS "<!DOCTYPE html><body><div><!/div>a"
FAIL "<textarea><option>"
FAIL "</html><!--abc-->"
PASS "</frameset><frame>"
+PASS ""
PASS "<html><body></body></html>x<!-- Hi there -->"
PASS "<html><body></body></html>x<!-- Hi there --></html><!-- Again -->"
PASS "<html><body></body></html>x<!-- Hi there --></body></html><!-- Again -->"
-FAIL "<html><body><ruby><div><rp>xx</rp></div></ruby></body></html>"
-FAIL "<html><body><ruby><div><rt>xx</rt></div></ruby></body></html>"
+PASS "<html><body><ruby><div><rp>xx</rp></div></ruby></body></html>"
+PASS "<html><body><ruby><div><rt>xx</rt></div></ruby></body></html>"
PASS "<html><frameset><!--1--><noframes>A</noframes><!--2--></frameset><!--3--><noframes>B</noframes><!--4--></html><!--5--><noframes>C</noframes><!--6-->"
PASS "<select><option>A<select><option>B<select><option>C<select><option>D<select><option>E<select><option>F<select><option>G<select>"
PASS "<dd><dd><dt><dt><dd><li><li>"
PASS "<img <=\"\" FAIL>"
FAIL "<ul><li><div id='foo'/>A</li><li>B<div>C</div></li></ul>"
PASS "<svg><em><desc></em>"
-PASS "<table><tr><td><svg><desc><td></desc><circle>"
+FAIL "<table><tr><td><svg><desc><td></desc><circle>"
PASS "<svg><tfoot></mi><td>"
PASS "<math><mrow><mrow><mn>1</mn></mrow><mi>a</mi></mrow></math>"
PASS "<!doctype html><input type=\"hidden\"><frameset>"
PASS "<table><td></tfoot>A"
PASS "<table><thead><td></tbody>A"
PASS "<legend>test</legend>"
+PASS "<table><input>"
+PASS "<b><em><dcell><postfield><postfield><postfield><postfield><missing_glyph><missing_glyph><missing_glyph><missing_glyph><hkern><aside></b></em>"
+FAIL "<isindex action=\"x\">"
+PASS "<option><XH<optgroup></optgroup>"