From 42543b07806ca9b9bec73eda91afa657f57c64bc Mon Sep 17 00:00:00 2001 From: Rupinder Singh Khokhar Date: Wed, 11 Jun 2014 09:13:22 +0530 Subject: Adding the latest test files without fixing the INDEXes or the test interfaces --- test/data/AUTHORS.rst | 34 + test/data/encoding/chardet/test_big5.txt | 51 + test/data/encoding/test-yahoo-jp.dat | 10 + test/data/encoding/tests1.dat | 394 + test/data/encoding/tests2.dat | 115 + test/data/sanitizer/tests1.dat | 501 + test/data/serializer/core.test | 125 + test/data/serializer/injectmeta.test | 66 + test/data/serializer/optionaltags.test | 965 + test/data/serializer/options.test | 60 + test/data/serializer/whitespace.test | 51 + test/data/sniffer/htmlOrFeed.json | 43 + test/data/tokeniser2/INDEX | 21 +- test/data/tokeniser2/README.md | 104 + test/data/tokeniser2/contentModelFlags.test | 50 +- test/data/tokeniser2/domjs.test | 91 + test/data/tokeniser2/entities.test | 2122 +- test/data/tokeniser2/escapeFlag.test | 24 +- test/data/tokeniser2/namedEntities.test | 42210 +++++++++++++++++++ test/data/tokeniser2/numericEntities.test | 190 +- test/data/tokeniser2/pendingSpecChanges.test | 7 + test/data/tokeniser2/test1.test | 28 +- test/data/tokeniser2/test2.test | 24 +- test/data/tokeniser2/test3.test | 3060 +- test/data/tokeniser2/test4.test | 79 +- test/data/tokeniser2/unicodeChars.test | 8 - test/data/tokeniser2/unicodeCharsProblematic.test | 27 + test/data/tokeniser2/xmlViolation.test | 22 + test/data/tree-construction/INDEX | 70 +- test/data/tree-construction/README.md | 89 + test/data/tree-construction/adoption01.dat | 337 + test/data/tree-construction/adoption02.dat | 39 + test/data/tree-construction/comments01.dat | 178 + test/data/tree-construction/doctype01.dat | 424 + test/data/tree-construction/domjs-unsafe.dat | Bin 0 -> 9884 bytes test/data/tree-construction/entities01.dat | 723 + test/data/tree-construction/entities02.dat | 283 + test/data/tree-construction/html5test-com.dat | 291 + test/data/tree-construction/inbody01.dat | 54 + test/data/tree-construction/isindex.dat | 47 + test/data/tree-construction/main-element.dat | 44 + .../pending-spec-changes-plain-text-unsafe.dat | Bin 0 -> 816 bytes .../tree-construction/pending-spec-changes.dat | 46 + test/data/tree-construction/plain-text-unsafe.dat | Bin 0 -> 7925 bytes test/data/tree-construction/scriptdata01.dat | 352 + .../data/tree-construction/scripted/adoption01.dat | 15 + test/data/tree-construction/scripted/ark.dat | 26 + test/data/tree-construction/scripted/webkit01.dat | 28 + test/data/tree-construction/tables01.dat | 286 + test/data/tree-construction/template.dat | 1320 + test/data/tree-construction/tests1.dat | 1099 +- test/data/tree-construction/tests10.dat | 545 +- test/data/tree-construction/tests14.dat | 75 + test/data/tree-construction/tests15.dat | 216 + test/data/tree-construction/tests16.dat | 2374 ++ test/data/tree-construction/tests17.dat | 180 + test/data/tree-construction/tests18.dat | 322 + test/data/tree-construction/tests19.dat | 1464 + test/data/tree-construction/tests2.dat | 257 +- test/data/tree-construction/tests20.dat | 516 + test/data/tree-construction/tests21.dat | 305 + test/data/tree-construction/tests22.dat | 190 + test/data/tree-construction/tests23.dat | 168 + test/data/tree-construction/tests24.dat | 79 + test/data/tree-construction/tests25.dat | 220 + test/data/tree-construction/tests26.dat | 388 + test/data/tree-construction/tests3.dat | 76 +- test/data/tree-construction/tests4.dat | 1 - test/data/tree-construction/tests5.dat | 84 +- test/data/tree-construction/tests6.dat | 380 +- test/data/tree-construction/tests7.dat | 241 +- test/data/tree-construction/tests8.dat | 67 +- test/data/tree-construction/tests9.dat | 171 +- test/data/tree-construction/tests_innerHTML_1.dat | 891 + test/data/tree-construction/tricky01.dat | 334 + test/data/tree-construction/webkit01.dat | 705 + test/data/tree-construction/webkit02.dat | 116 + test/data/validator/attributes.test | 1035 + test/data/validator/base-href-attribute.test | 787 + test/data/validator/base-target-attribute.test | 35 + test/data/validator/blockquote-cite-attribute.test | 7 + test/data/validator/classattribute.test | 152 + test/data/validator/contenteditableattribute.test | 59 + test/data/validator/contextmenuattribute.test | 115 + test/data/validator/dirattribute.test | 59 + test/data/validator/draggableattribute.test | 63 + test/data/validator/html-xmlns-attribute.test | 23 + test/data/validator/idattribute.test | 115 + test/data/validator/inputattributes.test | 2795 ++ test/data/validator/irrelevantattribute.test | 63 + test/data/validator/langattribute.test | 5579 +++ test/data/validator/li-value-attribute.test | 7 + test/data/validator/link-href-attribute.test | 7 + test/data/validator/link-hreflang-attribute.test | 7 + test/data/validator/link-rel-attribute.test | 271 + test/data/validator/ol-start-attribute.test | 7 + test/data/validator/starttags.test | 375 + test/data/validator/style-scoped-attribute.test | 7 + test/data/validator/tabindexattribute.test | 79 + 99 files changed, 73246 insertions(+), 4999 deletions(-) create mode 100644 test/data/AUTHORS.rst create mode 100644 test/data/encoding/chardet/test_big5.txt create mode 100644 test/data/encoding/test-yahoo-jp.dat create mode 100644 test/data/encoding/tests1.dat create mode 100644 test/data/encoding/tests2.dat create mode 100644 test/data/sanitizer/tests1.dat create mode 100644 test/data/serializer/core.test create mode 100644 test/data/serializer/injectmeta.test create mode 100644 test/data/serializer/optionaltags.test create mode 100644 test/data/serializer/options.test create mode 100644 test/data/serializer/whitespace.test create mode 100644 test/data/sniffer/htmlOrFeed.json create mode 100644 test/data/tokeniser2/README.md create mode 100644 test/data/tokeniser2/domjs.test create mode 100644 test/data/tokeniser2/namedEntities.test create mode 100644 test/data/tokeniser2/pendingSpecChanges.test create mode 100644 test/data/tokeniser2/unicodeCharsProblematic.test create mode 100644 test/data/tokeniser2/xmlViolation.test create mode 100644 test/data/tree-construction/README.md create mode 100644 test/data/tree-construction/adoption01.dat create mode 100644 test/data/tree-construction/adoption02.dat create mode 100644 test/data/tree-construction/comments01.dat create mode 100644 test/data/tree-construction/doctype01.dat create mode 100644 test/data/tree-construction/domjs-unsafe.dat create mode 100644 test/data/tree-construction/entities01.dat create mode 100644 test/data/tree-construction/entities02.dat create mode 100644 test/data/tree-construction/html5test-com.dat create mode 100644 test/data/tree-construction/inbody01.dat create mode 100644 test/data/tree-construction/isindex.dat create mode 100644 test/data/tree-construction/main-element.dat create mode 100644 test/data/tree-construction/pending-spec-changes-plain-text-unsafe.dat create mode 100644 test/data/tree-construction/pending-spec-changes.dat create mode 100644 test/data/tree-construction/plain-text-unsafe.dat create mode 100644 test/data/tree-construction/scriptdata01.dat create mode 100644 test/data/tree-construction/scripted/adoption01.dat create mode 100644 test/data/tree-construction/scripted/ark.dat create mode 100644 test/data/tree-construction/scripted/webkit01.dat create mode 100644 test/data/tree-construction/tables01.dat create mode 100644 test/data/tree-construction/template.dat create mode 100644 test/data/tree-construction/tests14.dat create mode 100644 test/data/tree-construction/tests15.dat create mode 100644 test/data/tree-construction/tests16.dat create mode 100644 test/data/tree-construction/tests17.dat create mode 100644 test/data/tree-construction/tests18.dat create mode 100644 test/data/tree-construction/tests19.dat create mode 100644 test/data/tree-construction/tests20.dat create mode 100644 test/data/tree-construction/tests21.dat create mode 100644 test/data/tree-construction/tests22.dat create mode 100644 test/data/tree-construction/tests23.dat create mode 100644 test/data/tree-construction/tests24.dat create mode 100644 test/data/tree-construction/tests25.dat create mode 100644 test/data/tree-construction/tests26.dat create mode 100644 test/data/tree-construction/tests_innerHTML_1.dat create mode 100644 test/data/tree-construction/tricky01.dat create mode 100644 test/data/tree-construction/webkit01.dat create mode 100644 test/data/tree-construction/webkit02.dat create mode 100755 test/data/validator/attributes.test create mode 100755 test/data/validator/base-href-attribute.test create mode 100755 test/data/validator/base-target-attribute.test create mode 100755 test/data/validator/blockquote-cite-attribute.test create mode 100755 test/data/validator/classattribute.test create mode 100755 test/data/validator/contenteditableattribute.test create mode 100755 test/data/validator/contextmenuattribute.test create mode 100755 test/data/validator/dirattribute.test create mode 100755 test/data/validator/draggableattribute.test create mode 100755 test/data/validator/html-xmlns-attribute.test create mode 100755 test/data/validator/idattribute.test create mode 100755 test/data/validator/inputattributes.test create mode 100755 test/data/validator/irrelevantattribute.test create mode 100755 test/data/validator/langattribute.test create mode 100755 test/data/validator/li-value-attribute.test create mode 100755 test/data/validator/link-href-attribute.test create mode 100755 test/data/validator/link-hreflang-attribute.test create mode 100755 test/data/validator/link-rel-attribute.test create mode 100755 test/data/validator/ol-start-attribute.test create mode 100755 test/data/validator/starttags.test create mode 100755 test/data/validator/style-scoped-attribute.test create mode 100755 test/data/validator/tabindexattribute.test (limited to 'test') diff --git a/test/data/AUTHORS.rst b/test/data/AUTHORS.rst new file mode 100644 index 0000000..4a7de17 --- /dev/null +++ b/test/data/AUTHORS.rst @@ -0,0 +1,34 @@ +Credits +======= + +The ``html5lib`` test data is maintained by: + +- James Graham +- Geoffrey Sneddon + + +Contributors +------------ + +- Adam Barth +- Andi Sidwell +- Anne van Kesteren +- David Flanagan +- Edward Z. Yang +- Geoffrey Sneddon +- Henri Sivonen +- Ian Hickson +- Jacques Distler +- James Graham +- Lachlan Hunt +- lantis63 +- Mark Pilgrim +- Mats Palmgren +- Ms2ger +- Nolan Waite +- Philip Taylor +- Rafael Weinstein +- Ryan King +- Sam Ruby +- Simon Pieters +- Thomas Broyer diff --git a/test/data/encoding/chardet/test_big5.txt b/test/data/encoding/chardet/test_big5.txt new file mode 100644 index 0000000..91074c9 --- /dev/null +++ b/test/data/encoding/chardet/test_big5.txt @@ -0,0 +1,51 @@ +老子《道德經》 第一~四十章 + +老子道經 + +第一章 + +道可道,非常道。名可名,非常名。無,名天地之始﹔有,名萬物之母。 +故常無,欲以觀其妙;常有,欲以觀其徼。此兩者,同出而異名,同謂之 +玄。玄之又玄,眾妙之門。 + +第二章 + +天下皆知美之為美,斯惡矣﹔皆知善之為善,斯不善矣。故有無相生,難 +易相成,長短相形,高下相傾,音聲相和,前後相隨。是以聖人處「無為 +」之事,行「不言」之教。萬物作焉而不辭,生而不有,為而不恃,功成 +而弗居。夫唯弗居,是以不去。 + +第三章 + +不尚賢,使民不爭﹔不貴難得之貨,使民不為盜﹔不見可欲,使民心不亂 +。是以「聖人」之治,虛其心,實其腹,弱其志,強其骨。常使民無知無 +欲。使夫智者不敢為也。為「無為」,則無不治。 + +第四章 + +「道」沖,而用之或不盈。淵兮,似萬物之宗﹔挫其銳,解其紛,和其光 +,同其塵﹔湛兮似或存。吾不知誰之子?象帝之先。 + +第五章 + +天地不仁,以萬物為芻狗﹔聖人不仁,以百姓為芻狗。天地之間,其猶橐 +蘥乎?虛而不屈,動而愈出。多言數窮,不如守中。 + +第六章 + +谷神不死,是謂玄牝。玄牝之門,是謂天地根。綿綿若存,用之不勤。 + +第七章 + +天長地久。天地所以能長且久者,以其不自生,故能長久。是以聖人後其 +身而身先,外其身而身存。非以其無私邪?故能成其私。 + +第八章 + +上善若水。水善利萬物而不爭。處眾人之所惡,故幾於道。居善地,心善 +淵,與善仁,言善信,政善治,事善能,動善時。夫唯不爭,故無尤。 + +第九章 + +持而盈之,不如其已﹔揣而銳之,不可長保。金玉滿堂,莫之能守﹔富貴 +而驕,自遺其咎。功遂身退,天之道。 diff --git a/test/data/encoding/test-yahoo-jp.dat b/test/data/encoding/test-yahoo-jp.dat new file mode 100644 index 0000000..3c25ecb --- /dev/null +++ b/test/data/encoding/test-yahoo-jp.dat @@ -0,0 +1,10 @@ +#data + + + + +Yahoo! JAPAN + + +#encoding +iso8859-2 + +#data + +

+#encoding +iso8859-2 + +#data + + + +#encoding +iso8859-2 diff --git a/test/data/encoding/tests2.dat b/test/data/encoding/tests2.dat new file mode 100644 index 0000000..eee4498 --- /dev/null +++ b/test/data/encoding/tests2.dat @@ -0,0 +1,115 @@ +#data + +#encoding +utf-8 + +#data + + +#encoding +windows-1252 + +#data + +#encoding +utf-8 + +#data + +#encoding +windows-1252 + +#data + +#encoding +utf-8 + +#data + +#encoding +utf-8 + +#data + +#encoding +utf-8 + +#data + +#encoding +utf-8 + +#data + + +#encoding +utf-8 + +#data + + +#encoding +utf-8 + +#data +簽 + +#encoding +utf-8 diff --git a/test/data/sanitizer/tests1.dat b/test/data/sanitizer/tests1.dat new file mode 100644 index 0000000..c741cb8 --- /dev/null +++ b/test/data/sanitizer/tests1.dat @@ -0,0 +1,501 @@ +[ + { + "name": "IE_Comments", + "input": "", + "output": "" + }, + + { + "name": "IE_Comments_2", + "input": "", + "output": "<script>alert('XSS');</script>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "allow_colons_in_path_component", + "input": "foo", + "output": "foo" + }, + + { + "name": "background_attribute", + "input": "
", + "output": "
", + "xhtml": "
", + "rexml": "
" + }, + + { + "name": "bgsound", + "input": "", + "output": "<bgsound src=\"javascript:alert('XSS');\"/>", + "rexml": "<bgsound src=\"javascript:alert('XSS');\"></bgsound>" + }, + + { + "name": "div_background_image_unicode_encoded", + "input": "
foo
", + "output": "
foo
" + }, + + { + "name": "div_expression", + "input": "
foo
", + "output": "
foo
" + }, + + { + "name": "double_open_angle_brackets", + "input": "", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "double_open_angle_brackets_2", + "input": "", + "output": "<script XSS=\"\" src=\"http://ha.ckers.org/xss.js\"></script>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "non_alpha_non_digit_2", + "input": "foo", + "output": "foo", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "non_alpha_non_digit_3", + "input": "", + "output": "", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "non_alpha_non_digit_II", + "input": "foo", + "output": "foo", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "non_alpha_non_digit_III", + "input": "foo", + "output": "foo", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "platypus", + "input": "never trust your upstream platypus", + "output": "never trust your upstream platypus" + }, + + { + "name": "protocol_resolution_in_script_tag", + "input": "", + "output": "<script src=\"//ha.ckers.org/.j\"></script>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "should_allow_anchors", + "input": "", + "output": "<script>baz</script>" + }, + + { + "name": "should_allow_image_alt_attribute", + "input": "foo", + "output": "foo", + "rexml": "foo" + }, + + { + "name": "should_allow_image_height_attribute", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_allow_image_src_attribute", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_allow_image_width_attribute", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_handle_blank_text", + "input": "", + "output": "" + }, + + { + "name": "should_handle_malformed_image_tags", + "input": "\">", + "output": "<script>alert(\"XSS\")</script>\">", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "should_handle_non_html", + "input": "abc", + "output": "abc" + }, + + { + "name": "should_not_fall_for_ridiculous_hack", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_0", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_1", + "input": "", + "output": "", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "should_not_fall_for_xss_image_hack_10", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_11", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_12", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_13", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_14", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_2", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_3", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_4", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_5", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_6", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_7", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_8", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_9", + "input": "", + "output": "", + "rexml": "" + }, + + { + "name": "should_sanitize_half_open_scripts", + "input": "", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "should_sanitize_invalid_script_tag", + "input": "", + "output": "<script XSS=\"\" SRC=\"http://ha.ckers.org/xss.js\"></script>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "should_sanitize_script_tag_with_multiple_open_brackets", + "input": "<", + "output": "<<script>alert(\"XSS\");//<</script>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "should_sanitize_script_tag_with_multiple_open_brackets_2", + "input": " #errors -Line: 1 Col: 9 Unexpected end tag (strong). Expected DOCTYPE. -Line: 1 Col: 9 Unexpected end tag (strong) after the (implied) root element. -Line: 1 Col: 13 Unexpected end tag (b) after the (implied) root element. -Line: 1 Col: 18 Unexpected end tag (em) after the (implied) root element. -Line: 1 Col: 22 Unexpected end tag (i) after the (implied) root element. -Line: 1 Col: 26 Unexpected end tag (u) after the (implied) root element. -Line: 1 Col: 35 Unexpected end tag (strike) after the (implied) root element. -Line: 1 Col: 39 Unexpected end tag (s) after the (implied) root element. -Line: 1 Col: 47 Unexpected end tag (blink) after the (implied) root element. -Line: 1 Col: 52 Unexpected end tag (tt) after the (implied) root element. -Line: 1 Col: 58 Unexpected end tag (pre) after the (implied) root element. -Line: 1 Col: 64 Unexpected end tag (big) after the (implied) root element. -Line: 1 Col: 72 Unexpected end tag (small) after the (implied) root element. -Line: 1 Col: 79 Unexpected end tag (font) after the (implied) root element. -Line: 1 Col: 88 Unexpected end tag (select) after the (implied) root element. -Line: 1 Col: 93 Unexpected end tag (h1) after the (implied) root element. -Line: 1 Col: 98 Unexpected end tag (h2) after the (implied) root element. -Line: 1 Col: 103 Unexpected end tag (h3) after the (implied) root element. -Line: 1 Col: 108 Unexpected end tag (h4) after the (implied) root element. -Line: 1 Col: 113 Unexpected end tag (h5) after the (implied) root element. -Line: 1 Col: 118 Unexpected end tag (h6) after the (implied) root element. -Line: 1 Col: 125 Unexpected end tag (body) after the (implied) root element. -Line: 1 Col: 130 Unexpected end tag (br). Treated as br element. -Line: 1 Col: 134 End tag (a) violates step 1, paragraph 1 of the adoption agency algorithm. -Line: 1 Col: 140 This element (img) has no end tag. -Line: 1 Col: 148 Unexpected end tag (title). Ignored. -Line: 1 Col: 155 Unexpected end tag (span). Ignored. -Line: 1 Col: 163 Unexpected end tag (style). Ignored. -Line: 1 Col: 172 Unexpected end tag (script). Ignored. -Line: 1 Col: 180 Unexpected end tag (table). Ignored. -Line: 1 Col: 185 Unexpected end tag (th). Ignored. -Line: 1 Col: 190 Unexpected end tag (td). Ignored. -Line: 1 Col: 195 Unexpected end tag (tr). Ignored. -Line: 1 Col: 203 This element (frame) has no end tag. -Line: 1 Col: 210 This element (area) has no end tag. -Line: 1 Col: 217 Unexpected end tag (link). Ignored. -Line: 1 Col: 225 This element (param) has no end tag. -Line: 1 Col: 230 This element (hr) has no end tag. -Line: 1 Col: 238 This element (input) has no end tag. -Line: 1 Col: 244 Unexpected end tag (col). Ignored. -Line: 1 Col: 251 Unexpected end tag (base). Ignored. -Line: 1 Col: 258 Unexpected end tag (meta). Ignored. -Line: 1 Col: 269 This element (basefont) has no end tag. -Line: 1 Col: 279 This element (bgsound) has no end tag. -Line: 1 Col: 287 This element (embed) has no end tag. -Line: 1 Col: 296 This element (spacer) has no end tag. -Line: 1 Col: 300 Unexpected end tag (p). Ignored. -Line: 1 Col: 305 End tag (dd) seen too early. Expected other end tag. -Line: 1 Col: 310 End tag (dt) seen too early. Expected other end tag. -Line: 1 Col: 320 Unexpected end tag (caption). Ignored. -Line: 1 Col: 331 Unexpected end tag (colgroup). Ignored. -Line: 1 Col: 339 Unexpected end tag (tbody). Ignored. -Line: 1 Col: 347 Unexpected end tag (tfoot). Ignored. -Line: 1 Col: 355 Unexpected end tag (thead). Ignored. -Line: 1 Col: 365 End tag (address) seen too early. Expected other end tag. -Line: 1 Col: 378 End tag (blockquote) seen too early. Expected other end tag. -Line: 1 Col: 387 End tag (center) seen too early. Expected other end tag. -Line: 1 Col: 393 Unexpected end tag (dir). Ignored. -Line: 1 Col: 399 End tag (div) seen too early. Expected other end tag. -Line: 1 Col: 404 End tag (dl) seen too early. Expected other end tag. -Line: 1 Col: 415 End tag (fieldset) seen too early. Expected other end tag. -Line: 1 Col: 425 End tag (listing) seen too early. Expected other end tag. -Line: 1 Col: 432 End tag (menu) seen too early. Expected other end tag. -Line: 1 Col: 437 End tag (ol) seen too early. Expected other end tag. -Line: 1 Col: 442 End tag (ul) seen too early. Expected other end tag. -Line: 1 Col: 447 End tag (li) seen too early. Expected other end tag. -Line: 1 Col: 454 End tag (nobr) violates step 1, paragraph 1 of the adoption agency algorithm. -Line: 1 Col: 460 This element (wbr) has no end tag. -Line: 1 Col: 476 End tag (button) seen too early. Expected other end tag. -Line: 1 Col: 486 End tag (marquee) seen too early. Expected other end tag. -Line: 1 Col: 495 End tag (object) seen too early. Expected other end tag. -Line: 1 Col: 513 Unexpected end tag (). Ignored. -Line: 1 Col: 513 Unexpected end tag (frameset). Ignored. -Line: 1 Col: 520 Unexpected end tag (head). Ignored. -Line: 1 Col: 529 Unexpected end tag (iframe). Ignored. -Line: 1 Col: 537 This element (image) has no end tag. -Line: 1 Col: 547 This element (isindex) has no end tag. -Line: 1 Col: 557 Unexpected end tag (noembed). Ignored. -Line: 1 Col: 568 Unexpected end tag (noframes). Ignored. -Line: 1 Col: 579 Unexpected end tag (noscript). Ignored. -Line: 1 Col: 590 Unexpected end tag (optgroup). Ignored. -Line: 1 Col: 599 Unexpected end tag (option). Ignored. -Line: 1 Col: 611 Unexpected end tag (plaintext). Ignored. -Line: 1 Col: 622 Unexpected end tag (textarea). Ignored. +(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 | | @@ -1823,116 +1827,117 @@ Line: 1 Col: 622 Unexpected end tag (textarea). Ignored. #data

#errors -Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE. -Line: 1 Col: 20 Unexpected end tag (strong) in table context caused voodoo mode. -Line: 1 Col: 20 End tag (strong) violates step 1, paragraph 1 of the adoption agency algorithm. -Line: 1 Col: 24 Unexpected end tag (b) in table context caused voodoo mode. -Line: 1 Col: 24 End tag (b) violates step 1, paragraph 1 of the adoption agency algorithm. -Line: 1 Col: 29 Unexpected end tag (em) in table context caused voodoo mode. -Line: 1 Col: 29 End tag (em) violates step 1, paragraph 1 of the adoption agency algorithm. -Line: 1 Col: 33 Unexpected end tag (i) in table context caused voodoo mode. -Line: 1 Col: 33 End tag (i) violates step 1, paragraph 1 of the adoption agency algorithm. -Line: 1 Col: 37 Unexpected end tag (u) in table context caused voodoo mode. -Line: 1 Col: 37 End tag (u) violates step 1, paragraph 1 of the adoption agency algorithm. -Line: 1 Col: 46 Unexpected end tag (strike) in table context caused voodoo mode. -Line: 1 Col: 46 End tag (strike) violates step 1, paragraph 1 of the adoption agency algorithm. -Line: 1 Col: 50 Unexpected end tag (s) in table context caused voodoo mode. -Line: 1 Col: 50 End tag (s) violates step 1, paragraph 1 of the adoption agency algorithm. -Line: 1 Col: 58 Unexpected end tag (blink) in table context caused voodoo mode. -Line: 1 Col: 58 Unexpected end tag (blink). Ignored. -Line: 1 Col: 63 Unexpected end tag (tt) in table context caused voodoo mode. -Line: 1 Col: 63 End tag (tt) violates step 1, paragraph 1 of the adoption agency algorithm. -Line: 1 Col: 69 Unexpected end tag (pre) in table context caused voodoo mode. -Line: 1 Col: 69 End tag (pre) seen too early. Expected other end tag. -Line: 1 Col: 75 Unexpected end tag (big) in table context caused voodoo mode. -Line: 1 Col: 75 End tag (big) violates step 1, paragraph 1 of the adoption agency algorithm. -Line: 1 Col: 83 Unexpected end tag (small) in table context caused voodoo mode. -Line: 1 Col: 83 End tag (small) violates step 1, paragraph 1 of the adoption agency algorithm. -Line: 1 Col: 90 Unexpected end tag (font) in table context caused voodoo mode. -Line: 1 Col: 90 End tag (font) violates step 1, paragraph 1 of the adoption agency algorithm. -Line: 1 Col: 99 Unexpected end tag (select) in table context caused voodoo mode. -Line: 1 Col: 99 Unexpected end tag (select). Ignored. -Line: 1 Col: 104 Unexpected end tag (h1) in table context caused voodoo mode. -Line: 1 Col: 104 End tag (h1) seen too early. Expected other end tag. -Line: 1 Col: 109 Unexpected end tag (h2) in table context caused voodoo mode. -Line: 1 Col: 109 End tag (h2) seen too early. Expected other end tag. -Line: 1 Col: 114 Unexpected end tag (h3) in table context caused voodoo mode. -Line: 1 Col: 114 End tag (h3) seen too early. Expected other end tag. -Line: 1 Col: 119 Unexpected end tag (h4) in table context caused voodoo mode. -Line: 1 Col: 119 End tag (h4) seen too early. Expected other end tag. -Line: 1 Col: 124 Unexpected end tag (h5) in table context caused voodoo mode. -Line: 1 Col: 124 End tag (h5) seen too early. Expected other end tag. -Line: 1 Col: 129 Unexpected end tag (h6) in table context caused voodoo mode. -Line: 1 Col: 129 End tag (h6) seen too early. Expected other end tag. -Line: 1 Col: 136 Unexpected end tag (body) in the table row phase. Ignored. -Line: 1 Col: 141 Unexpected end tag (br) in table context caused voodoo mode. -Line: 1 Col: 141 Unexpected end tag (br). Treated as br element. -Line: 1 Col: 145 Unexpected end tag (a) in table context caused voodoo mode. -Line: 1 Col: 145 End tag (a) violates step 1, paragraph 1 of the adoption agency algorithm. -Line: 1 Col: 151 Unexpected end tag (img) in table context caused voodoo mode. -Line: 1 Col: 151 This element (img) has no end tag. -Line: 1 Col: 159 Unexpected end tag (title) in table context caused voodoo mode. -Line: 1 Col: 159 Unexpected end tag (title). Ignored. -Line: 1 Col: 166 Unexpected end tag (span) in table context caused voodoo mode. -Line: 1 Col: 166 Unexpected end tag (span). Ignored. -Line: 1 Col: 174 Unexpected end tag (style) in table context caused voodoo mode. -Line: 1 Col: 174 Unexpected end tag (style). Ignored. -Line: 1 Col: 183 Unexpected end tag (script) in table context caused voodoo mode. -Line: 1 Col: 183 Unexpected end tag (script). Ignored. -Line: 1 Col: 196 Unexpected end tag (th). Ignored. -Line: 1 Col: 201 Unexpected end tag (td). Ignored. -Line: 1 Col: 206 Unexpected end tag (tr). Ignored. -Line: 1 Col: 214 This element (frame) has no end tag. -Line: 1 Col: 221 This element (area) has no end tag. -Line: 1 Col: 228 Unexpected end tag (link). Ignored. -Line: 1 Col: 236 This element (param) has no end tag. -Line: 1 Col: 241 This element (hr) has no end tag. -Line: 1 Col: 249 This element (input) has no end tag. -Line: 1 Col: 255 Unexpected end tag (col). Ignored. -Line: 1 Col: 262 Unexpected end tag (base). Ignored. -Line: 1 Col: 269 Unexpected end tag (meta). Ignored. -Line: 1 Col: 280 This element (basefont) has no end tag. -Line: 1 Col: 290 This element (bgsound) has no end tag. -Line: 1 Col: 298 This element (embed) has no end tag. -Line: 1 Col: 307 This element (spacer) has no end tag. -Line: 1 Col: 311 Unexpected end tag (p). Ignored. -Line: 1 Col: 316 End tag (dd) seen too early. Expected other end tag. -Line: 1 Col: 321 End tag (dt) seen too early. Expected other end tag. -Line: 1 Col: 331 Unexpected end tag (caption). Ignored. -Line: 1 Col: 342 Unexpected end tag (colgroup). Ignored. -Line: 1 Col: 350 Unexpected end tag (tbody). Ignored. -Line: 1 Col: 358 Unexpected end tag (tfoot). Ignored. -Line: 1 Col: 366 Unexpected end tag (thead). Ignored. -Line: 1 Col: 376 End tag (address) seen too early. Expected other end tag. -Line: 1 Col: 389 End tag (blockquote) seen too early. Expected other end tag. -Line: 1 Col: 398 End tag (center) seen too early. Expected other end tag. -Line: 1 Col: 404 Unexpected end tag (dir). Ignored. -Line: 1 Col: 410 End tag (div) seen too early. Expected other end tag. -Line: 1 Col: 415 End tag (dl) seen too early. Expected other end tag. -Line: 1 Col: 426 End tag (fieldset) seen too early. Expected other end tag. -Line: 1 Col: 436 End tag (listing) seen too early. Expected other end tag. -Line: 1 Col: 443 End tag (menu) seen too early. Expected other end tag. -Line: 1 Col: 448 End tag (ol) seen too early. Expected other end tag. -Line: 1 Col: 453 End tag (ul) seen too early. Expected other end tag. -Line: 1 Col: 458 End tag (li) seen too early. Expected other end tag. -Line: 1 Col: 465 End tag (nobr) violates step 1, paragraph 1 of the adoption agency algorithm. -Line: 1 Col: 471 This element (wbr) has no end tag. -Line: 1 Col: 487 End tag (button) seen too early. Expected other end tag. -Line: 1 Col: 497 End tag (marquee) seen too early. Expected other end tag. -Line: 1 Col: 506 End tag (object) seen too early. Expected other end tag. -Line: 1 Col: 524 Unexpected end tag (). Ignored. -Line: 1 Col: 524 Unexpected end tag (frameset). Ignored. -Line: 1 Col: 531 Unexpected end tag (head). Ignored. -Line: 1 Col: 540 Unexpected end tag (iframe). Ignored. -Line: 1 Col: 548 This element (image) has no end tag. -Line: 1 Col: 558 This element (isindex) has no end tag. -Line: 1 Col: 568 Unexpected end tag (noembed). Ignored. -Line: 1 Col: 579 Unexpected end tag (noframes). Ignored. -Line: 1 Col: 590 Unexpected end tag (noscript). Ignored. -Line: 1 Col: 601 Unexpected end tag (optgroup). Ignored. -Line: 1 Col: 610 Unexpected end tag (option). Ignored. -Line: 1 Col: 622 Unexpected end tag (plaintext). Ignored. -Line: 1 Col: 633 Unexpected end tag (textarea). Ignored. +(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 | | @@ -1946,8 +1951,8 @@ Line: 1 Col: 633 Unexpected end tag (textarea). Ignored. #data #errors -Line: 1 Col: 10 Unexpected start tag (frameset). Expected DOCTYPE. -Line: 1 Col: 10 Expected closing tag. Unexpected end of file. +(1,10): expected-doctype-but-got-start-tag +(1,10): eof-in-frameset #document | | diff --git a/test/data/tree-construction/tests10.dat b/test/data/tree-construction/tests10.dat index 877c9a3..87d9478 100644 --- a/test/data/tree-construction/tests10.dat +++ b/test/data/tree-construction/tests10.dat @@ -8,6 +8,18 @@ | | +#data +a +#errors +(1,28) expected-dashes-or-doctype +#document +| +| +| +| +| +| + #data #errors @@ -21,8 +33,8 @@ #data #errors -35: Stray svg start tag. -42: Stray end tag svg +(1,34) unexpected-start-tag-in-select +(1,40) unexpected-end-tag-in-select #document | | @@ -33,8 +45,8 @@ #data #errors -43: Stray svg start tag. -50: Stray end tag svg +(1,42) unexpected-start-tag-in-select +(1,48) unexpected-end-tag-in-select #document | | @@ -46,8 +58,7 @@ #data
#errors -34: Start tag svg seen in table. -41: Stray end tag svg. +(1,33) foster-parenting-start-tag #document | | @@ -59,9 +70,7 @@ #data foo
#errors -34: Start tag svg seen in table. -46: Stray end tag g. -53: Stray end tag svg. +(1,33) foster-parenting-start-tag #document | | @@ -75,10 +84,7 @@ #data foobar
#errors -34: Start tag svg seen in table. -46: Stray end tag g. -58: Stray end tag g. -65: Stray end tag svg. +(1,33) foster-parenting-start-tag #document | | @@ -94,10 +100,7 @@ #data foobar
#errors -41: Start tag svg seen in table. -53: Stray end tag g. -65: Stray end tag g. -72: Stray end tag svg. +(1,40) foster-parenting-start-tag #document | | @@ -114,10 +117,7 @@ #data foobar
#errors -45: Start tag svg seen in table. -57: Stray end tag g. -69: Stray end tag g. -76: Stray end tag svg. +(1,44) foster-parenting-start-tag #document | | @@ -191,8 +191,8 @@ #data
foobar

baz

quux #errors -70: HTML start tag p in a foreign namespace context. -81: table closed but caption was still open. +(1,65) unexpected-html-element-in-foreign-content +(1,76) XXX-undefined-error #document | | @@ -213,8 +213,8 @@ #data
foobarbaz

quux #errors -78: table closed but caption was still open. -78: Unclosed elements on stack. +(1,73) unexpected-end-tag +(1,73) expected-one-end-tag-but-got-another #document | | @@ -234,11 +234,11 @@ #data foobar

baz

quux #errors -44: Start tag svg seen in table. -56: Stray end tag g. -68: Stray end tag g. -71: HTML start tag p in a foreign namespace context. -71: Start tag p seen in table. +(1,43) foster-parenting-start-tag +(1,66) foster-parenting-start-tag +(1,67) foster-parenting-character +(1,68) foster-parenting-character +(1,69) foster-parenting-character #document | | @@ -259,13 +259,13 @@ #data

quux #errors -50: Stray svg start tag. -54: Stray g start tag. -62: Stray end tag g -66: Stray g start tag. -74: Stray end tag g -77: Stray p start tag. -88: table end tag with select open. +(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 | | @@ -283,14 +283,14 @@ #data

quux #errors -36: Start tag select seen in table. -42: Stray svg start tag. -46: Stray g start tag. -54: Stray end tag g -58: Stray g start tag. -66: Stray end tag g -69: Stray p start tag. -80: table end tag with select open. +(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 | | @@ -305,8 +305,8 @@ #data foobar

baz #errors -41: Stray svg start tag. -68: HTML start tag p in a foreign namespace context. +(1,40) expected-eof-but-got-start-tag +(1,63) unexpected-html-element-in-foreign-content #document | | @@ -323,8 +323,8 @@ #data foobar

baz #errors -34: Stray svg start tag. -61: HTML start tag p in a foreign namespace context. +(1,33) unexpected-start-tag-after-body +(1,56) unexpected-html-element-in-foreign-content #document | | @@ -341,14 +341,14 @@ #data

#errors -31: Stray svg start tag. -35: Stray g start tag. -40: Stray end tag g -44: Stray g start tag. -49: Stray end tag g -52: Stray p start tag. -58: Stray span start tag. -58: End of file seen and there were open elements. +(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 | | @@ -358,13 +358,13 @@ #data

#errors -42: Stray svg start tag. -46: Stray g start tag. -51: Stray end tag g -55: Stray g start tag. -60: Stray end tag g -63: Stray p start tag. -69: Stray span start tag. +(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 | | @@ -428,3 +428,420 @@ | xlink href="foo" | xml lang="en" | "bar" + +#data + +#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 +| +| +| +| + +#data +

a +#errors +(1,5) expected-doctype-but-got-start-tag +(1,16) unexpected-end-tag +(1,16) end-tag-too-early +#document +| +| +| +|
+| +| "a" + +#data +
a +#errors +(1,5) expected-doctype-but-got-start-tag +(1,22) unexpected-end-tag +(1,22) end-tag-too-early +#document +| +| +| +|
+| +| +| "a" + +#data +
+#errors +(1,5) expected-doctype-but-got-start-tag +(1,22) unexpected-end-tag +(1,28) expected-closing-tag-but-got-eof +#document +| +| +| +|
+| +| +| + +#data +
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 +| +| +| +|
+| +| +| +| +| "a" + +#data +

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 +| +| +| +|

+| +| +| +|

+| "a" + +#data +
    a +#errors +(1,40) unexpected-html-element-in-foreign-content +(1,41) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| +|
    +| +|
      +| "a" + +#data +
        a +#errors +(1,35) unexpected-html-element-in-foreign-content +(1,36) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| +| +|
          +| "a" + +#data +

          +#errors +(1,32) expected-closing-tag-but-got-eof +#document +| +| +| +| +|

          +| +| +|

          + +#data +

          +#errors +(1,33) expected-closing-tag-but-got-eof +#document +| +| +| +| +|

          +| +| +|

          + +#data +

          +#errors +(1,5) expected-doctype-but-got-start-tag +(1,50) unexpected-end-tag +(1,53) expected-closing-tag-but-got-eof +#document +| +| +| +|

          +| +| +| +|

          +|

          + +#data +
          +#errors +(1,6) expected-doctype-but-got-start-tag +(1,71) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +|
          +| +|
          +| +| + +#data +
          +#errors +(1,6) expected-doctype-but-got-start-tag +(1,83) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| +| +|
          +|
          +| + +#data + +#errors +(1,5) expected-doctype-but-got-start-tag +(1,28) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| + +#data + +#errors +(1,7) expected-doctype-but-got-start-tag +(1,12) unexpected-start-tag-implies-table-voodoo +(1,22) eof-in-table +#document +| +| +| +| +|
          +| +| + +#data + +#errors +(1,6) expected-doctype-but-got-start-tag +(1,18) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| + +#data + +#errors +(1,6) expected-doctype-but-got-start-tag +(1,22) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| + +#data + +#errors +(1,6) expected-doctype-but-got-start-tag +(1,18) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| + +#data + +#errors +(1,6) expected-doctype-but-got-start-tag +(1,22) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| + +#data + +#errors +(1,6) expected-doctype-but-got-start-tag +(1,18) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| + +#data + +#errors +(1,6) expected-doctype-but-got-start-tag +(1,22) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| + +#data + +#errors +(1,6) expected-doctype-but-got-start-tag +(1,18) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| + +#data + +#errors +(1,6) expected-doctype-but-got-start-tag +(1,22) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| + +#data + +#errors +(1,6) expected-doctype-but-got-start-tag +(1,21) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| + +#data + +#errors +(1,6) expected-doctype-but-got-start-tag +(1,25) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| + +#data + +#errors +(1,6) expected-doctype-but-got-start-tag +(1,54) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| +| + +#data +
          +#errors +(1,6) expected-doctype-but-got-start-tag +(1,144) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| +| +|
          +| +| +| +| +| + +#data + +#errors +(1,6) expected-doctype-but-got-start-tag +(1,153) expected-closing-tag-but-got-eof +#document +| +| +| +| +| +| +| +| +| +| +| +| +| +| diff --git a/test/data/tree-construction/tests14.dat b/test/data/tree-construction/tests14.dat new file mode 100644 index 0000000..a08b764 --- /dev/null +++ b/test/data/tree-construction/tests14.dat @@ -0,0 +1,75 @@ +#data + +#errors +#document +| +| +| +| +| + +#data + +#errors +#document +| +| +| +| +| +| + +#data + +#errors +(1,38): non-html-root +#document +| +| +| abc:def="gh" +| +| +| + +#data + +#errors +(1,53): non-html-root +#document +| +| +| xml:lang="bar" +| +| + +#data + +#errors +#document +| +| +| 123="456" +| +| + +#data + +#errors +(1,43): non-html-root +#document +| +| +| 123="456" +| 789="012" +| +| + +#data + +#errors +#document +| +| +| +| +| 789="012" diff --git a/test/data/tree-construction/tests15.dat b/test/data/tree-construction/tests15.dat new file mode 100644 index 0000000..93d06a8 --- /dev/null +++ b/test/data/tree-construction/tests15.dat @@ -0,0 +1,216 @@ +#data +

          X +#errors +(1,31): unexpected-end-tag +(1,36): expected-closing-tag-but-got-eof +#document +| +| +| +| +|

          +| +| +| +| +| +| +| " " +|

          +| "X" + +#data +

          +

          X +#errors +(1,3): expected-doctype-but-got-start-tag +(1,16): unexpected-end-tag +(2,4): expected-closing-tag-but-got-eof +#document +| +| +| +|

          +| +| +| +| +| +| +| " +" +|

          +| "X" + +#data + +#errors +(1,29): expected-eof-but-got-start-tag +(1,29): unexpected-start-tag-ignored +#document +| +| +| +| +| " " + +#data + +#errors +(1,28): unexpected-start-tag-after-body +#document +| +| +| +| +| + +#data + +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| +| +| +| + +#data +X +#errors +(1,29): unexpected-start-tag-after-body +#document +| +| +| +| +| +| "X" + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| " X" +| <meta> +| <table> + +#data +<!doctype html><table> x</table> +#errors +(1,23): foster-parenting-character +(1,24): foster-parenting-character +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| " x" +| <table> + +#data +<!doctype html><table> x </table> +#errors +(1,23): foster-parenting-character +(1,24): foster-parenting-character +(1,25): foster-parenting-character +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| " x " +| <table> + +#data +<!doctype html><table><tr> x</table> +#errors +(1,27): foster-parenting-character +(1,28): foster-parenting-character +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| " x" +| <table> +| <tbody> +| <tr> + +#data +<!doctype html><table>X<style> <tr>x </style> </table> +#errors +(1,23): foster-parenting-character +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "X" +| <table> +| <style> +| " <tr>x " +| " " + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <div> +| <a> +| "foo" +| <table> +| " " +| <tbody> +| <tr> +| <td> +| "bar" +| " " + +#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 +| <html> +| <head> +| <frameset> +| <frame> +| <frameset> +| <frame> +| <noframes> +| "</frameset><noframes>" + +#data +<!DOCTYPE html><object></html> +#errors +(1,30): expected-body-in-scope +(1,30): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <object> diff --git a/test/data/tree-construction/tests16.dat b/test/data/tree-construction/tests16.dat new file mode 100644 index 0000000..c8f6d43 --- /dev/null +++ b/test/data/tree-construction/tests16.dat @@ -0,0 +1,2374 @@ +#data +<!doctype html><script> +#errors +(1,23): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| <body> + +#data +<!doctype html><script>a +#errors +(1,24): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "a" +| <body> + +#data +<!doctype html><script>< +#errors +(1,24): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<" +| <body> + +#data +<!doctype html><script></ +#errors +(1,25): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</" +| <body> + +#data +<!doctype html><script></S +#errors +(1,26): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</S" +| <body> + +#data +<!doctype html><script></SC +#errors +(1,27): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</SC" +| <body> + +#data +<!doctype html><script></SCR +#errors +(1,28): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</SCR" +| <body> + +#data +<!doctype html><script></SCRI +#errors +(1,29): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</SCRI" +| <body> + +#data +<!doctype html><script></SCRIP +#errors +(1,30): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</SCRIP" +| <body> + +#data +<!doctype html><script></SCRIPT +#errors +(1,31): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</SCRIPT" +| <body> + +#data +<!doctype html><script></SCRIPT +#errors +(1,32): expected-attribute-name-but-got-eof +(1,32): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| <body> + +#data +<!doctype html><script></s +#errors +(1,26): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</s" +| <body> + +#data +<!doctype html><script></sc +#errors +(1,27): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</sc" +| <body> + +#data +<!doctype html><script></scr +#errors +(1,28): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</scr" +| <body> + +#data +<!doctype html><script></scri +#errors +(1,29): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</scri" +| <body> + +#data +<!doctype html><script></scrip +#errors +(1,30): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</scrip" +| <body> + +#data +<!doctype html><script></script +#errors +(1,31): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</script" +| <body> + +#data +<!doctype html><script></script +#errors +(1,32): expected-attribute-name-but-got-eof +(1,32): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| <body> + +#data +<!doctype html><script><! +#errors +(1,25): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!" +| <body> + +#data +<!doctype html><script><!a +#errors +(1,26): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!a" +| <body> + +#data +<!doctype html><script><!- +#errors +(1,26): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!-" +| <body> + +#data +<!doctype html><script><!-a +#errors +(1,27): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!-a" +| <body> + +#data +<!doctype html><script><!-- +#errors +(1,27): expected-named-closing-tag-but-got-eof +(1,27): unexpected-eof-in-text-mode +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--" +| <body> + +#data +<!doctype html><script><!--a +#errors +(1,28): expected-named-closing-tag-but-got-eof +(1,28): unexpected-eof-in-text-mode +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--a" +| <body> + +#data +<!doctype html><script><!--< +#errors +(1,28): expected-named-closing-tag-but-got-eof +(1,28): unexpected-eof-in-text-mode +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<" +| <body> + +#data +<!doctype html><script><!--<a +#errors +(1,29): expected-named-closing-tag-but-got-eof +(1,29): unexpected-eof-in-text-mode +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<a" +| <body> + +#data +<!doctype html><script><!--</ +#errors +(1,29): expected-named-closing-tag-but-got-eof +(1,29): unexpected-eof-in-text-mode +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--</" +| <body> + +#data +<!doctype html><script><!--</script +#errors +(1,35): expected-named-closing-tag-but-got-eof +(1,35): unexpected-eof-in-text-mode +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--</script" +| <body> + +#data +<!doctype html><script><!--</script +#errors +(1,36): expected-attribute-name-but-got-eof +(1,36): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--" +| <body> + +#data +<!doctype html><script><!--<s +#errors +(1,29): expected-named-closing-tag-but-got-eof +(1,29): unexpected-eof-in-text-mode +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<s" +| <body> + +#data +<!doctype html><script><!--<script +#errors +(1,34): expected-named-closing-tag-but-got-eof +(1,34): unexpected-eof-in-text-mode +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script" +| <body> + +#data +<!doctype html><script><!--<script +#errors +(1,35): eof-in-script-in-script +(1,35): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script " +| <body> + +#data +<!doctype html><script><!--<script < +#errors +(1,36): eof-in-script-in-script +(1,36): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script <" +| <body> + +#data +<!doctype html><script><!--<script <a +#errors +(1,37): eof-in-script-in-script +(1,37): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script <a" +| <body> + +#data +<!doctype html><script><!--<script </ +#errors +(1,37): eof-in-script-in-script +(1,37): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script </" +| <body> + +#data +<!doctype html><script><!--<script </s +#errors +(1,38): eof-in-script-in-script +(1,38): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script </s" +| <body> + +#data +<!doctype html><script><!--<script </script +#errors +(1,43): eof-in-script-in-script +(1,43): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script </script" +| <body> + +#data +<!doctype html><script><!--<script </scripta +#errors +(1,44): eof-in-script-in-script +(1,44): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script </scripta" +| <body> + +#data +<!doctype html><script><!--<script </script +#errors +(1,44): expected-named-closing-tag-but-got-eof +(1,44): unexpected-eof-in-text-mode +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script </script " +| <body> + +#data +<!doctype html><script><!--<script </script> +#errors +(1,44): expected-named-closing-tag-but-got-eof +(1,44): unexpected-eof-in-text-mode +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script </script>" +| <body> + +#data +<!doctype html><script><!--<script </script/ +#errors +(1,44): expected-named-closing-tag-but-got-eof +(1,44): unexpected-eof-in-text-mode +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script </script/" +| <body> + +#data +<!doctype html><script><!--<script </script < +#errors +(1,45): expected-named-closing-tag-but-got-eof +(1,45): unexpected-eof-in-text-mode +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script </script <" +| <body> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script </script <a" +| <body> + +#data +<!doctype html><script><!--<script </script </ +#errors +(1,46): expected-named-closing-tag-but-got-eof +(1,46): unexpected-eof-in-text-mode +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script </script </" +| <body> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script </script </script" +| <body> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script </script " +| <body> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script </script " +| <body> + +#data +<!doctype html><script><!--<script </script </script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script </script " +| <body> + +#data +<!doctype html><script><!--<script - +#errors +(1,36): eof-in-script-in-script +(1,36): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script -" +| <body> + +#data +<!doctype html><script><!--<script -a +#errors +(1,37): eof-in-script-in-script +(1,37): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script -a" +| <body> + +#data +<!doctype html><script><!--<script -< +#errors +(1,37): eof-in-script-in-script +(1,37): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script -<" +| <body> + +#data +<!doctype html><script><!--<script -- +#errors +(1,37): eof-in-script-in-script +(1,37): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script --" +| <body> + +#data +<!doctype html><script><!--<script --a +#errors +(1,38): eof-in-script-in-script +(1,38): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script --a" +| <body> + +#data +<!doctype html><script><!--<script --< +#errors +(1,38): eof-in-script-in-script +(1,38): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script --<" +| <body> + +#data +<!doctype html><script><!--<script --> +#errors +(1,38): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script -->" +| <body> + +#data +<!doctype html><script><!--<script -->< +#errors +(1,39): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script --><" +| <body> + +#data +<!doctype html><script><!--<script --></ +#errors +(1,40): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script --></" +| <body> + +#data +<!doctype html><script><!--<script --></script +#errors +(1,46): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script --></script" +| <body> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script -->" +| <body> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script -->" +| <body> + +#data +<!doctype html><script><!--<script --></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script -->" +| <body> + +#data +<!doctype html><script><!--<script><\/script>--></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script><\/script>-->" +| <body> + +#data +<!doctype html><script><!--<script></scr'+'ipt>--></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script></scr'+'ipt>-->" +| <body> + +#data +<!doctype html><script><!--<script></script><script></script></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>" +| <body> + +#data +<!doctype html><script><!--<script></script><script></script>--><!--</script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>--><!--" +| <body> + +#data +<!doctype html><script><!--<script></script><script></script>-- ></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>-- >" +| <body> + +#data +<!doctype html><script><!--<script></script><script></script>- -></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>- ->" +| <body> + +#data +<!doctype html><script><!--<script></script><script></script>- - ></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>- - >" +| <body> + +#data +<!doctype html><script><!--<script></script><script></script>-></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>->" +| <body> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script>--!></script>X" +| <body> + +#data +<!doctype html><script><!--<scr'+'ipt></script>--></script> +#errors +(1,59): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<scr'+'ipt>" +| <body> +| "-->" + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script></scr'+'ipt></script>X" +| <body> + +#data +<!doctype html><style><!--<style></style>--></style> +#errors +(1,52): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "<!--<style>" +| <body> +| "-->" + +#data +<!doctype html><style><!--</style>X +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "<!--" +| <body> +| "X" + +#data +<!doctype html><style><!--...</style>...--></style> +#errors +(1,51): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "<!--..." +| <body> +| "...-->" + +#data +<!doctype html><style><!--<br><html xmlns:v="urn:schemas-microsoft-com:vml"><!--[if !mso]><style></style>X +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "<!--<br><html xmlns:v="urn:schemas-microsoft-com:vml"><!--[if !mso]><style>" +| <body> +| "X" + +#data +<!doctype html><style><!--...<style><!--...--!></style>--></style> +#errors +(1,66): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "<!--...<style><!--...--!>" +| <body> +| "-->" + +#data +<!doctype html><style><!--...</style><!-- --><style>@import ...</style> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "<!--..." +| <!-- --> +| <style> +| "@import ..." +| <body> + +#data +<!doctype html><style>...<style><!--...</style><!-- --></style> +#errors +(1,63): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "...<style><!--..." +| <!-- --> +| <body> + +#data +<!doctype html><style>...<!--[if IE]><style>...</style>X +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "...<!--[if IE]><style>..." +| <body> +| "X" + +#data +<!doctype html><title><!--<title>--> +#errors +(1,52): unexpected-end-tag +#document +| +| +| +| +| "<!--<title>" +| <body> +| "-->" + +#data +<!doctype html><title></title> +#errors +#document +| +| +| +| +| "" +| + +#data +foo/title><link></head><body>X +#errors +(1,52): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <title> +| "foo/title><link></head><body>X" +| <body> + +#data +<!doctype html><noscript><!--<noscript></noscript>--></noscript> +#errors +(1,64): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <noscript> +| "<!--<noscript>" +| <body> +| "-->" + +#data +<!doctype html><noscript><!--</noscript>X<noscript>--></noscript> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <noscript> +| "<!--" +| <body> +| "X" +| <noscript> +| "-->" + +#data +<!doctype html><noscript><iframe></noscript>X +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <noscript> +| "<iframe>" +| <body> +| "X" + +#data +<!doctype html><noframes><!--<noframes></noframes>--></noframes> +#errors +(1,64): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <noframes> +| "<!--<noframes>" +| <body> +| "-->" + +#data +<!doctype html><noframes><body><script><!--...</script></body></noframes></html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <noframes> +| "<body><script><!--...</script></body>" +| <body> + +#data +<!doctype html><textarea><!--<textarea></textarea>--></textarea> +#errors +(1,64): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <textarea> +| "<!--<textarea>" +| "-->" + +#data +<!doctype html><textarea></textarea></textarea> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <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 +(1,56): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <iframe> +| "<!--<iframe>" +| "-->" + +#data +<!doctype html><iframe>...<!--X->...<!--/X->...</iframe> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <iframe> +| "...<!--X->...<!--/X->..." + +#data +<!doctype html><xmp><!--<xmp></xmp>--></xmp> +#errors +(1,44): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <xmp> +| "<!--<xmp>" +| "-->" + +#data +<!doctype html><noembed><!--<noembed></noembed>--></noembed> +#errors +(1,60): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <noembed> +| "<!--<noembed>" +| "-->" + +#data +<script> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,8): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| <body> + +#data +<script>a +#errors +(1,8): expected-doctype-but-got-start-tag +(1,9): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "a" +| <body> + +#data +<script>< +#errors +(1,8): expected-doctype-but-got-start-tag +(1,9): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<" +| <body> + +#data +<script></ +#errors +(1,8): expected-doctype-but-got-start-tag +(1,10): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</" +| <body> + +#data +<script></S +#errors +(1,8): expected-doctype-but-got-start-tag +(1,11): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</S" +| <body> + +#data +<script></SC +#errors +(1,8): expected-doctype-but-got-start-tag +(1,12): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</SC" +| <body> + +#data +<script></SCR +#errors +(1,8): expected-doctype-but-got-start-tag +(1,13): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</SCR" +| <body> + +#data +<script></SCRI +#errors +(1,8): expected-doctype-but-got-start-tag +(1,14): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</SCRI" +| <body> + +#data +<script></SCRIP +#errors +(1,8): expected-doctype-but-got-start-tag +(1,15): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</SCRIP" +| <body> + +#data +<script></SCRIPT +#errors +(1,8): expected-doctype-but-got-start-tag +(1,16): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</SCRIPT" +| <body> + +#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 +| <html> +| <head> +| <script> +| <body> + +#data +<script></s +#errors +(1,8): expected-doctype-but-got-start-tag +(1,11): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</s" +| <body> + +#data +<script></sc +#errors +(1,8): expected-doctype-but-got-start-tag +(1,12): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</sc" +| <body> + +#data +<script></scr +#errors +(1,8): expected-doctype-but-got-start-tag +(1,13): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</scr" +| <body> + +#data +<script></scri +#errors +(1,8): expected-doctype-but-got-start-tag +(1,14): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</scri" +| <body> + +#data +<script></scrip +#errors +(1,8): expected-doctype-but-got-start-tag +(1,15): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</scrip" +| <body> + +#data +<script></script +#errors +(1,8): expected-doctype-but-got-start-tag +(1,16): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</script" +| <body> + +#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 +| <html> +| <head> +| <script> +| <body> + +#data +<script><! +#errors +(1,8): expected-doctype-but-got-start-tag +(1,10): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!" +| <body> + +#data +<script><!a +#errors +(1,8): expected-doctype-but-got-start-tag +(1,11): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!a" +| <body> + +#data +<script><!- +#errors +(1,8): expected-doctype-but-got-start-tag +(1,11): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!-" +| <body> + +#data +<script><!-a +#errors +(1,8): expected-doctype-but-got-start-tag +(1,12): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!-a" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--a" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<a" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--</" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--</script" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<s" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script " +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script <" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script <a" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script </" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script </s" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script </script" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script </scripta" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script </script " +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script </script>" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script </script/" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script </script <" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script </script <a" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script </script </" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script </script </script" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script </script " +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script </script " +| <body> + +#data +<script><!--<script </script </script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script </script " +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script -" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script -a" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script --" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script --a" +| <body> + +#data +<script><!--<script --> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,23): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!--<script -->" +| <body> + +#data +<script><!--<script -->< +#errors +(1,8): expected-doctype-but-got-start-tag +(1,24): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!--<script --><" +| <body> + +#data +<script><!--<script --></ +#errors +(1,8): expected-doctype-but-got-start-tag +(1,25): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!--<script --></" +| <body> + +#data +<script><!--<script --></script +#errors +(1,8): expected-doctype-but-got-start-tag +(1,31): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!--<script --></script" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script -->" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script -->" +| <body> + +#data +<script><!--<script --></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script -->" +| <body> + +#data +<script><!--<script><\/script>--></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script><\/script>-->" +| <body> + +#data +<script><!--<script></scr'+'ipt>--></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script></scr'+'ipt>-->" +| <body> + +#data +<script><!--<script></script><script></script></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>" +| <body> + +#data +<script><!--<script></script><script></script>--><!--</script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>--><!--" +| <body> + +#data +<script><!--<script></script><script></script>-- ></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>-- >" +| <body> + +#data +<script><!--<script></script><script></script>- -></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>- ->" +| <body> + +#data +<script><!--<script></script><script></script>- - ></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>- - >" +| <body> + +#data +<script><!--<script></script><script></script>-></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>->" +| <body> + +#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 +| <html> +| <head> +| <script> +| "<!--<script>--!></script>X" +| <body> + +#data +<script><!--<scr'+'ipt></script>--></script> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,44): unexpected-end-tag +#document +| <html> +| <head> +| <script> +| "<!--<scr'+'ipt>" +| <body> +| "-->" + +#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 +| <html> +| <head> +| <script> +| "<!--<script></scr'+'ipt></script>X" +| <body> + +#data +<style><!--<style></style>--></style> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,37): unexpected-end-tag +#document +| <html> +| <head> +| <style> +| "<!--<style>" +| <body> +| "-->" + +#data +<style><!--</style>X +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <style> +| "<!--" +| <body> +| "X" + +#data +<style><!--...</style>...--></style> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,36): unexpected-end-tag +#document +| <html> +| <head> +| <style> +| "<!--..." +| <body> +| "...-->" + +#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 +| <html> +| <head> +| <style> +| "<!--<br><html xmlns:v="urn:schemas-microsoft-com:vml"><!--[if !mso]><style>" +| <body> +| "X" + +#data +<style><!--...<style><!--...--!></style>--></style> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,51): unexpected-end-tag +#document +| <html> +| <head> +| <style> +| "<!--...<style><!--...--!>" +| <body> +| "-->" + +#data +<style><!--...</style><!-- --><style>@import ...</style> +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <style> +| "<!--..." +| <!-- --> +| <style> +| "@import ..." +| <body> + +#data +<style>...<style><!--...</style><!-- --></style> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,48): unexpected-end-tag +#document +| <html> +| <head> +| <style> +| "...<style><!--..." +| <!-- --> +| <body> + +#data +<style>...<!--[if IE]><style>...</style>X +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <style> +| "...<!--[if IE]><style>..." +| <body> +| "X" + +#data +<title><!--<title>--> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,37): unexpected-end-tag +#document +| +| +| +| "<!--<title>" +| <body> +| "-->" + +#data +<title></title> +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| +| +| +| "" +| + +#data +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 +| <html> +| <head> +| <title> +| "foo/title><link></head><body>X" +| <body> + +#data +<noscript><!--<noscript></noscript>--></noscript> +#errors +(1,10): expected-doctype-but-got-start-tag +(1,49): unexpected-end-tag +#document +| <html> +| <head> +| <noscript> +| "<!--<noscript>" +| <body> +| "-->" + +#data +<noscript><!--</noscript>X<noscript>--></noscript> +#errors +(1,10): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <noscript> +| "<!--" +| <body> +| "X" +| <noscript> +| "-->" + +#data +<noscript><iframe></noscript>X +#errors +(1,10): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <noscript> +| "<iframe>" +| <body> +| "X" + +#data +<noframes><!--<noframes></noframes>--></noframes> +#errors +(1,10): expected-doctype-but-got-start-tag +(1,49): unexpected-end-tag +#document +| <html> +| <head> +| <noframes> +| "<!--<noframes>" +| <body> +| "-->" + +#data +<noframes><body><script><!--...</script></body></noframes></html> +#errors +(1,10): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <noframes> +| "<body><script><!--...</script></body>" +| <body> + +#data +<textarea><!--<textarea></textarea>--></textarea> +#errors +(1,10): expected-doctype-but-got-start-tag +(1,49): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <textarea> +| "<!--<textarea>" +| "-->" + +#data +<textarea></textarea></textarea> +#errors +(1,10): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <textarea> +| "</textarea>" + +#data +<iframe><!--<iframe></iframe>--></iframe> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,41): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <iframe> +| "<!--<iframe>" +| "-->" + +#data +<iframe>...<!--X->...<!--/X->...</iframe> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <iframe> +| "...<!--X->...<!--/X->..." + +#data +<xmp><!--<xmp></xmp>--></xmp> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,29): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <xmp> +| "<!--<xmp>" +| "-->" + +#data +<noembed><!--<noembed></noembed>--></noembed> +#errors +(1,9): expected-doctype-but-got-start-tag +(1,45): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <noembed> +| "<!--<noembed>" +| "-->" + +#data +<!doctype html><table> + +#errors +(2,0): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <span> +| <font> +| <font> +| <span> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <form> +| <table> +| <form> diff --git a/test/data/tree-construction/tests17.dat b/test/data/tree-construction/tests17.dat new file mode 100644 index 0000000..37a7be4 --- /dev/null +++ b/test/data/tree-construction/tests17.dat @@ -0,0 +1,180 @@ +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <table> +| <tbody> +| <tr> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <table> +| <tbody> +| <tr> +| <td> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <select> +| <td> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <th> +| <select> +| <td> + +#data +<!doctype html><table><caption><select><tr> +#errors +(1,43): unexpected-table-element-start-tag-in-select-in-table +(1,43): XXX-undefined-error +(1,43): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <caption> +| <select> +| <tbody> +| <tr> + +#data +<!doctype html><select><tr> +#errors +(1,27): unexpected-start-tag-in-select +(1,27): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><select><td> +#errors +(1,27): unexpected-start-tag-in-select +(1,27): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><select><th> +#errors +(1,27): unexpected-start-tag-in-select +(1,27): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><select><tbody> +#errors +(1,30): unexpected-start-tag-in-select +(1,30): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><select><thead> +#errors +(1,30): unexpected-start-tag-in-select +(1,30): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><select><tfoot> +#errors +(1,30): unexpected-start-tag-in-select +(1,30): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><select><caption> +#errors +(1,32): unexpected-start-tag-in-select +(1,32): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><table><tr></table>a +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| "a" diff --git a/test/data/tree-construction/tests18.dat b/test/data/tree-construction/tests18.dat new file mode 100644 index 0000000..926bccb --- /dev/null +++ b/test/data/tree-construction/tests18.dat @@ -0,0 +1,322 @@ +#data +<!doctype html><plaintext></plaintext> +#errors +(1,38): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" +| <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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" +| <table> +| <tbody> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" +| <table> +| <tbody> +| <tr> + +#data +<!doctype html><table><td><plaintext></plaintext> +#errors +(1,26): unexpected-cell-in-table-body +(1,49): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <plaintext> +| "</plaintext>" + +#data +<!doctype html><table><caption><plaintext></plaintext> +#errors +(1,54): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <caption> +| <plaintext> +| "</plaintext>" + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "abc" +| <table> +| <tbody> +| <tr> +| <style> +| "</script>" + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "abc" +| <table> +| <tbody> +| <tr> +| <script> +| "</style>" + +#data +<!doctype html><table><caption><style></script></style>abc +#errors +(1,58): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <caption> +| <style> +| "</script>" +| "abc" + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <style> +| "</script>" +| "abc" + +#data +<!doctype html><select><script></style></script>abc +#errors +(1,51): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <script> +| "</style>" +| "abc" + +#data +<!doctype html><table><select><script></style></script>abc +#errors +(1,30): unexpected-start-tag-implies-table-voodoo +(1,58): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <script> +| "</style>" +| "abc" +| <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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <script> +| "</style>" +| "abc" +| <table> +| <tbody> +| <tr> + +#data +<!doctype html><frameset></frameset><noframes>abc +#errors +(1,49): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <noframes> +| "abc" + +#data +<!doctype html><frameset></frameset><noframes>abc</noframes><!--abc--> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <noframes> +| "abc" +| <!-- abc --> + +#data +<!doctype html><frameset></frameset></html><noframes>abc +#errors +(1,56): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <noframes> +| "abc" + +#data +<!doctype html><frameset></frameset></html><noframes>abc</noframes><!--abc--> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <noframes> +| "abc" +| <!-- abc --> + +#data +<!doctype html><table><tr></tbody><tfoot> +#errors +(1,41): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <tfoot> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <svg svg> +| "abc" +| <td> diff --git a/test/data/tree-construction/tests19.dat b/test/data/tree-construction/tests19.dat new file mode 100644 index 0000000..9e7e03f --- /dev/null +++ b/test/data/tree-construction/tests19.dat @@ -0,0 +1,1464 @@ +#data +<!doctype html><math><mn DefinitionUrl="foo"> +#errors +(1,45): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <math mn> +| definitionURL="foo" + +#data +<!doctype html><html></p><!--foo--> +#errors +(1,25): end-tag-after-implied-root +#document +| <!DOCTYPE html> +| <html> +| <!-- foo --> +| <head> +| <body> + +#data +<!doctype html><head></head></p><!--foo--> +#errors +(1,32): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <!-- foo --> +| <body> + +#data +<!doctype html><body><p><pre> +#errors +(1,29): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <pre> + +#data +<!doctype html><body><p><listing> +#errors +(1,33): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <listing> + +#data +<!doctype html><p><plaintext> +#errors +(1,29): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <plaintext> + +#data +<!doctype html><p><h1> +#errors +(1,22): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <h1> + +#data +<!doctype html><form><isindex> +#errors +(1,30): deprecated-tag +(1,30): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <form> + +#data +<!doctype html><isindex action="POST"> +#errors +(1,38): deprecated-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <form> +| action="POST" +| <hr> +| <label> +| "This is a searchable index. Enter search keywords: " +| <input> +| name="isindex" +| <hr> + +#data +<!doctype html><isindex prompt="this is isindex"> +#errors +(1,49): deprecated-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <form> +| <hr> +| <label> +| "this is isindex" +| <input> +| name="isindex" +| <hr> + +#data +<!doctype html><isindex type="hidden"> +#errors +(1,38): deprecated-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <form> +| <hr> +| <label> +| "This is a searchable index. Enter search keywords: " +| <input> +| name="isindex" +| type="hidden" +| <hr> + +#data +<!doctype html><isindex name="foo"> +#errors +(1,35): deprecated-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <form> +| <hr> +| <label> +| "This is a searchable index. Enter search keywords: " +| <input> +| name="isindex" +| <hr> + +#data +<!doctype html><ruby><p><rp> +#errors +(1,28): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <ruby> +| <p> +| <rp> + +#data +<!doctype html><ruby><div><span><rp> +#errors +(1,36): XXX-undefined-error +(1,36): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <ruby> +| <div> +| <span> +| <rp> + +#data +<!doctype html><ruby><div><p><rp> +#errors +(1,33): XXX-undefined-error +(1,33): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <ruby> +| <div> +| <p> +| <rp> + +#data +<!doctype html><ruby><p><rt> +#errors +(1,28): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <ruby> +| <p> +| <rt> + +#data +<!doctype html><ruby><div><span><rt> +#errors +(1,36): XXX-undefined-error +(1,36): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <ruby> +| <div> +| <span> +| <rt> + +#data +<!doctype html><ruby><div><p><rt> +#errors +(1,33): XXX-undefined-error +(1,33): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <ruby> +| <div> +| <p> +| <rt> + +#data +<!doctype html><math/><foo> +#errors +(1,27): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <foo> + +#data +<!doctype html><svg/><foo> +#errors +(1,26): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <foo> + +#data +<!doctype html><div></body><!--foo--> +#errors +(1,27): expected-one-end-tag-but-got-another +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <div> +| <!-- foo --> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <h1> +| <div> +| <h3> +| <span> +| "foo" + +#data +<!doctype html><p></h3>foo +#errors +(1,23): end-tag-too-early +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| "foo" + +#data +<!doctype html><h3><li>abc</h2>foo +#errors +(1,31): end-tag-too-early +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <h3> +| <li> +| "abc" +| "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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "abc" +| <table> +| <!-- foo --> + +#data +<!doctype html><table> <!--foo--> +#errors +(1,34): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| " " +| <!-- foo --> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| " b " +| <table> +| <!-- foo --> + +#data +<!doctype html><select><option><option> +#errors +(1,39): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <option> +| <option> + +#data +<!doctype html><select><option></optgroup> +#errors +(1,42): unexpected-end-tag-in-select +(1,42): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <option> + +#data +<!doctype html><select><option></optgroup> +#errors +(1,42): unexpected-end-tag-in-select +(1,42): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <option> + +#data +<!doctype html><dd><optgroup><dd> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <dd> +| <optgroup> +| <dd> + +#data +<!doctype html><p><math><mi><p><h1> +#errors +(1,35): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <math math> +| <math mi> +| <p> +| <h1> + +#data +<!doctype html><p><math><mo><p><h1> +#errors +(1,35): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <math math> +| <math mo> +| <p> +| <h1> + +#data +<!doctype html><p><math><mn><p><h1> +#errors +(1,35): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <math math> +| <math mn> +| <p> +| <h1> + +#data +<!doctype html><p><math><ms><p><h1> +#errors +(1,35): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <math math> +| <math ms> +| <p> +| <h1> + +#data +<!doctype html><p><math><mtext><p><h1> +#errors +(1,38): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <math math> +| <math mtext> +| <p> +| <h1> + +#data +<!doctype html><frameset></noframes> +#errors +(1,36): unexpected-end-tag-in-frameset +(1,36): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!doctype html><html c=d><body></html><html a=b> +#errors +(1,48): non-html-root +#document +| <!DOCTYPE html> +| <html> +| a="b" +| c="d" +| <head> +| <body> + +#data +<!doctype html><html c=d><frameset></frameset></html><html a=b> +#errors +(1,63): non-html-root +#document +| <!DOCTYPE html> +| <html> +| a="b" +| c="d" +| <head> +| <frameset> + +#data +<!doctype html><html><frameset></frameset></html><!--foo--> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <!-- foo --> + +#data +<!doctype html><html><frameset></frameset></html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| " " + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!doctype html><html><frameset></frameset></html><p> +#errors +(1,52): expected-eof-but-got-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!doctype html><html><frameset></frameset></html></p> +#errors +(1,53): expected-eof-but-got-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<html><frameset></frameset></html><!doctype html> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,49): unexpected-doctype +#document +| <html> +| <head> +| <frameset> + +#data +<!doctype html><body><frameset> +#errors +(1,31): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> + +#data +<!doctype html><p><frameset><frame> +#errors +(1,28): unexpected-start-tag +(1,35): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <frame> + +#data +<!doctype html><p>a<frameset> +#errors +(1,29): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| "a" + +#data +<!doctype html><p> <frameset><frame> +#errors +(1,29): unexpected-start-tag +(1,36): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <frame> + +#data +<!doctype html><pre><frameset> +#errors +(1,30): unexpected-start-tag +(1,30): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <pre> + +#data +<!doctype html><listing><frameset> +#errors +(1,34): unexpected-start-tag +(1,34): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <listing> + +#data +<!doctype html><li><frameset> +#errors +(1,29): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <li> + +#data +<!doctype html><dd><frameset> +#errors +(1,29): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <dd> + +#data +<!doctype html><dt><frameset> +#errors +(1,29): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <dt> + +#data +<!doctype html><button><frameset> +#errors +(1,33): unexpected-start-tag +(1,33): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <button> + +#data +<!doctype html><applet><frameset> +#errors +(1,33): unexpected-start-tag +(1,33): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <applet> + +#data +<!doctype html><marquee><frameset> +#errors +(1,34): unexpected-start-tag +(1,34): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <marquee> + +#data +<!doctype html><object><frameset> +#errors +(1,33): unexpected-start-tag +(1,33): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> + +#data +<!doctype html><area><frameset> +#errors +(1,31): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <area> + +#data +<!doctype html><basefont><frameset> +#errors +(1,35): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <basefont> +| <frameset> + +#data +<!doctype html><bgsound><frameset> +#errors +(1,34): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <bgsound> +| <frameset> + +#data +<!doctype html><br><frameset> +#errors +(1,29): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <br> + +#data +<!doctype html><embed><frameset> +#errors +(1,32): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <embed> + +#data +<!doctype html><img><frameset> +#errors +(1,30): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <img> + +#data +<!doctype html><input><frameset> +#errors +(1,32): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <input> + +#data +<!doctype html><keygen><frameset> +#errors +(1,33): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <keygen> + +#data +<!doctype html><wbr><frameset> +#errors +(1,30): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <wbr> + +#data +<!doctype html><hr><frameset> +#errors +(1,29): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <hr> + +#data +<!doctype html><textarea></textarea><frameset> +#errors +(1,46): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <textarea> + +#data +<!doctype html><xmp></xmp><frameset> +#errors +(1,36): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <xmp> + +#data +<!doctype html><iframe></iframe><frameset> +#errors +(1,42): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <iframe> + +#data +<!doctype html><select></select><frameset> +#errors +(1,42): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><svg></svg><frameset><frame> +#errors +(1,36): unexpected-start-tag +(1,43): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <frame> + +#data +<!doctype html><math></math><frameset><frame> +#errors +(1,38): unexpected-start-tag +(1,45): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <frame> + +#data +<!doctype html><svg><foreignObject><div> <frameset><frame> +#errors +(1,51): unexpected-start-tag +(1,58): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <frame> + +#data +<!doctype html><svg>a</svg><frameset><frame> +#errors +(1,37): unexpected-start-tag +(1,44): unexpected-start-tag-ignored +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| "a" + +#data +<!doctype html><svg> </svg><frameset><frame> +#errors +(1,37): unexpected-start-tag +(1,44): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <frame> + +#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 +| <html> +| <head> +| <body> +| "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 +| <html> +| <head> +| <body> +| "a " + +#data +<!doctype html><div><frameset> +#errors +(1,30): unexpected-start-tag +(1,30): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <div> + +#data +<!doctype html><p><math></p>a +#errors +(1,28): unexpected-end-tag +(1,28): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <math math> +| "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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <math math> +| <math mn> +| <span> +| <p> +| "a" + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> + +#data +<!doctype html><meta charset="ascii"> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <meta> +| charset="ascii" +| <body> + +#data +<!doctype html><meta http-equiv="content-type" content="text/html;charset=ascii"> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <meta> +| content="text/html;charset=ascii" +| http-equiv="content-type" +| <body> + +#data +<!doctype html><head><!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--><meta charset="utf8"> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <!-- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa --> +| <meta> +| charset="utf8" +| <body> + +#data +<!doctype html><html a=b><head></head><html c=d> +#errors +(1,48): non-html-root +#document +| <!DOCTYPE html> +| <html> +| a="b" +| c="d" +| <head> +| <body> + +#data +<!doctype html><image/> +#errors +(1,23): image-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "a" +| <i> +| "bc" +| <b> +| "de" +| "f" +| <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,49): adoption-agency-1.3 +(1,49): adoption-agency-1.3 +(1,50): foster-parenting-character +(1,50): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <i> +| "a" +| <b> +| "b" +| <b> +| <div> +| <b> +| <i> +| "c" +| <a> +| "d" +| <a> +| "e" +| <a> +| "f" +| <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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <i> +| "a" +| <b> +| "b" +| <b> +| <div> +| <b> +| <i> +| "c" +| <a> +| "d" +| <a> +| "e" +| <a> +| "f" + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <i> +| "a" +| <b> +| "b" +| <b> +| <div> +| <i> +| "c" +| <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): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <i> +| "a" +| <b> +| "b" +| <b> +| <div> +| <b> +| <i> +| "c" +| <a> +| "d" +| <a> +| "e" +| <a> +| "f" +| <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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <i> +| "a" +| <div> +| "b" +| <i> +| "c" +| <b> +| "d" +| <b> +| "e" +| <table> +| <tbody> +| <tr> + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <i> +| "a" +| <div> +| <i> +| "b" +| <b> +| "c" +| <b> +| "d" +| <table> + +#data +<!doctype html><body><bgsound> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <bgsound> + +#data +<!doctype html><body><basefont> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <basefont> + +#data +<!doctype html><a><b></a><basefont> +#errors +(1,25): adoption-agency-1.3 +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <a> +| <b> +| <basefont> + +#data +<!doctype html><a><b></a><bgsound> +#errors +(1,25): adoption-agency-1.3 +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <a> +| <b> +| <bgsound> + +#data +<!doctype html><figcaption><article></figcaption>a +#errors +(1,49): end-tag-too-early +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <figcaption> +| <article> +| "a" + +#data +<!doctype html><summary><article></summary>a +#errors +(1,43): end-tag-too-early +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <summary> +| <article> +| "a" + +#data +<!doctype html><p><a><plaintext>b +#errors +(1,32): unexpected-end-tag +(1,33): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <a> +| <plaintext> +| <a> +| "b" + +#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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <div> +| "a" +| <a> +| <a> +| "b" +| <p> +| "c" +| "d" diff --git a/test/data/tree-construction/tests2.dat b/test/data/tree-construction/tests2.dat index eb9b444..0ad7708 100644 --- a/test/data/tree-construction/tests2.dat +++ b/test/data/tree-construction/tests2.dat @@ -11,8 +11,8 @@ #data <textarea>test</div>test #errors -Line: 1 Col: 10 Unexpected start tag (textarea). Expected DOCTYPE. -Line: 1 Col: 24 Expected closing tag. Unexpected end of file. +(1,10): expected-doctype-but-got-start-tag +(1,24): expected-closing-tag-but-got-eof #document | <html> | <head> @@ -23,9 +23,9 @@ Line: 1 Col: 24 Expected closing tag. Unexpected end of file. #data <table><td> #errors -Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE. -Line: 1 Col: 11 Unexpected table cell start tag (td) in the table body phase. -Line: 1 Col: 11 Expected closing tag. Unexpected end of file. +(1,7): expected-doctype-but-got-start-tag +(1,11): unexpected-cell-in-table-body +(1,11): expected-closing-tag-but-got-eof #document | <html> | <head> @@ -38,8 +38,8 @@ Line: 1 Col: 11 Expected closing tag. Unexpected end of file. #data <table><td>test</tbody></table> #errors -Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE. -Line: 1 Col: 11 Unexpected table cell start tag (td) in the table body phase. +(1,7): expected-doctype-but-got-start-tag +(1,11): unexpected-cell-in-table-body #document | <html> | <head> @@ -53,8 +53,8 @@ Line: 1 Col: 11 Unexpected table cell start tag (td) in the table body phase. #data <frame>test #errors -Line: 1 Col: 7 Unexpected start tag (frame). Expected DOCTYPE. -Line: 1 Col: 7 Unexpected start tag frame. Ignored. +(1,7): expected-doctype-but-got-start-tag +(1,7): unexpected-start-tag-ignored #document | <html> | <head> @@ -64,8 +64,11 @@ Line: 1 Col: 7 Unexpected start tag frame. Ignored. #data <!DOCTYPE html><frameset>test #errors -Line: 1 Col: 29 Unepxected characters in the frameset phase. Characters ignored. -Line: 1 Col: 29 Expected closing tag. Unexpected end of file. +(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 | <!DOCTYPE html> | <html> @@ -75,8 +78,8 @@ Line: 1 Col: 29 Expected closing tag. Unexpected end of file. #data <!DOCTYPE html><frameset><!DOCTYPE html> #errors -Line: 1 Col: 40 Unexpected DOCTYPE. Ignored. -Line: 1 Col: 40 Expected closing tag. Unexpected end of file. +(1,40): unexpected-doctype +(1,40): eof-in-frameset #document | <!DOCTYPE html> | <html> @@ -86,8 +89,8 @@ Line: 1 Col: 40 Expected closing tag. Unexpected end of file. #data <!DOCTYPE html><font><p><b>test</font> #errors -Line: 1 Col: 38 End tag (font) violates step 1, paragraph 3 of the adoption agency algorithm. -Line: 1 Col: 38 End tag (font) violates step 1, paragraph 3 of the adoption agency algorithm. +(1,38): adoption-agency-1.3 +(1,38): adoption-agency-1.3 #document | <!DOCTYPE html> | <html> @@ -102,7 +105,7 @@ Line: 1 Col: 38 End tag (font) violates step 1, paragraph 3 of the adoption agen #data <!DOCTYPE html><dt><div><dd> #errors -Line: 1 Col: 28 Missing end tag (div, dt). +(1,28): end-tag-too-early #document | <!DOCTYPE html> | <html> @@ -115,8 +118,8 @@ Line: 1 Col: 28 Missing end tag (div, dt). #data <script></x #errors -Line: 1 Col: 8 Unexpected start tag (script). Expected DOCTYPE. -Line: 1 Col: 11 Unexpected end of file. Expected end tag (script). +(1,8): expected-doctype-but-got-start-tag +(1,11): expected-named-closing-tag-but-got-eof #document | <html> | <head> @@ -127,9 +130,13 @@ Line: 1 Col: 11 Unexpected end of file. Expected end tag (script). #data <table><plaintext><td> #errors -Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE. -Line: 1 Col: 18 Unexpected start tag (plaintext) in table context caused voodoo mode. -Line: 1 Col: 22 Unexpected end of file. Expected table content. +(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 | <html> | <head> @@ -141,8 +148,8 @@ Line: 1 Col: 22 Unexpected end of file. Expected table content. #data <plaintext></plaintext> #errors -Line: 1 Col: 11 Unexpected start tag (plaintext). Expected DOCTYPE. -Line: 1 Col: 23 Expected closing tag. Unexpected end of file. +(1,11): expected-doctype-but-got-start-tag +(1,23): expected-closing-tag-but-got-eof #document | <html> | <head> @@ -153,8 +160,11 @@ Line: 1 Col: 23 Expected closing tag. Unexpected end of file. #data <!DOCTYPE html><table><tr>TEST #errors -Line: 1 Col: 30 Unexpected non-space characters in table context caused voodoo mode. -Line: 1 Col: 30 Unexpected end of file. Expected table content. +(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 | <!DOCTYPE html> | <html> @@ -168,8 +178,8 @@ Line: 1 Col: 30 Unexpected end of file. Expected table content. #data <!DOCTYPE html><body t1=1><body t2=2><body t3=3 t4=4> #errors -Line: 1 Col: 37 Unexpected start tag (body). -Line: 1 Col: 53 Unexpected start tag (body). +(1,37): unexpected-start-tag +(1,53): unexpected-start-tag #document | <!DOCTYPE html> | <html> @@ -183,10 +193,8 @@ Line: 1 Col: 53 Unexpected start tag (body). #data </b test #errors -Line: 1 Col: 8 Unexpected end of file in attribute name. -Line: 1 Col: 8 End tag contains unexpected attributes. -Line: 1 Col: 8 Unexpected end tag (b). Expected DOCTYPE. -Line: 1 Col: 8 Unexpected end tag (b) after the (implied) root element. +(1,8): eof-in-attribute-name +(1,8): expected-doctype-but-got-eof #document | <html> | <head> @@ -195,9 +203,10 @@ Line: 1 Col: 8 Unexpected end tag (b) after the (implied) root element. #data <!DOCTYPE html></b test<b &=&>X #errors -Line: 1 Col: 32 Named entity didn't end with ';'. -Line: 1 Col: 33 End tag contains unexpected attributes. -Line: 1 Col: 33 Unexpected end tag (b) after the (implied) root element. +(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 | <!DOCTYPE html> | <html> @@ -208,21 +217,21 @@ Line: 1 Col: 33 Unexpected end tag (b) after the (implied) root element. #data <!doctypehtml><scrIPt type=text/x-foobar;baz>X</SCRipt #errors -Line: 1 Col: 9 No space after literal string 'DOCTYPE'. -Line: 1 Col: 54 Unexpected end of file in the tag name. +(1,9): need-space-after-doctype +(1,54): expected-named-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <script> | type="text/x-foobar;baz" -| "X" +| "X</SCRipt" | <body> #data & #errors -Line: 1 Col: 1 Unexpected non-space characters. Expected DOCTYPE. +(1,1): expected-doctype-but-got-chars #document | <html> | <head> @@ -232,8 +241,8 @@ Line: 1 Col: 1 Unexpected non-space characters. Expected DOCTYPE. #data &# #errors -Line: 1 Col: 1 Numeric entity expected. Got end of file instead. -Line: 1 Col: 1 Unexpected non-space characters. Expected DOCTYPE. +(1,2): expected-numeric-entity +(1,2): expected-doctype-but-got-chars #document | <html> | <head> @@ -243,8 +252,8 @@ Line: 1 Col: 1 Unexpected non-space characters. Expected DOCTYPE. #data &#X #errors -Line: 1 Col: 3 Numeric entity expected but none found. -Line: 1 Col: 3 Unexpected non-space characters. Expected DOCTYPE. +(1,3): expected-numeric-entity +(1,3): expected-doctype-but-got-chars #document | <html> | <head> @@ -254,8 +263,8 @@ Line: 1 Col: 3 Unexpected non-space characters. Expected DOCTYPE. #data &#x #errors -Line: 1 Col: 3 Numeric entity expected but none found. -Line: 1 Col: 3 Unexpected non-space characters. Expected DOCTYPE. +(1,3): expected-numeric-entity +(1,3): expected-doctype-but-got-chars #document | <html> | <head> @@ -265,8 +274,8 @@ Line: 1 Col: 3 Unexpected non-space characters. Expected DOCTYPE. #data - #errors -Line: 1 Col: 4 Numeric entity didn't end with ';'. -Line: 1 Col: 4 Unexpected non-space characters. Expected DOCTYPE. +(1,4): numeric-entity-without-semicolon +(1,4): expected-doctype-but-got-chars #document | <html> | <head> @@ -276,8 +285,7 @@ Line: 1 Col: 4 Unexpected non-space characters. Expected DOCTYPE. #data &x-test #errors -Line: 1 Col: 1 Named entity expected. Got none. -Line: 1 Col: 1 Unexpected non-space characters. Expected DOCTYPE. +(1,2): expected-doctype-but-got-chars #document | <html> | <head> @@ -287,7 +295,7 @@ Line: 1 Col: 1 Unexpected non-space characters. Expected DOCTYPE. #data <!doctypehtml><p><li> #errors -Line: 1 Col: 9 No space after literal string 'DOCTYPE'. +(1,9): need-space-after-doctype #document | <!DOCTYPE html> | <html> @@ -299,7 +307,7 @@ Line: 1 Col: 9 No space after literal string 'DOCTYPE'. #data <!doctypehtml><p><dt> #errors -Line: 1 Col: 9 No space after literal string 'DOCTYPE'. +(1,9): need-space-after-doctype #document | <!DOCTYPE html> | <html> @@ -311,7 +319,7 @@ Line: 1 Col: 9 No space after literal string 'DOCTYPE'. #data <!doctypehtml><p><dd> #errors -Line: 1 Col: 9 No space after literal string 'DOCTYPE'. +(1,9): need-space-after-doctype #document | <!DOCTYPE html> | <html> @@ -323,8 +331,8 @@ Line: 1 Col: 9 No space after literal string 'DOCTYPE'. #data <!doctypehtml><p><form> #errors -Line: 1 Col: 9 No space after literal string 'DOCTYPE'. -Line: 1 Col: 23 Expected closing tag. Unexpected end of file. +(1,9): need-space-after-doctype +(1,23): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> @@ -333,27 +341,6 @@ Line: 1 Col: 23 Expected closing tag. Unexpected end of file. | <p> | <form> -#data -<!DOCTYPE html><p><b><i><u></p> <p>X -#errors -Line: 1 Col: 31 Unexpected end tag (p). Ignored. -Line: 1 Col: 36 Expected closing tag. Unexpected end of file. -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <b> -| <i> -| <u> -| <b> -| <i> -| <u> -| " " -| <p> -| "X" - #data <!DOCTYPE html><p></P>X #errors @@ -368,8 +355,8 @@ Line: 1 Col: 36 Expected closing tag. Unexpected end of file. #data & #errors -Line: 1 Col: 4 Named entity didn't end with ';'. -Line: 1 Col: 4 Unexpected non-space characters. Expected DOCTYPE. +(1,4): named-entity-without-semicolon +(1,4): expected-doctype-but-got-chars #document | <html> | <head> @@ -379,8 +366,8 @@ Line: 1 Col: 4 Unexpected non-space characters. Expected DOCTYPE. #data &AMp; #errors -Line: 1 Col: 1 Named entity expected. Got none. -Line: 1 Col: 1 Unexpected non-space characters. Expected DOCTYPE. +(1,3): expected-named-entity +(1,3): expected-doctype-but-got-chars #document | <html> | <head> @@ -390,7 +377,7 @@ Line: 1 Col: 1 Unexpected non-space characters. Expected DOCTYPE. #data <!DOCTYPE html><html><head></head><body><thisISasillyTESTelementNameToMakeSureCrazyTagNamesArePARSEDcorrectLY> #errors -Line: 1 Col: 110 Expected closing tag. Unexpected end of file. +(1,110): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> @@ -401,7 +388,7 @@ Line: 1 Col: 110 Expected closing tag. Unexpected end of file. #data <!DOCTYPE html>X</body>X #errors -Line: 1 Col: 24 Unexpected non-space characters in the after body phase. +(1,24): unexpected-char-after-body #document | <!DOCTYPE html> | <html> @@ -412,7 +399,7 @@ Line: 1 Col: 24 Unexpected non-space characters in the after body phase. #data <!DOCTYPE html><!-- X #errors -Line: 1 Col: 21 Unexpected end of file in comment. +(1,21): eof-in-comment #document | <!DOCTYPE html> | <!-- X --> @@ -423,8 +410,8 @@ Line: 1 Col: 21 Unexpected end of file in comment. #data <!DOCTYPE html><table><caption>test TEST</caption><td>test #errors -Line: 1 Col: 54 Unexpected table cell start tag (td) in the table body phase. -Line: 1 Col: 58 Expected closing tag. Unexpected end of file. +(1,54): unexpected-cell-in-table-body +(1,58): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> @@ -441,7 +428,7 @@ Line: 1 Col: 58 Expected closing tag. Unexpected end of file. #data <!DOCTYPE html><select><option><optgroup> #errors -Line: 1 Col: 41 Expected closing tag. Unexpected end of file. +(1,41): eof-in-select #document | <!DOCTYPE html> | <html> @@ -454,8 +441,8 @@ Line: 1 Col: 41 Expected closing tag. Unexpected end of file. #data <!DOCTYPE html><select><optgroup><option></optgroup><option><select><option> #errors -Line: 1 Col: 68 Unexpected select start tag in the select phase treated as select end tag. -Line: 1 Col: 76 Expected closing tag. Unexpected end of file. +(1,68): unexpected-select-in-select +(1,76): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> @@ -470,7 +457,7 @@ Line: 1 Col: 76 Expected closing tag. Unexpected end of file. #data <!DOCTYPE html><select><optgroup><option><optgroup> #errors -Line: 1 Col: 51 Expected closing tag. Unexpected end of file. +(1,51): eof-in-select #document | <!DOCTYPE html> | <html> @@ -481,6 +468,19 @@ Line: 1 Col: 51 Expected closing tag. Unexpected end of file. | <option> | <optgroup> +#data +<!DOCTYPE html><datalist><option>foo</datalist>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <datalist> +| <option> +| "foo" +| "bar" + #data <!DOCTYPE html><font><input><input></font> #errors @@ -506,7 +506,7 @@ Line: 1 Col: 51 Expected closing tag. Unexpected end of file. #data <!DOCTYPE html><!-- XXX - XXX #errors -Line: 1 Col: 29 Unexpected end of file in comment (-) +(1,29): eof-in-comment #document | <!DOCTYPE html> | <!-- XXX - XXX --> @@ -527,27 +527,26 @@ Line: 1 Col: 29 Unexpected end of file in comment (-) #data <isindex test=x name=x> #errors -Line: 1 Col: 23 Unexpected start tag (isindex). Expected DOCTYPE. -Line: 1 Col: 23 Unexpected start tag isindex. Don't use it! +(1,23): expected-doctype-but-got-start-tag +(1,23): deprecated-tag #document | <html> | <head> | <body> | <form> | <hr> -| <p> -| <label> -| "This is a searchable index. Insert your search keywords here: " -| <input> -| name="isindex" -| test="x" +| <label> +| "This is a searchable index. Enter search keywords: " +| <input> +| name="isindex" +| test="x" | <hr> #data test test #errors -Line: 2 Col: 4 Unexpected non-space characters. Expected DOCTYPE. +(2,4): expected-doctype-but-got-chars #document | <html> | <head> @@ -555,29 +554,6 @@ Line: 2 Col: 4 Unexpected non-space characters. Expected DOCTYPE. | "test test" -#data -<p><b><i><u></p> -<p>X -#errors -Line: 1 Col: 3 Unexpected start tag (p). Expected DOCTYPE. -Line: 1 Col: 16 Unexpected end tag (p). Ignored. -Line: 2 Col: 4 Expected closing tag. Unexpected end of file. -#document -| <html> -| <head> -| <body> -| <p> -| <b> -| <i> -| <u> -| <b> -| <i> -| <u> -| " -" -| <p> -| "X" - #data <!DOCTYPE html><body><title>test</body> #errors @@ -623,7 +599,7 @@ x { content:" | @@ -658,7 +634,7 @@ Line: 2 Col: 1 Unexpected End of file. Expected DOCTYPE. #data #errors -Line: 1 Col: 38 html needs to be the first start tag. +(1,38): non-html-root #document | | @@ -669,8 +645,7 @@ Line: 1 Col: 38 html needs to be the first start tag. #data X #errors -Line: 1 Col: 36 Unexpected start tag token (html) in the after body phase. -Line: 1 Col: 36 html needs to be the first start tag. +(1,36): non-html-root #document | | @@ -682,7 +657,7 @@ Line: 1 Col: 36 html needs to be the first start tag. #data #errors -Line: 1 Col: 32 html needs to be the first start tag. +(1,32): non-html-root #document | | @@ -693,7 +668,7 @@ Line: 1 Col: 32 html needs to be the first start tag. #data XX #errors -Line: 1 Col: 24 Unexpected non-space characters in the after body phase. +(1,24): expected-eof-but-got-char #document | | @@ -714,7 +689,7 @@ Line: 1 Col: 24 Unexpected non-space characters in the after body phase. #data X

          X #errors -Line: 1 Col: 26 Unexpected start tag (). +(1,26): expected-eof-but-got-start-tag #document | | @@ -727,9 +702,9 @@ Line: 1 Col: 26 Unexpected start tag (). #data X

          #errors -Line: 1 Col: 19 Expected a > after the /. -Line: 1 Col: 21 Solidus (/) incorrectly placed in tag. -Line: 1 Col: 23 Solidus (/) incorrectly placed in tag. +(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 | | @@ -744,7 +719,7 @@ Line: 1 Col: 23 Solidus (/) incorrectly placed in tag. #data @@ -755,7 +730,7 @@ Line: 1 Col: 22 Unexpected end of file in comment (--). #data

          #errors -Line: 1 Col: 34 Unexpected end tag (p). Ignored. +(1,34): unexpected-end-tag #document | | @@ -770,9 +745,9 @@ Line: 1 Col: 34 Unexpected end tag (p). Ignored. #data >--> #errors -Line: 1 Col: 20 Expected space or '>'. Got '' -Line: 1 Col: 25 Erroneous DOCTYPE. -Line: 1 Col: 35 Unexpected character in comment found. +(1,20): expected-space-or-right-bracket-in-doctype +(1,25): unknown-doctype +(1,35): unexpected-char-in-comment #document | | @@ -781,3 +756,15 @@ Line: 1 Col: 35 Unexpected character in comment found. | ">" | | "-->" + +#data +
          +#errors +#document +| +| +| +| +|
          +|
          +|
          diff --git a/test/data/tree-construction/tests20.dat b/test/data/tree-construction/tests20.dat new file mode 100644 index 0000000..52c5acd --- /dev/null +++ b/test/data/tree-construction/tests20.dat @@ -0,0 +1,516 @@ +#data +