feedtools 0.2.26 → 0.2.27

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. data/CHANGELOG +232 -216
  2. data/db/migration.rb +2 -0
  3. data/db/schema.mysql.sql +2 -0
  4. data/db/schema.postgresql.sql +3 -1
  5. data/db/schema.sqlite.sql +3 -1
  6. data/lib/feed_tools.rb +37 -14
  7. data/lib/feed_tools/database_feed_cache.rb +13 -2
  8. data/lib/feed_tools/feed.rb +430 -104
  9. data/lib/feed_tools/feed_item.rb +533 -268
  10. data/lib/feed_tools/helpers/generic_helper.rb +1 -1
  11. data/lib/feed_tools/helpers/html_helper.rb +78 -116
  12. data/lib/feed_tools/helpers/retrieval_helper.rb +33 -3
  13. data/lib/feed_tools/helpers/uri_helper.rb +46 -54
  14. data/lib/feed_tools/monkey_patch.rb +27 -1
  15. data/lib/feed_tools/vendor/html5/History.txt +10 -0
  16. data/lib/feed_tools/vendor/html5/Manifest.txt +117 -0
  17. data/lib/feed_tools/vendor/html5/README +45 -0
  18. data/lib/feed_tools/vendor/html5/Rakefile.rb +33 -0
  19. data/lib/feed_tools/vendor/html5/bin/html5 +217 -0
  20. data/lib/feed_tools/vendor/html5/lib/core_ext/string.rb +17 -0
  21. data/lib/feed_tools/vendor/html5/lib/html5.rb +13 -0
  22. data/lib/feed_tools/vendor/html5/lib/html5/constants.rb +1046 -0
  23. data/lib/feed_tools/vendor/html5/lib/html5/filters/base.rb +10 -0
  24. data/lib/feed_tools/vendor/html5/lib/html5/filters/inject_meta_charset.rb +82 -0
  25. data/lib/feed_tools/vendor/html5/lib/html5/filters/iso639codes.rb +752 -0
  26. data/lib/feed_tools/vendor/html5/lib/html5/filters/optionaltags.rb +198 -0
  27. data/lib/feed_tools/vendor/html5/lib/html5/filters/rfc2046.rb +30 -0
  28. data/lib/feed_tools/vendor/html5/lib/html5/filters/rfc3987.rb +89 -0
  29. data/lib/feed_tools/vendor/html5/lib/html5/filters/sanitizer.rb +15 -0
  30. data/lib/feed_tools/vendor/html5/lib/html5/filters/validator.rb +830 -0
  31. data/lib/feed_tools/vendor/html5/lib/html5/filters/whitespace.rb +36 -0
  32. data/lib/feed_tools/vendor/html5/lib/html5/html5parser.rb +248 -0
  33. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/after_body_phase.rb +46 -0
  34. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/after_frameset_phase.rb +33 -0
  35. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/after_head_phase.rb +50 -0
  36. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/before_head_phase.rb +41 -0
  37. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_body_phase.rb +613 -0
  38. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb +69 -0
  39. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_cell_phase.rb +78 -0
  40. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_column_group_phase.rb +55 -0
  41. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_frameset_phase.rb +57 -0
  42. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_head_phase.rb +138 -0
  43. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_row_phase.rb +89 -0
  44. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb +85 -0
  45. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_body_phase.rb +86 -0
  46. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb +115 -0
  47. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/initial_phase.rb +133 -0
  48. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/phase.rb +154 -0
  49. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/root_element_phase.rb +41 -0
  50. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/trailing_end_phase.rb +35 -0
  51. data/lib/feed_tools/vendor/html5/lib/html5/inputstream.rb +648 -0
  52. data/lib/feed_tools/vendor/html5/lib/html5/liberalxmlparser.rb +158 -0
  53. data/lib/feed_tools/vendor/html5/lib/html5/sanitizer.rb +188 -0
  54. data/lib/feed_tools/vendor/html5/lib/html5/serializer.rb +2 -0
  55. data/lib/feed_tools/vendor/html5/lib/html5/serializer/htmlserializer.rb +179 -0
  56. data/lib/feed_tools/vendor/html5/lib/html5/serializer/xhtmlserializer.rb +20 -0
  57. data/lib/feed_tools/vendor/html5/lib/html5/sniffer.rb +45 -0
  58. data/lib/feed_tools/vendor/html5/lib/html5/tokenizer.rb +966 -0
  59. data/lib/feed_tools/vendor/html5/lib/html5/treebuilders.rb +24 -0
  60. data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/base.rb +334 -0
  61. data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/hpricot.rb +231 -0
  62. data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/rexml.rb +209 -0
  63. data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/simpletree.rb +185 -0
  64. data/lib/feed_tools/vendor/html5/lib/html5/treewalkers.rb +26 -0
  65. data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb +162 -0
  66. data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/hpricot.rb +48 -0
  67. data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/rexml.rb +48 -0
  68. data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/simpletree.rb +48 -0
  69. data/lib/feed_tools/vendor/html5/lib/html5/version.rb +3 -0
  70. data/lib/feed_tools/vendor/html5/testdata/encoding/chardet/test_big5.txt +51 -0
  71. data/lib/feed_tools/vendor/html5/testdata/encoding/test-yahoo-jp.dat +10 -0
  72. data/lib/feed_tools/vendor/html5/testdata/encoding/tests1.dat +394 -0
  73. data/lib/feed_tools/vendor/html5/testdata/encoding/tests2.dat +81 -0
  74. data/lib/feed_tools/vendor/html5/testdata/sanitizer/tests1.dat +416 -0
  75. data/lib/feed_tools/vendor/html5/testdata/serializer/core.test +104 -0
  76. data/lib/feed_tools/vendor/html5/testdata/serializer/injectmeta.test +65 -0
  77. data/lib/feed_tools/vendor/html5/testdata/serializer/optionaltags.test +900 -0
  78. data/lib/feed_tools/vendor/html5/testdata/serializer/options.test +60 -0
  79. data/lib/feed_tools/vendor/html5/testdata/serializer/whitespace.test +51 -0
  80. data/lib/feed_tools/vendor/html5/testdata/sites/google-results.htm +1 -0
  81. data/lib/feed_tools/vendor/html5/testdata/sites/python-ref-import.htm +1 -0
  82. data/lib/feed_tools/vendor/html5/testdata/sites/web-apps-old.htm +1 -0
  83. data/lib/feed_tools/vendor/html5/testdata/sites/web-apps.htm +34275 -0
  84. data/lib/feed_tools/vendor/html5/testdata/sniffer/htmlOrFeed.json +43 -0
  85. data/lib/feed_tools/vendor/html5/testdata/tokenizer/contentModelFlags.test +48 -0
  86. data/lib/feed_tools/vendor/html5/testdata/tokenizer/entities.test +2339 -0
  87. data/lib/feed_tools/vendor/html5/testdata/tokenizer/escapeFlag.test +21 -0
  88. data/lib/feed_tools/vendor/html5/testdata/tokenizer/test1.test +172 -0
  89. data/lib/feed_tools/vendor/html5/testdata/tokenizer/test2.test +129 -0
  90. data/lib/feed_tools/vendor/html5/testdata/tokenizer/test3.test +367 -0
  91. data/lib/feed_tools/vendor/html5/testdata/tokenizer/test4.test +198 -0
  92. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests1.dat +1950 -0
  93. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests2.dat +773 -0
  94. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests3.dat +270 -0
  95. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests4.dat +60 -0
  96. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests5.dat +175 -0
  97. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests6.dat +196 -0
  98. data/lib/feed_tools/vendor/html5/testdata/validator/attributes.test +1035 -0
  99. data/lib/feed_tools/vendor/html5/testdata/validator/base-href-attribute.test +787 -0
  100. data/lib/feed_tools/vendor/html5/testdata/validator/base-target-attribute.test +35 -0
  101. data/lib/feed_tools/vendor/html5/testdata/validator/blockquote-cite-attribute.test +7 -0
  102. data/lib/feed_tools/vendor/html5/testdata/validator/classattribute.test +152 -0
  103. data/lib/feed_tools/vendor/html5/testdata/validator/contenteditableattribute.test +59 -0
  104. data/lib/feed_tools/vendor/html5/testdata/validator/contextmenuattribute.test +115 -0
  105. data/lib/feed_tools/vendor/html5/testdata/validator/dirattribute.test +59 -0
  106. data/lib/feed_tools/vendor/html5/testdata/validator/draggableattribute.test +63 -0
  107. data/lib/feed_tools/vendor/html5/testdata/validator/html-xmlns-attribute.test +23 -0
  108. data/lib/feed_tools/vendor/html5/testdata/validator/idattribute.test +115 -0
  109. data/lib/feed_tools/vendor/html5/testdata/validator/inputattributes.test +2795 -0
  110. data/lib/feed_tools/vendor/html5/testdata/validator/irrelevantattribute.test +63 -0
  111. data/lib/feed_tools/vendor/html5/testdata/validator/langattribute.test +5579 -0
  112. data/lib/feed_tools/vendor/html5/testdata/validator/li-value-attribute.test +7 -0
  113. data/lib/feed_tools/vendor/html5/testdata/validator/link-href-attribute.test +7 -0
  114. data/lib/feed_tools/vendor/html5/testdata/validator/link-hreflang-attribute.test +7 -0
  115. data/lib/feed_tools/vendor/html5/testdata/validator/link-rel-attribute.test +271 -0
  116. data/lib/feed_tools/vendor/html5/testdata/validator/ol-start-attribute.test +7 -0
  117. data/lib/feed_tools/vendor/html5/testdata/validator/starttags.test +375 -0
  118. data/lib/feed_tools/vendor/html5/testdata/validator/style-scoped-attribute.test +7 -0
  119. data/lib/feed_tools/vendor/html5/testdata/validator/tabindexattribute.test +79 -0
  120. data/lib/feed_tools/vendor/html5/tests/preamble.rb +72 -0
  121. data/lib/feed_tools/vendor/html5/tests/test_encoding.rb +35 -0
  122. data/lib/feed_tools/vendor/html5/tests/test_lxp.rb +279 -0
  123. data/lib/feed_tools/vendor/html5/tests/test_parser.rb +68 -0
  124. data/lib/feed_tools/vendor/html5/tests/test_sanitizer.rb +142 -0
  125. data/lib/feed_tools/vendor/html5/tests/test_serializer.rb +68 -0
  126. data/lib/feed_tools/vendor/html5/tests/test_sniffer.rb +27 -0
  127. data/lib/feed_tools/vendor/html5/tests/test_stream.rb +62 -0
  128. data/lib/feed_tools/vendor/html5/tests/test_tokenizer.rb +94 -0
  129. data/lib/feed_tools/vendor/html5/tests/test_treewalkers.rb +135 -0
  130. data/lib/feed_tools/vendor/html5/tests/test_validator.rb +31 -0
  131. data/lib/feed_tools/vendor/html5/tests/tokenizer_test_parser.rb +63 -0
  132. data/lib/feed_tools/vendor/uri.rb +781 -0
  133. data/lib/feed_tools/version.rb +1 -1
  134. data/rakefile +27 -6
  135. data/test/unit/atom_test.rb +298 -210
  136. data/test/unit/helper_test.rb +7 -12
  137. data/test/unit/rdf_test.rb +51 -1
  138. data/test/unit/rss_test.rb +13 -3
  139. metadata +239 -116
  140. data/lib/feed_tools/vendor/htree.rb +0 -97
  141. data/lib/feed_tools/vendor/htree/container.rb +0 -10
  142. data/lib/feed_tools/vendor/htree/context.rb +0 -67
  143. data/lib/feed_tools/vendor/htree/display.rb +0 -27
  144. data/lib/feed_tools/vendor/htree/doc.rb +0 -149
  145. data/lib/feed_tools/vendor/htree/elem.rb +0 -262
  146. data/lib/feed_tools/vendor/htree/encoder.rb +0 -163
  147. data/lib/feed_tools/vendor/htree/equality.rb +0 -218
  148. data/lib/feed_tools/vendor/htree/extract_text.rb +0 -37
  149. data/lib/feed_tools/vendor/htree/fstr.rb +0 -33
  150. data/lib/feed_tools/vendor/htree/gencode.rb +0 -97
  151. data/lib/feed_tools/vendor/htree/htmlinfo.rb +0 -672
  152. data/lib/feed_tools/vendor/htree/inspect.rb +0 -108
  153. data/lib/feed_tools/vendor/htree/leaf.rb +0 -94
  154. data/lib/feed_tools/vendor/htree/loc.rb +0 -367
  155. data/lib/feed_tools/vendor/htree/modules.rb +0 -48
  156. data/lib/feed_tools/vendor/htree/name.rb +0 -124
  157. data/lib/feed_tools/vendor/htree/output.rb +0 -207
  158. data/lib/feed_tools/vendor/htree/parse.rb +0 -409
  159. data/lib/feed_tools/vendor/htree/raw_string.rb +0 -124
  160. data/lib/feed_tools/vendor/htree/regexp-util.rb +0 -15
  161. data/lib/feed_tools/vendor/htree/rexml.rb +0 -130
  162. data/lib/feed_tools/vendor/htree/scan.rb +0 -166
  163. data/lib/feed_tools/vendor/htree/tag.rb +0 -111
  164. data/lib/feed_tools/vendor/htree/template.rb +0 -909
  165. data/lib/feed_tools/vendor/htree/text.rb +0 -115
  166. data/lib/feed_tools/vendor/htree/traverse.rb +0 -465
@@ -0,0 +1,198 @@
1
+ {"tests": [
2
+
3
+ {"description":"< in attribute name",
4
+ "input":"<z/0 <",
5
+ "output":["ParseError", "ParseError", ["StartTag", "z", {"0": "", "<": ""}]]},
6
+
7
+ {"description":"< in attribute value",
8
+ "input":"<z x=<",
9
+ "output":["ParseError", ["StartTag", "z", {"x": "<"}]]},
10
+
11
+ {"description":"CR EOF after doctype name",
12
+ "input":"<!doctype html \r",
13
+ "output":["ParseError", ["DOCTYPE", "html", null, null, false]]},
14
+
15
+ {"description":"CR EOF in tag name",
16
+ "input":"<z\r",
17
+ "output":["ParseError", ["StartTag", "z", {}]]},
18
+
19
+ {"description":"Zero hex numeric entity",
20
+ "input":"&#x0",
21
+ "output":["ParseError", "ParseError", ["Character", "\uFFFD"]]},
22
+
23
+ {"description":"Zero decimal numeric entity",
24
+ "input":"&#0",
25
+ "output":["ParseError", "ParseError", ["Character", "\uFFFD"]]},
26
+
27
+ {"description":"Zero-prefixed hex numeric entity",
28
+ "input":"&#x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041;",
29
+ "output":[["Character", "A"]]},
30
+
31
+ {"description":"Zero-prefixed decimal numeric entity",
32
+ "input":"&#000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065;",
33
+ "output":[["Character", "A"]]},
34
+
35
+ {"description":"Empty hex numeric entities",
36
+ "input":"&#x &#X ",
37
+ "output":["ParseError", ["Character", "&#x "], "ParseError", ["Character", "&#X "]]},
38
+
39
+ {"description":"Empty decimal numeric entities",
40
+ "input":"&# &#; ",
41
+ "output":["ParseError", ["Character", "&# "], "ParseError", ["Character", "&#; "]]},
42
+
43
+ {"description":"Non-BMP numeric entity",
44
+ "input":"&#x10000;",
45
+ "output":[["Character", "\uD800\uDC00"]]},
46
+
47
+ {"description":"Maximum non-BMP numeric entity",
48
+ "input":"&#X10FFFF;",
49
+ "output":[["Character", "\uDBFF\uDFFF"]]},
50
+
51
+ {"description":"Above maximum numeric entity",
52
+ "input":"&#x110000;",
53
+ "output":["ParseError", ["Character", "\uFFFD"]]},
54
+
55
+ {"description":"32-bit hex numeric entity",
56
+ "input":"&#x80000041;",
57
+ "output":["ParseError", ["Character", "\uFFFD"]]},
58
+
59
+ {"description":"33-bit hex numeric entity",
60
+ "input":"&#x100000041;",
61
+ "output":["ParseError", ["Character", "\uFFFD"]]},
62
+
63
+ {"description":"33-bit decimal numeric entity",
64
+ "input":"&#4294967361;",
65
+ "output":["ParseError", ["Character", "\uFFFD"]]},
66
+
67
+ {"description":"65-bit hex numeric entity",
68
+ "input":"&#x10000000000000041;",
69
+ "output":["ParseError", ["Character", "\uFFFD"]]},
70
+
71
+ {"description":"65-bit decimal numeric entity",
72
+ "input":"&#18446744073709551681;",
73
+ "output":["ParseError", ["Character", "\uFFFD"]]},
74
+
75
+ {"description":"Surrogate code point edge cases",
76
+ "input":"&#xD7FF;&#xD800;&#xD801;&#xDFFE;&#xDFFF;&#xE000;",
77
+ "output":[["Character", "\uD7FF"], "ParseError", ["Character", "\uFFFD"], "ParseError", ["Character", "\uFFFD"], "ParseError", ["Character", "\uFFFD"], "ParseError", ["Character", "\uFFFD\uE000"]]},
78
+
79
+ {"description":"Uppercase start tag name",
80
+ "input":"<X>",
81
+ "output":[["StartTag", "x", {}]]},
82
+
83
+ {"description":"Uppercase end tag name",
84
+ "input":"</X>",
85
+ "output":[["EndTag", "x"]]},
86
+
87
+ {"description":"Uppercase attribute name",
88
+ "input":"<x X>",
89
+ "output":[["StartTag", "x", { "x":"" }]]},
90
+
91
+ {"description":"Tag/attribute name case edge values",
92
+ "input":"<x@AZ[`az{ @AZ[`az{>",
93
+ "output":[["StartTag", "x@az[`az{", { "@az[`az{":"" }]]},
94
+
95
+ {"description":"Duplicate different-case attributes",
96
+ "input":"<x x=1 x=2 X=3>",
97
+ "output":["ParseError", "ParseError", ["StartTag", "x", { "x":"1" }]]},
98
+
99
+ {"description":"Uppercase close tag attributes",
100
+ "input":"</x X>",
101
+ "output":["ParseError", ["EndTag", "x"]]},
102
+
103
+ {"description":"Duplicate close tag attributes",
104
+ "input":"</x x x>",
105
+ "output":["ParseError", "ParseError", ["EndTag", "x"]]},
106
+
107
+ {"description":"Permitted slash",
108
+ "input":"<br/>",
109
+ "output":[["StartTag", "br", {}]]},
110
+
111
+ {"description":"Non-permitted slash",
112
+ "input":"<xr/>",
113
+ "output":["ParseError", ["StartTag", "xr", {}]]},
114
+
115
+ {"description":"Permitted slash but in close tag",
116
+ "input":"</br/>",
117
+ "output":["ParseError", ["EndTag", "br"]]},
118
+
119
+ {"description":"Doctype public case-sensitivity (1)",
120
+ "input":"<!DoCtYpE HtMl PuBlIc \"AbC\" \"XyZ\">",
121
+ "output":[["DOCTYPE", "HtMl", "AbC", "XyZ", true]]},
122
+
123
+ {"description":"Doctype public case-sensitivity (2)",
124
+ "input":"<!dOcTyPe hTmL pUbLiC \"aBc\" \"xYz\">",
125
+ "output":[["DOCTYPE", "hTmL", "aBc", "xYz", true]]},
126
+
127
+ {"description":"Doctype system case-sensitivity (1)",
128
+ "input":"<!DoCtYpE HtMl SyStEm \"XyZ\">",
129
+ "output":[["DOCTYPE", "HtMl", null, "XyZ", true]]},
130
+
131
+ {"description":"Doctype system case-sensitivity (2)",
132
+ "input":"<!dOcTyPe hTmL sYsTeM \"xYz\">",
133
+ "output":[["DOCTYPE", "hTmL", null, "xYz", true]]},
134
+
135
+ {"description":"U+0000 in lookahead region after non-matching character",
136
+ "input":"<!doc>\u0000",
137
+ "output":["ParseError", ["Comment", "doc"], "ParseError", ["Character", "\uFFFD"]],
138
+ "ignoreErrorOrder":true},
139
+
140
+ {"description":"U+0000 in lookahead region",
141
+ "input":"<!doc\u0000",
142
+ "output":["ParseError", "ParseError", ["Comment", "doc\uFFFD"]],
143
+ "ignoreErrorOrder":true},
144
+
145
+ {"description":"CR followed by U+0000",
146
+ "input":"\r\u0000",
147
+ "output":["ParseError", ["Character", "\n\uFFFD"]],
148
+ "ignoreErrorOrder":true},
149
+
150
+ {"description":"CR followed by non-LF",
151
+ "input":"\r?",
152
+ "output":[["Character", "\n?"]]},
153
+
154
+ {"description":"CR at EOF",
155
+ "input":"\r",
156
+ "output":[["Character", "\n"]]},
157
+
158
+ {"description":"LF at EOF",
159
+ "input":"\n",
160
+ "output":[["Character", "\n"]]},
161
+
162
+ {"description":"CR LF",
163
+ "input":"\r\n",
164
+ "output":[["Character", "\n"]]},
165
+
166
+ {"description":"CR CR",
167
+ "input":"\r\r",
168
+ "output":[["Character", "\n\n"]]},
169
+
170
+ {"description":"LF LF",
171
+ "input":"\n\n",
172
+ "output":[["Character", "\n\n"]]},
173
+
174
+ {"description":"LF CR",
175
+ "input":"\n\r",
176
+ "output":[["Character", "\n\n"]]},
177
+
178
+ {"description":"text CR CR CR text",
179
+ "input":"text\r\r\rtext",
180
+ "output":[["Character", "text\n\n\ntext"]]},
181
+
182
+ {"description":"Doctype publik",
183
+ "input":"<!DOCTYPE html PUBLIK \"AbC\" \"XyZ\">",
184
+ "output":["ParseError", ["DOCTYPE", "html", null, null, false]]},
185
+
186
+ {"description":"Doctype publi",
187
+ "input":"<!DOCTYPE html PUBLI",
188
+ "output":["ParseError", "ParseError", ["DOCTYPE", "html", null, null, false]]},
189
+
190
+ {"description":"Doctype sistem",
191
+ "input":"<!DOCTYPE html SISTEM \"AbC\">",
192
+ "output":["ParseError", ["DOCTYPE", "html", null, null, false]]},
193
+
194
+ {"description":"Doctype sys",
195
+ "input":"<!DOCTYPE html SYS",
196
+ "output":["ParseError", "ParseError", ["DOCTYPE", "html", null, null, false]]}
197
+
198
+ ]}
@@ -0,0 +1,1950 @@
1
+ #data
2
+ Test
3
+ #errors
4
+ 5: missing document type declaration
5
+ #document
6
+ | <html>
7
+ | <head>
8
+ | <body>
9
+ | "Test"
10
+
11
+ #data
12
+ <p>One<p>Two
13
+ #errors
14
+ 3: missing document type declaration
15
+ #document
16
+ | <html>
17
+ | <head>
18
+ | <body>
19
+ | <p>
20
+ | "One"
21
+ | <p>
22
+ | "Two"
23
+
24
+ #data
25
+ Line1<br>Line2<br>Line3<br>Line4
26
+ #errors
27
+ 7: missing document type declaration
28
+ #document
29
+ | <html>
30
+ | <head>
31
+ | <body>
32
+ | "Line1"
33
+ | <br>
34
+ | "Line2"
35
+ | <br>
36
+ | "Line3"
37
+ | <br>
38
+ | "Line4"
39
+
40
+ #data
41
+ <html>
42
+ #errors
43
+ 6: missing document type declaration
44
+ #document
45
+ | <html>
46
+ | <head>
47
+ | <body>
48
+
49
+ #data
50
+ <head>
51
+ #errors
52
+ 6: missing document type declaration
53
+ #document
54
+ | <html>
55
+ | <head>
56
+ | <body>
57
+
58
+ #data
59
+ <body>
60
+ #errors
61
+ 6: missing document type declaration
62
+ #document
63
+ | <html>
64
+ | <head>
65
+ | <body>
66
+
67
+ #data
68
+ <html><head>
69
+ #errors
70
+ 6: missing document type declaration
71
+ #document
72
+ | <html>
73
+ | <head>
74
+ | <body>
75
+
76
+ #data
77
+ <html><head></head>
78
+ #errors
79
+ 6: missing document type declaration
80
+ #document
81
+ | <html>
82
+ | <head>
83
+ | <body>
84
+
85
+ #data
86
+ <html><head></head><body>
87
+ #errors
88
+ 6: missing document type declaration
89
+ #document
90
+ | <html>
91
+ | <head>
92
+ | <body>
93
+
94
+ #data
95
+ <html><head></head><body></body>
96
+ #errors
97
+ 6: missing document type declaration
98
+ #document
99
+ | <html>
100
+ | <head>
101
+ | <body>
102
+
103
+ #data
104
+ <html><head><body></body></html>
105
+ #errors
106
+ 6: missing document type declaration
107
+ #document
108
+ | <html>
109
+ | <head>
110
+ | <body>
111
+
112
+ #data
113
+ <html><head></body></html>
114
+ #errors
115
+ 6: missing document type declaration
116
+ #document
117
+ | <html>
118
+ | <head>
119
+ | <body>
120
+
121
+ #data
122
+ <html><head><body></html>
123
+ #errors
124
+ 6: missing document type declaration
125
+ #document
126
+ | <html>
127
+ | <head>
128
+ | <body>
129
+
130
+ #data
131
+ <html><body></html>
132
+ #errors
133
+ 6: missing document type declaration
134
+ #document
135
+ | <html>
136
+ | <head>
137
+ | <body>
138
+
139
+ #data
140
+ <body></html>
141
+ #errors
142
+ 6: missing document type declaration
143
+ #document
144
+ | <html>
145
+ | <head>
146
+ | <body>
147
+
148
+ #data
149
+ <head></html>
150
+ #errors
151
+ 6: missing document type declaration
152
+ #document
153
+ | <html>
154
+ | <head>
155
+ | <body>
156
+
157
+ #data
158
+ </head>
159
+ #errors
160
+ 7: missing document type declaration
161
+ #document
162
+ | <html>
163
+ | <head>
164
+ | <body>
165
+
166
+ #data
167
+ </body>
168
+ #errors
169
+ 7: missing document type declaration
170
+ #document
171
+ | <html>
172
+ | <head>
173
+ | <body>
174
+
175
+ #data
176
+ </html>
177
+ #errors
178
+ 7: missing document type declaration
179
+ #document
180
+ | <html>
181
+ | <head>
182
+ | <body>
183
+
184
+ #data
185
+ <b><table><td><i></table>
186
+ #errors
187
+ 3: missing document type declaration
188
+ 14: required tr element start tag implied by unexpected td element start tag
189
+ 25: unexpected td element end tag implied other end tags
190
+ 26: mismatched body element end tag (premature end of file?)
191
+ #document
192
+ | <html>
193
+ | <head>
194
+ | <body>
195
+ | <b>
196
+ | <table>
197
+ | <tbody>
198
+ | <tr>
199
+ | <td>
200
+ | <i>
201
+
202
+ #data
203
+ <b><table><td></b><i></table>X
204
+ #errors
205
+ 3: missing document type declaration
206
+ 14: required tr element start tag implied by unexpected td element start tag
207
+ 18: mismatched b element end tag (no matching start tag)
208
+ 29: unexpected td element end tag implied other end tags
209
+ 31: mismatched body element end tag (premature end of file?)
210
+ #document
211
+ | <html>
212
+ | <head>
213
+ | <body>
214
+ | <b>
215
+ | <table>
216
+ | <tbody>
217
+ | <tr>
218
+ | <td>
219
+ | <i>
220
+ | "X"
221
+
222
+ #data
223
+ <h1>Hello<h2>World
224
+ #errors
225
+ 4: missing document type declaration
226
+ 19: mismatched body element end tag (premature end of file?)
227
+ #document
228
+ | <html>
229
+ | <head>
230
+ | <body>
231
+ | <h1>
232
+ | "Hello"
233
+ | <h2>
234
+ | "World"
235
+
236
+ #data
237
+ <a><p>X<a>Y</a>Z</p></a>
238
+ #errors
239
+ 3: missing document type declaration
240
+ 10: a element start tag implying a element end tag
241
+ 10: mismatched a element end tag (misnested tags)
242
+ 24: mismatched a element end tag (no matching start tag)
243
+ #document
244
+ | <html>
245
+ | <head>
246
+ | <body>
247
+ | <a>
248
+ | <p>
249
+ | <a>
250
+ | "X"
251
+ | <a>
252
+ | "Y"
253
+ | "Z"
254
+
255
+ #data
256
+ <b><button></b></button></b>
257
+ #errors
258
+ 3: missing document type declaration
259
+ 15: mismatched b element end tag (no matching start tag)
260
+ #document
261
+ | <html>
262
+ | <head>
263
+ | <body>
264
+ | <b>
265
+ | <button>
266
+
267
+ #data
268
+ <p><b><div><marquee></p></b></div>X
269
+ #errors
270
+ 3: missing document type declaration
271
+ 11: mismatched p element end tag
272
+ 24: mismatched p element end tag
273
+ 28: mismatched b element end tag (no matching start tag)
274
+ 34: mismatched div element end tag
275
+ 36: mismatched body element end tag (premature end of file?)
276
+ #document
277
+ | <html>
278
+ | <head>
279
+ | <body>
280
+ | <p>
281
+ | <b>
282
+ | <div>
283
+ | <b>
284
+ | <marquee>
285
+ | <p>
286
+ | "X"
287
+
288
+ #data
289
+ <script><div></script></div><title><p></title><p><p>
290
+ #errors
291
+ 8: missing document type declaration
292
+ 28: unexpected div element end tag in head
293
+ #document
294
+ | <html>
295
+ | <head>
296
+ | <script>
297
+ | "<div>"
298
+ | <title>
299
+ | "<p>"
300
+ | <body>
301
+ | <p>
302
+ | <p>
303
+
304
+ #data
305
+ <!--><div>--<!-->
306
+ #errors
307
+ Incorrect comment token
308
+ Missing document type declaration
309
+ Incorrect comment token
310
+ Unexpected end of file
311
+ #document
312
+ | <!-- -->
313
+ | <html>
314
+ | <head>
315
+ | <body>
316
+ | <div>
317
+ | "--"
318
+ | <!-- -->
319
+
320
+ #data
321
+ <p><hr></p>
322
+ #errors
323
+ 3: missing document type declaration
324
+ 11: mismatched p element end tag
325
+ #document
326
+ | <html>
327
+ | <head>
328
+ | <body>
329
+ | <p>
330
+ | <hr>
331
+ | <p>
332
+
333
+ #data
334
+ <select><b><option><select><option></b></select>X
335
+ #errors
336
+ 8: missing document type declaration
337
+ 11: unexpected node in select element context
338
+ 27: select element start tag used as end tag
339
+ 35: unexpected option element start tag in body
340
+ 39: mismatched b element end tag (no matching start tag)
341
+ 48: mismatched special end tag select
342
+ #document
343
+ | <html>
344
+ | <head>
345
+ | <body>
346
+ | <select>
347
+ | <option>
348
+ | "X"
349
+
350
+ #data
351
+ <a><table><td><a><table></table><a></tr><a></table><b>X</b>C<a>Y
352
+ #errors
353
+ 3: missing document type declaration
354
+ 14: required tr element start tag implied by unexpected td element start tag
355
+ 35: a element start tag implying a element end tag
356
+ 40: unexpected td element end tag implied other end tags
357
+ 43: unexpected node in table context
358
+ 43: a element start tag implying a element end tag
359
+ 43: unexpected node in table context
360
+ 43: mismatched a element end tag (misnested tags across <table> tag)
361
+ 63: a element start tag implying a element end tag
362
+ 65: mismatched body element end tag (premature end of file?)
363
+ #document
364
+ | <html>
365
+ | <head>
366
+ | <body>
367
+ | <a>
368
+ | <a>
369
+ | <table>
370
+ | <tbody>
371
+ | <tr>
372
+ | <td>
373
+ | <a>
374
+ | <table>
375
+ | <a>
376
+ | <a>
377
+ | <b>
378
+ | "X"
379
+ | "C"
380
+ | <a>
381
+ | "Y"
382
+
383
+ #data
384
+ <a X>0<b>1<a Y>2
385
+ #errors
386
+ 5: missing document type declaration
387
+ 15: a element start tag implying a element end tag
388
+ 15: mismatched a element end tag (misnested tags)
389
+ 17: mismatched body element end tag (premature end of file?)
390
+ #document
391
+ | <html>
392
+ | <head>
393
+ | <body>
394
+ | <a>
395
+ | x=""
396
+ | "0"
397
+ | <b>
398
+ | "1"
399
+ | <b>
400
+ | <a>
401
+ | y=""
402
+ | "2"
403
+
404
+ #data
405
+ <!-----><font><div>hello<table>excite!<b>me!<th><i>please!</tr><!--X-->
406
+ #errors
407
+ 7: unexpected '-' character after two '-' characters while parsing comment
408
+ 14: missing document type declaration
409
+ 40: unexpected node in table context
410
+ 41: unexpected node in table context
411
+ 46: unexpected node in table context
412
+ 48: required tr element start tag implied by unexpected th element start tag
413
+ 63: unexpected th element end tag implied other end tags
414
+ 72: unexpected end of file implied table element end tag
415
+ 72: mismatched body element end tag (premature end of file?)
416
+ #document
417
+ | <!-- - -->
418
+ | <html>
419
+ | <head>
420
+ | <body>
421
+ | <font>
422
+ | <div>
423
+ | "helloexcite!"
424
+ | <b>
425
+ | "me!"
426
+ | <table>
427
+ | <tbody>
428
+ | <tr>
429
+ | <th>
430
+ | <i>
431
+ | "please!"
432
+ | <!-- X -->
433
+
434
+ #data
435
+ <!DOCTYPE HTML><li>hello<li>world<ul>how<li>do</ul>you</body><!--do-->
436
+ #errors
437
+ Unexpected end of file. Expected </li>. XXX
438
+ #document
439
+ | <!DOCTYPE HTML>
440
+ | <html>
441
+ | <head>
442
+ | <body>
443
+ | <li>
444
+ | "hello"
445
+ | <li>
446
+ | "world"
447
+ | <ul>
448
+ | "how"
449
+ | <li>
450
+ | "do"
451
+ | "you"
452
+ | <!-- do -->
453
+
454
+ #data
455
+ <!DOCTYPE HTML>A<option>B<optgroup>C<select>D</option>E
456
+ #errors
457
+ 24: unexpected option element start tag in body
458
+ 35: unexpected optgroup element start tag in body
459
+ 54: unexpected option element end tag
460
+ 56: required select element end tag implied by unexpected end of file
461
+ #document
462
+ | <!DOCTYPE HTML>
463
+ | <html>
464
+ | <head>
465
+ | <body>
466
+ | "ABC"
467
+ | <select>
468
+ | "DE"
469
+
470
+ #data
471
+ <
472
+ #errors
473
+ 2: unescaped '<' character
474
+ 2: missing document type declaration
475
+ #document
476
+ | <html>
477
+ | <head>
478
+ | <body>
479
+ | "<"
480
+
481
+ #data
482
+ <#
483
+ #errors
484
+ 2: unescaped '<' character
485
+ 3: missing document type declaration
486
+ #document
487
+ | <html>
488
+ | <head>
489
+ | <body>
490
+ | "<#"
491
+
492
+ #data
493
+ </
494
+ #errors
495
+ 3: unescaped '<' character followed by '/' at EOF
496
+ 3: missing document type declaration
497
+ #document
498
+ | <html>
499
+ | <head>
500
+ | <body>
501
+ | "</"
502
+
503
+ #data
504
+ </#
505
+ #errors
506
+ 3: unescaped '<' character followed by '/'
507
+ 4: missing document type declaration
508
+ #document
509
+ | <!-- # -->
510
+ | <html>
511
+ | <head>
512
+ | <body>
513
+
514
+ #data
515
+ <?
516
+ #errors
517
+ 2: PIs are not supported in HTML5
518
+ 3: missing document type declaration
519
+ #document
520
+ | <!-- ? -->
521
+ | <html>
522
+ | <head>
523
+ | <body>
524
+
525
+ #data
526
+ <?#
527
+ #errors
528
+ 2: PIs are not supported in HTML5
529
+ 4: missing document type declaration
530
+ #document
531
+ | <!-- ?# -->
532
+ | <html>
533
+ | <head>
534
+ | <body>
535
+
536
+ #data
537
+ <!
538
+ #errors
539
+ 3: markup declarations are not supported in HTML5
540
+ 3: missing document type declaration
541
+ #document
542
+ | <!-- -->
543
+ | <html>
544
+ | <head>
545
+ | <body>
546
+
547
+ #data
548
+ <!#
549
+ #errors
550
+ 3: markup declarations are not supported in HTML5
551
+ 4: missing document type declaration
552
+ #document
553
+ | <!-- # -->
554
+ | <html>
555
+ | <head>
556
+ | <body>
557
+
558
+ #data
559
+ <?COMMENT?>
560
+ #errors
561
+ 2: PIs are not supported in HTML5
562
+ 12: missing document type declaration
563
+ #document
564
+ | <!-- ?COMMENT? -->
565
+ | <html>
566
+ | <head>
567
+ | <body>
568
+
569
+ #data
570
+ <!COMMENT>
571
+ #errors
572
+ 3: markup declarations are not supported in HTML5
573
+ 11: missing document type declaration
574
+ #document
575
+ | <!-- COMMENT -->
576
+ | <html>
577
+ | <head>
578
+ | <body>
579
+
580
+ #data
581
+ </ COMMENT >
582
+ #errors
583
+ 3: unescaped '<' character followed by '/'
584
+ 13: missing document type declaration
585
+ #document
586
+ | <!-- COMMENT -->
587
+ | <html>
588
+ | <head>
589
+ | <body>
590
+
591
+ #data
592
+ <?COM--MENT?>
593
+ #errors
594
+ 2: PIs are not supported in HTML5
595
+ 14: missing document type declaration
596
+ #document
597
+ | <!-- ?COM--MENT? -->
598
+ | <html>
599
+ | <head>
600
+ | <body>
601
+
602
+ #data
603
+ <!COM--MENT>
604
+ #errors
605
+ 3: markup declarations are not supported in HTML5
606
+ 13: missing document type declaration
607
+ #document
608
+ | <!-- COM--MENT -->
609
+ | <html>
610
+ | <head>
611
+ | <body>
612
+
613
+ #data
614
+ </ COM--MENT >
615
+ #errors
616
+ 3: unescaped '<' character followed by '/'
617
+ 15: missing document type declaration
618
+ #document
619
+ | <!-- COM--MENT -->
620
+ | <html>
621
+ | <head>
622
+ | <body>
623
+
624
+ #data
625
+ <!DOCTYPE HTML><style> EOF
626
+ #errors
627
+ 27: unexpected end of file while parsing CDATA section for element style
628
+ #document
629
+ | <!DOCTYPE HTML>
630
+ | <html>
631
+ | <head>
632
+ | <style>
633
+ | " EOF"
634
+ | <body>
635
+
636
+ #data
637
+ <!DOCTYPE HTML><script> <!-- </script> --> </script> EOF
638
+ #errors
639
+ #document
640
+ | <!DOCTYPE HTML>
641
+ | <html>
642
+ | <head>
643
+ | <script>
644
+ | " <!-- </script> --> "
645
+ | " "
646
+ | <body>
647
+ | "EOF"
648
+
649
+ #data
650
+ <b><p></b>TEST
651
+ #errors
652
+ 3: missing document type declaration
653
+ 10: mismatched b element end tag (misnested tags)
654
+ #document
655
+ | <html>
656
+ | <head>
657
+ | <body>
658
+ | <b>
659
+ | <p>
660
+ | <b>
661
+ | "TEST"
662
+
663
+ #data
664
+ <p id=a><b><p id=b></b>TEST
665
+ #errors
666
+ 8: missing document type declaration
667
+ 19: mismatched p element end tag
668
+ 23: mismatched b element end tag (out-of-order end tags)
669
+ #document
670
+ | <html>
671
+ | <head>
672
+ | <body>
673
+ | <p>
674
+ | id="a"
675
+ | <b>
676
+ | <p>
677
+ | id="b"
678
+ | "TEST"
679
+
680
+ #data
681
+ <b id=a><p><b id=b></p></b>TEST
682
+ #errors
683
+ 8: missing document type declaration
684
+ 23: mismatched p element end tag
685
+ 27: mismatched b element end tag (out-of-order end tags)
686
+ 32: mismatched body element end tag (premature end of file?)
687
+ #document
688
+ | <html>
689
+ | <head>
690
+ | <body>
691
+ | <b>
692
+ | id="a"
693
+ | <p>
694
+ | <b>
695
+ | id="b"
696
+ | "TEST"
697
+
698
+ #data
699
+ <!DOCTYPE HTML><title>U-test</title><body><div><p>Test<u></p></div></body>
700
+ #errors
701
+ 61: mismatched p element end tag
702
+ #document
703
+ | <!DOCTYPE HTML>
704
+ | <html>
705
+ | <head>
706
+ | <title>
707
+ | "U-test"
708
+ | <body>
709
+ | <div>
710
+ | <p>
711
+ | "Test"
712
+ | <u>
713
+
714
+ #data
715
+ <!DOCTYPE HTML><font><table></font></table></font>
716
+ #errors
717
+ 35: unexpected node in table context
718
+ 35: mismatched font element end tag (misnested tags across <table> tag)
719
+ #document
720
+ | <!DOCTYPE HTML>
721
+ | <html>
722
+ | <head>
723
+ | <body>
724
+ | <font>
725
+ | <table>
726
+
727
+ #data
728
+ <font><p>hello<b>cruel</font>world
729
+ #errors
730
+ 6: missing document type declaration
731
+ 29: mismatched font element end tag (misnested tags)
732
+ AAA </font> tag strikes again
733
+ 35: mismatched body element end tag (premature end of file?)
734
+ #document
735
+ | <html>
736
+ | <head>
737
+ | <body>
738
+ | <font>
739
+ | <p>
740
+ | <font>
741
+ | "hello"
742
+ | <b>
743
+ | "cruel"
744
+ | <b>
745
+ | "world"
746
+
747
+ #data
748
+ <b>Test</i>Test
749
+ #errors
750
+ 3: missing document type declaration
751
+ 11: mismatched i element end tag (no matching start tag)
752
+ 16: mismatched body element end tag (premature end of file?)
753
+ #document
754
+ | <html>
755
+ | <head>
756
+ | <body>
757
+ | <b>
758
+ | "TestTest"
759
+
760
+ #data
761
+ <b>A<cite>B<div>C
762
+ #errors
763
+ 3: missing document type declaration
764
+ 18: mismatched body element end tag (premature end of file?)
765
+ #document
766
+ | <html>
767
+ | <head>
768
+ | <body>
769
+ | <b>
770
+ | "A"
771
+ | <cite>
772
+ | "B"
773
+ | <div>
774
+ | "C"
775
+
776
+ #data
777
+ <b>A<cite>B<div>C</cite>D
778
+ #errors
779
+ 3: missing document type declaration
780
+ 24: unexpected cite element end tag
781
+ 26: mismatched body element end tag (premature end of file?)
782
+ #document
783
+ | <html>
784
+ | <head>
785
+ | <body>
786
+ | <b>
787
+ | "A"
788
+ | <cite>
789
+ | "B"
790
+ | <div>
791
+ | "CD"
792
+
793
+ #data
794
+ <b>A<cite>B<div>C</b>D
795
+ #errors
796
+ 3: missing document type declaration
797
+ 21: mismatched b element end tag (misnested tags)
798
+ 23: mismatched body element end tag (premature end of file?)
799
+ #document
800
+ | <html>
801
+ | <head>
802
+ | <body>
803
+ | <b>
804
+ | "A"
805
+ | <cite>
806
+ | "B"
807
+ | <div>
808
+ | <b>
809
+ | "C"
810
+ | "D"
811
+
812
+ #data
813
+ <cite><b><cite><i><cite><i><cite><i><div>X</b>TEST
814
+ #errors
815
+ 6: missing document type declaration
816
+ 46: mismatched b element end tag (misnested tags)
817
+ 51: mismatched body element end tag (premature end of file?)
818
+ #document
819
+ | <html>
820
+ | <head>
821
+ | <body>
822
+ | <cite>
823
+ | <b>
824
+ | <cite>
825
+ | <i>
826
+ | <cite>
827
+ | <i>
828
+ | <cite>
829
+ | <i>
830
+ | <i>
831
+ | <i>
832
+ | <div>
833
+ | <b>
834
+ | "X"
835
+ | "TEST"
836
+
837
+ #data
838
+
839
+ #errors
840
+ 1: missing document type declaration
841
+ #document
842
+ | <html>
843
+ | <head>
844
+ | <body>
845
+
846
+ #data
847
+ <DIV>
848
+ #errors
849
+ 5: missing document type declaration
850
+ 6: mismatched body element end tag (premature end of file?)
851
+ #document
852
+ | <html>
853
+ | <head>
854
+ | <body>
855
+ | <div>
856
+
857
+ #data
858
+ <DIV> abc
859
+ #errors
860
+ 5: missing document type declaration
861
+ 10: mismatched body element end tag (premature end of file?)
862
+ #document
863
+ | <html>
864
+ | <head>
865
+ | <body>
866
+ | <div>
867
+ | " abc"
868
+
869
+ #data
870
+ <DIV> abc <B>
871
+ #errors
872
+ 5: missing document type declaration
873
+ 14: mismatched body element end tag (premature end of file?)
874
+ #document
875
+ | <html>
876
+ | <head>
877
+ | <body>
878
+ | <div>
879
+ | " abc "
880
+ | <b>
881
+
882
+ #data
883
+ <DIV> abc <B> def
884
+ #errors
885
+ 5: missing document type declaration
886
+ 18: mismatched body element end tag (premature end of file?)
887
+ #document
888
+ | <html>
889
+ | <head>
890
+ | <body>
891
+ | <div>
892
+ | " abc "
893
+ | <b>
894
+ | " def"
895
+
896
+ #data
897
+ <DIV> abc <B> def <I>
898
+ #errors
899
+ 5: missing document type declaration
900
+ 22: mismatched body element end tag (premature end of file?)
901
+ #document
902
+ | <html>
903
+ | <head>
904
+ | <body>
905
+ | <div>
906
+ | " abc "
907
+ | <b>
908
+ | " def "
909
+ | <i>
910
+
911
+ #data
912
+ <DIV> abc <B> def <I> ghi
913
+ #errors
914
+ 5: missing document type declaration
915
+ 26: mismatched body element end tag (premature end of file?)
916
+ #document
917
+ | <html>
918
+ | <head>
919
+ | <body>
920
+ | <div>
921
+ | " abc "
922
+ | <b>
923
+ | " def "
924
+ | <i>
925
+ | " ghi"
926
+
927
+ #data
928
+ <DIV> abc <B> def <I> ghi <P>
929
+ #errors
930
+ 5: missing document type declaration
931
+ 30: mismatched body element end tag (premature end of file?)
932
+ #document
933
+ | <html>
934
+ | <head>
935
+ | <body>
936
+ | <div>
937
+ | " abc "
938
+ | <b>
939
+ | " def "
940
+ | <i>
941
+ | " ghi "
942
+ | <p>
943
+
944
+ #data
945
+ <DIV> abc <B> def <I> ghi <P> jkl
946
+ #errors
947
+ 5: missing document type declaration
948
+ 34: mismatched body element end tag (premature end of file?)
949
+ #document
950
+ | <html>
951
+ | <head>
952
+ | <body>
953
+ | <div>
954
+ | " abc "
955
+ | <b>
956
+ | " def "
957
+ | <i>
958
+ | " ghi "
959
+ | <p>
960
+ | " jkl"
961
+
962
+ #data
963
+ <DIV> abc <B> def <I> ghi <P> jkl </B>
964
+ #errors
965
+ 5: missing document type declaration
966
+ 38: mismatched b element end tag (misnested tags)
967
+ 39: mismatched body element end tag (premature end of file?)
968
+ #document
969
+ | <html>
970
+ | <head>
971
+ | <body>
972
+ | <div>
973
+ | " abc "
974
+ | <b>
975
+ | " def "
976
+ | <i>
977
+ | " ghi "
978
+ | <i>
979
+ | <p>
980
+ | <b>
981
+ | " jkl "
982
+
983
+ #data
984
+ <DIV> abc <B> def <I> ghi <P> jkl </B> mno
985
+ #errors
986
+ 5: missing document type declaration
987
+ 38: mismatched b element end tag (misnested tags)
988
+ 43: mismatched body element end tag (premature end of file?)
989
+ #document
990
+ | <html>
991
+ | <head>
992
+ | <body>
993
+ | <div>
994
+ | " abc "
995
+ | <b>
996
+ | " def "
997
+ | <i>
998
+ | " ghi "
999
+ | <i>
1000
+ | <p>
1001
+ | <b>
1002
+ | " jkl "
1003
+ | " mno"
1004
+
1005
+ #data
1006
+ <DIV> abc <B> def <I> ghi <P> jkl </B> mno </I>
1007
+ #errors
1008
+ 5: missing document type declaration
1009
+ 38: mismatched b element end tag (misnested tags)
1010
+ 47: mismatched i element end tag (misnested tags)
1011
+ 48: mismatched body element end tag (premature end of file?)
1012
+ #document
1013
+ | <html>
1014
+ | <head>
1015
+ | <body>
1016
+ | <div>
1017
+ | " abc "
1018
+ | <b>
1019
+ | " def "
1020
+ | <i>
1021
+ | " ghi "
1022
+ | <i>
1023
+ | <p>
1024
+ | <i>
1025
+ | <b>
1026
+ | " jkl "
1027
+ | " mno "
1028
+
1029
+ #data
1030
+ <DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr
1031
+ #errors
1032
+ 5: missing document type declaration
1033
+ 38: mismatched b element end tag (misnested tags)
1034
+ 47: mismatched i element end tag (misnested tags)
1035
+ 52: mismatched body element end tag (premature end of file?)
1036
+ #document
1037
+ | <html>
1038
+ | <head>
1039
+ | <body>
1040
+ | <div>
1041
+ | " abc "
1042
+ | <b>
1043
+ | " def "
1044
+ | <i>
1045
+ | " ghi "
1046
+ | <i>
1047
+ | <p>
1048
+ | <i>
1049
+ | <b>
1050
+ | " jkl "
1051
+ | " mno "
1052
+ | " pqr"
1053
+
1054
+ #data
1055
+ <DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr </P>
1056
+ #errors
1057
+ 5: missing document type declaration
1058
+ 38: mismatched b element end tag (misnested tags)
1059
+ 47: mismatched i element end tag (misnested tags)
1060
+ 57: mismatched body element end tag (premature end of file?)
1061
+ #document
1062
+ | <html>
1063
+ | <head>
1064
+ | <body>
1065
+ | <div>
1066
+ | " abc "
1067
+ | <b>
1068
+ | " def "
1069
+ | <i>
1070
+ | " ghi "
1071
+ | <i>
1072
+ | <p>
1073
+ | <i>
1074
+ | <b>
1075
+ | " jkl "
1076
+ | " mno "
1077
+ | " pqr "
1078
+
1079
+ #data
1080
+ <DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr </P> stu
1081
+ #errors
1082
+ 5: missing document type declaration
1083
+ 38: mismatched b element end tag (misnested tags)
1084
+ 47: mismatched i element end tag (misnested tags)
1085
+ 61: mismatched body element end tag (premature end of file?)
1086
+ #document
1087
+ | <html>
1088
+ | <head>
1089
+ | <body>
1090
+ | <div>
1091
+ | " abc "
1092
+ | <b>
1093
+ | " def "
1094
+ | <i>
1095
+ | " ghi "
1096
+ | <i>
1097
+ | <p>
1098
+ | <i>
1099
+ | <b>
1100
+ | " jkl "
1101
+ | " mno "
1102
+ | " pqr "
1103
+ | " stu"
1104
+
1105
+ #data
1106
+ <test attribute---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
1107
+ #errors
1108
+ 1040: missing document type declaration
1109
+ 1041: mismatched body element end tag (premature end of file?)
1110
+ #document
1111
+ | <html>
1112
+ | <head>
1113
+ | <body>
1114
+ | <test>
1115
+ | attribute----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------=""
1116
+
1117
+ #data
1118
+ <a href="blah">aba<table><a href="foo">br<tr><td></td></tr>x</table>aoe
1119
+ #errors
1120
+ 15: missing document type declaration
1121
+ 39: unexpected node in table context
1122
+ 39: a element start tag implying a element end tag
1123
+ AAA violation: </a>
1124
+ 39: unexpected node in table context
1125
+ 39: mismatched a element end tag (misnested tags across <table> tag)
1126
+ 43: unexpected node in table context
1127
+ 63: unexpected node in table context
1128
+ 72: mismatched body element end tag (premature end of file?)
1129
+ #document
1130
+ | <html>
1131
+ | <head>
1132
+ | <body>
1133
+ | <a>
1134
+ | href="blah"
1135
+ | "aba"
1136
+ | <a>
1137
+ | href="foo"
1138
+ | "br"
1139
+ | <a>
1140
+ | href="foo"
1141
+ | "x"
1142
+ | <table>
1143
+ | <tbody>
1144
+ | <tr>
1145
+ | <td>
1146
+ | <a>
1147
+ | href="foo"
1148
+ | "aoe"
1149
+
1150
+ #data
1151
+ <a href="blah">aba<table><tr><td><a href="foo">br</td></tr>x</table>aoe
1152
+ #errors
1153
+ 15: missing document type declaration
1154
+ 54: unexpected td element end tag implied other end tags
1155
+ 63: unexpected node in table context
1156
+ 72: mismatched body element end tag (premature end of file?)
1157
+ #document
1158
+ | <html>
1159
+ | <head>
1160
+ | <body>
1161
+ | <a>
1162
+ | href="blah"
1163
+ | "abax"
1164
+ | <table>
1165
+ | <tbody>
1166
+ | <tr>
1167
+ | <td>
1168
+ | <a>
1169
+ | href="foo"
1170
+ | "br"
1171
+ | "aoe"
1172
+
1173
+ #data
1174
+ <table><a href="blah">aba<tr><td><a href="foo">br</td></tr>x</table>aoe
1175
+ #errors
1176
+ 7: missing document type declaration
1177
+ 22: unexpected node in table context
1178
+ 27: unexpected node in table context
1179
+ XXX more table voodoo
1180
+ XXX more table voodoo
1181
+ 54: unexpected td element end tag implied other end tags
1182
+ 63: unexpected node in table context
1183
+ 72: mismatched body element end tag (premature end of file?)
1184
+ #document
1185
+ | <html>
1186
+ | <head>
1187
+ | <body>
1188
+ | <a>
1189
+ | href="blah"
1190
+ | "aba"
1191
+ | <a>
1192
+ | href="blah"
1193
+ | "x"
1194
+ | <table>
1195
+ | <tbody>
1196
+ | <tr>
1197
+ | <td>
1198
+ | <a>
1199
+ | href="foo"
1200
+ | "br"
1201
+ | <a>
1202
+ | href="blah"
1203
+ | "aoe"
1204
+
1205
+ #data
1206
+ <a href=a>aa<marquee>aa<a href=b>bb</marquee>aa
1207
+ #errors
1208
+ 10: missing document type declaration
1209
+ 45: mismatched marquee element end tag
1210
+ 48: mismatched body element end tag (premature end of file?)
1211
+ #document
1212
+ | <html>
1213
+ | <head>
1214
+ | <body>
1215
+ | <a>
1216
+ | href="a"
1217
+ | "aa"
1218
+ | <marquee>
1219
+ | "aa"
1220
+ | <a>
1221
+ | href="b"
1222
+ | "bb"
1223
+ | "aa"
1224
+
1225
+ #data
1226
+ <wbr><strike><code></strike><code><strike></code>
1227
+ #errors
1228
+ 5: missing document type declaration
1229
+ 28: mismatched strike element end tag (misnested tags)
1230
+ 49: mismatched code element end tag
1231
+ #document
1232
+ | <html>
1233
+ | <head>
1234
+ | <body>
1235
+ | <wbr>
1236
+ | <strike>
1237
+ | <code>
1238
+ | <code>
1239
+ | <strike>
1240
+
1241
+ #data
1242
+ <title><meta></title><link><title><meta></title>
1243
+ #errors
1244
+ 7: missing document type declaration
1245
+ #document
1246
+ | <html>
1247
+ | <head>
1248
+ | <title>
1249
+ | "<meta>"
1250
+ | <link>
1251
+ | <title>
1252
+ | "<meta>"
1253
+ | <body>
1254
+
1255
+ #data
1256
+ <style><!--</style><meta><script>--><link></script>
1257
+ #errors
1258
+ missing document type declaration
1259
+ unexpected EOF
1260
+ #document
1261
+ | <html>
1262
+ | <head>
1263
+ | <style>
1264
+ | "<!--</style><meta><script>--><link></script>"
1265
+ | <body>
1266
+
1267
+ #data
1268
+ <head><meta></head><link>
1269
+ #errors
1270
+ 6: missing document type declaration
1271
+ 25: unexpected link element start tag
1272
+ #document
1273
+ | <html>
1274
+ | <head>
1275
+ | <meta>
1276
+ | <link>
1277
+ | <body>
1278
+
1279
+ #data
1280
+ <table><tr><tr><td><td><span><th><span>X</table>
1281
+ #errors
1282
+ 7: missing document type declaration
1283
+ 33: unexpected td element end tag implied other end tags
1284
+ 48: unexpected th element end tag implied other end tags
1285
+ #document
1286
+ | <html>
1287
+ | <head>
1288
+ | <body>
1289
+ | <table>
1290
+ | <tbody>
1291
+ | <tr>
1292
+ | <tr>
1293
+ | <td>
1294
+ | <td>
1295
+ | <span>
1296
+ | <th>
1297
+ | <span>
1298
+ | "X"
1299
+
1300
+ #data
1301
+ <body><body><base><link><meta><title><p></title><body><p></body>
1302
+ #errors
1303
+ 6: missing document type declaration
1304
+ 12: unexpected body element start tag
1305
+ 37: title element start tag out of place
1306
+ 54: unexpected body element start tag
1307
+ Missing end tag </p>. XXX
1308
+ #document
1309
+ | <html>
1310
+ | <head>
1311
+ | <title>
1312
+ | "<p>"
1313
+ | <body>
1314
+ | <base>
1315
+ | <link>
1316
+ | <meta>
1317
+ | <p>
1318
+
1319
+ #data
1320
+ <textarea><p></textarea>
1321
+ #errors
1322
+ 10: missing document type declaration
1323
+ #document
1324
+ | <html>
1325
+ | <head>
1326
+ | <body>
1327
+ | <textarea>
1328
+ | "<p>"
1329
+
1330
+ #data
1331
+ <p><image></p>
1332
+ #errors
1333
+ 3: missing document type declaration
1334
+ 10: 'image' is not a valid element name, it should be 'img'
1335
+ #document
1336
+ | <html>
1337
+ | <head>
1338
+ | <body>
1339
+ | <p>
1340
+ | <img>
1341
+
1342
+ #data
1343
+ <a><table><a></table><p><a><div><a>
1344
+ #errors
1345
+ 3: missing document type declaration
1346
+ 13: unexpected node in table context
1347
+ 13: a element start tag implying a element end tag
1348
+ 13: mismatched a element end tag (misnested tags across <table> tag)
1349
+ 21: mismatched table element end tag
1350
+ 27: a element start tag implying a element end tag
1351
+ 27: mismatched a element end tag (out-of-order end tags)
1352
+ 32: mismatched p element end tag
1353
+ 35: a element start tag implying a element end tag
1354
+ 35: mismatched a element end tag (out-of-order end tags)
1355
+ 36: mismatched body element end tag (premature end of file?)
1356
+ #document
1357
+ | <html>
1358
+ | <head>
1359
+ | <body>
1360
+ | <a>
1361
+ | <a>
1362
+ | <table>
1363
+ | <p>
1364
+ | <a>
1365
+ | <div>
1366
+ | <a>
1367
+
1368
+ #data
1369
+ <head></p><meta><p>
1370
+ #errors
1371
+ 6: missing document type declaration
1372
+ 10: unexpected p element end tag
1373
+ #document
1374
+ | <html>
1375
+ | <head>
1376
+ | <body>
1377
+ | <p>
1378
+ | <meta>
1379
+ | <p>
1380
+
1381
+ #data
1382
+ <head></html><meta><p>
1383
+ #errors
1384
+ 6: missing document type declaration
1385
+ 19: unexpected node at end of document
1386
+ 19: unexpected node after body element end tag
1387
+ #document
1388
+ | <html>
1389
+ | <head>
1390
+ | <body>
1391
+ | <meta>
1392
+ | <p>
1393
+
1394
+ #data
1395
+ <b><table><td><i></table>
1396
+ #errors
1397
+ 3: missing document type declaration
1398
+ 14: required tr element start tag implied by unexpected td element start tag
1399
+ 25: unexpected td element end tag implied other end tags
1400
+ 26: mismatched body element end tag (premature end of file?)
1401
+ #document
1402
+ | <html>
1403
+ | <head>
1404
+ | <body>
1405
+ | <b>
1406
+ | <table>
1407
+ | <tbody>
1408
+ | <tr>
1409
+ | <td>
1410
+ | <i>
1411
+
1412
+ #data
1413
+ <b><table><td></b><i></table>
1414
+ #errors
1415
+ 3: missing document type declaration
1416
+ 14: required tr element start tag implied by unexpected td element start tag
1417
+ 18: mismatched b element end tag (no matching start tag)
1418
+ 29: unexpected td element end tag implied other end tags
1419
+ 30: mismatched body element end tag (premature end of file?)
1420
+ #document
1421
+ | <html>
1422
+ | <head>
1423
+ | <body>
1424
+ | <b>
1425
+ | <table>
1426
+ | <tbody>
1427
+ | <tr>
1428
+ | <td>
1429
+ | <i>
1430
+
1431
+ #data
1432
+ <h1><h2>
1433
+ #errors
1434
+ 4: missing document type declaration
1435
+ 9: mismatched body element end tag (premature end of file?)
1436
+ #document
1437
+ | <html>
1438
+ | <head>
1439
+ | <body>
1440
+ | <h1>
1441
+ | <h2>
1442
+
1443
+ #data
1444
+ <a><p><a></a></p></a>
1445
+ #errors
1446
+ 3: missing document type declaration
1447
+ 9: a element start tag implying a element end tag
1448
+ 9: mismatched a element end tag (misnested tags)
1449
+ 21: mismatched a element end tag (no matching start tag)
1450
+ #document
1451
+ | <html>
1452
+ | <head>
1453
+ | <body>
1454
+ | <a>
1455
+ | <p>
1456
+ | <a>
1457
+ | <a>
1458
+
1459
+ #data
1460
+ <b><button></b></button></b>
1461
+ #errors
1462
+ 3: missing document type declaration
1463
+ 15: mismatched b element end tag (no matching start tag)
1464
+ #document
1465
+ | <html>
1466
+ | <head>
1467
+ | <body>
1468
+ | <b>
1469
+ | <button>
1470
+
1471
+ #data
1472
+ <p><b><div><marquee></p></b></div>
1473
+ #errors
1474
+ 3: missing document type declaration
1475
+ 11: mismatched p element end tag
1476
+ 24: mismatched p element end tag
1477
+ 28: mismatched b element end tag (no matching start tag)
1478
+ 34: mismatched div element end tag
1479
+ 35: mismatched body element end tag (premature end of file?)
1480
+ #document
1481
+ | <html>
1482
+ | <head>
1483
+ | <body>
1484
+ | <p>
1485
+ | <b>
1486
+ | <div>
1487
+ | <b>
1488
+ | <marquee>
1489
+ | <p>
1490
+
1491
+ #data
1492
+ <script></script></div><title></title><p><p>
1493
+ #errors
1494
+ 8: missing document type declaration
1495
+ 23: unexpected div element end tag in head
1496
+ #document
1497
+ | <html>
1498
+ | <head>
1499
+ | <script>
1500
+ | <title>
1501
+ | <body>
1502
+ | <p>
1503
+ | <p>
1504
+
1505
+ #data
1506
+ <p><hr></p>
1507
+ #errors
1508
+ 3: missing document type declaration
1509
+ 11: mismatched p element end tag
1510
+ #document
1511
+ | <html>
1512
+ | <head>
1513
+ | <body>
1514
+ | <p>
1515
+ | <hr>
1516
+ | <p>
1517
+
1518
+ #data
1519
+ <select><b><option><select><option></b></select>
1520
+ #errors
1521
+ 8: missing document type declaration
1522
+ 11: unexpected node in select element context
1523
+ 27: select element start tag used as end tag
1524
+ 35: unexpected option element start tag in body
1525
+ 39: mismatched b element end tag (no matching start tag)
1526
+ 48: mismatched special end tag select
1527
+ #document
1528
+ | <html>
1529
+ | <head>
1530
+ | <body>
1531
+ | <select>
1532
+ | <option>
1533
+
1534
+ #data
1535
+ <html><head><title></title><body></body></html>
1536
+ #errors
1537
+ 6: missing document type declaration
1538
+ #document
1539
+ | <html>
1540
+ | <head>
1541
+ | <title>
1542
+ | <body>
1543
+
1544
+ #data
1545
+ <a><table><td><a><table></table><a></tr><a></table><a>
1546
+ #errors
1547
+ 3: missing document type declaration
1548
+ 14: required tr element start tag implied by unexpected td element start tag
1549
+ 35: a element start tag implying a element end tag
1550
+ 40: unexpected td element end tag implied other end tags
1551
+ 43: unexpected node in table context
1552
+ 43: a element start tag implying a element end tag
1553
+ 43: unexpected node in table context
1554
+ 43: mismatched a element end tag (misnested tags across <table> tag)
1555
+ 54: a element start tag implying a element end tag
1556
+ 54: mismatched a element end tag (out-of-order end tags)
1557
+ 55: mismatched body element end tag (premature end of file?)
1558
+ #document
1559
+ | <html>
1560
+ | <head>
1561
+ | <body>
1562
+ | <a>
1563
+ | <a>
1564
+ | <table>
1565
+ | <tbody>
1566
+ | <tr>
1567
+ | <td>
1568
+ | <a>
1569
+ | <table>
1570
+ | <a>
1571
+ | <a>
1572
+
1573
+ #data
1574
+ <ul><li></li><div><li></div><li><li><div><li><address><li><b><em></b><li></ul>
1575
+ #errors
1576
+ 4: missing document type declaration
1577
+ Missing end tag for <div> (nr2)
1578
+ Missing end tag for <address>
1579
+ 69: mismatched b element end tag (misnested tags)
1580
+ #document
1581
+ | <html>
1582
+ | <head>
1583
+ | <body>
1584
+ | <ul>
1585
+ | <li>
1586
+ | <div>
1587
+ | <li>
1588
+ | <li>
1589
+ | <li>
1590
+ | <div>
1591
+ | <li>
1592
+ | <address>
1593
+ | <li>
1594
+ | <b>
1595
+ | <em>
1596
+ | <li>
1597
+
1598
+ #data
1599
+ <frameset><frame><frameset><frame></frameset><noframes></noframes></frameset>
1600
+ #errors
1601
+ 10: missing document type declaration
1602
+ #document
1603
+ | <html>
1604
+ | <head>
1605
+ | <frameset>
1606
+ | <frame>
1607
+ | <frameset>
1608
+ | <frame>
1609
+ | <noframes>
1610
+
1611
+ #data
1612
+ <body><frame></frame></frame><frameset><frame><frameset><frame></frameset><noframes></frameset><noframes>
1613
+ #errors
1614
+ 6: missing document type declaration
1615
+ 13: unexpected frame element start tag in body
1616
+ 21: unexpected frame element end tag
1617
+ 29: unexpected frame element end tag
1618
+ 39: unexpected frameset element start tag in body
1619
+ 46: unexpected frame element start tag in body
1620
+ 56: unexpected frameset element start tag in body
1621
+ 63: unexpected frame element start tag in body
1622
+ 74: unexpected frameset element end tag
1623
+ 106: unexpected end of file while parsing CDATA section for element noframes
1624
+ #document
1625
+ | <html>
1626
+ | <head>
1627
+ | <body>
1628
+ | <noframes>
1629
+ | "</frameset><noframes>"
1630
+
1631
+ #data
1632
+ <h1><table><td><h3></table><h3></h1>
1633
+ #errors
1634
+ 4: missing document type declaration
1635
+ 15: required tr element start tag implied by unexpected td element start tag
1636
+ 27: unexpected td element end tag implied other end tags
1637
+ Unexpected </h1> tag. Expected other.
1638
+ Unexpected EOF
1639
+ #document
1640
+ | <html>
1641
+ | <head>
1642
+ | <body>
1643
+ | <h1>
1644
+ | <table>
1645
+ | <tbody>
1646
+ | <tr>
1647
+ | <td>
1648
+ | <h3>
1649
+ | <h3>
1650
+
1651
+ #data
1652
+ <table><colgroup><col><colgroup><col><col><col><colgroup><col><col><thead><tr><td></table>
1653
+ #errors
1654
+ 7: missing document type declaration
1655
+ #document
1656
+ | <html>
1657
+ | <head>
1658
+ | <body>
1659
+ | <table>
1660
+ | <colgroup>
1661
+ | <col>
1662
+ | <colgroup>
1663
+ | <col>
1664
+ | <col>
1665
+ | <col>
1666
+ | <colgroup>
1667
+ | <col>
1668
+ | <col>
1669
+ | <thead>
1670
+ | <tr>
1671
+ | <td>
1672
+
1673
+ #data
1674
+ <table><col><tbody><col><tr><col><td><col></table><col>
1675
+ #errors
1676
+ 7: missing document type declaration
1677
+ 37: required tr element start tag implied by unexpected td element start tag
1678
+ 55: unexpected col element start tag in body
1679
+ #document
1680
+ | <html>
1681
+ | <head>
1682
+ | <body>
1683
+ | <table>
1684
+ | <colgroup>
1685
+ | <col>
1686
+ | <tbody>
1687
+ | <colgroup>
1688
+ | <col>
1689
+ | <tbody>
1690
+ | <tr>
1691
+ | <colgroup>
1692
+ | <col>
1693
+ | <tbody>
1694
+ | <tr>
1695
+ | <td>
1696
+ | <colgroup>
1697
+ | <col>
1698
+
1699
+ #data
1700
+ <table><colgroup><tbody><colgroup><tr><colgroup><td><colgroup></table><colgroup>
1701
+ #errors
1702
+ 7: missing document type declaration
1703
+ 52: required tr element start tag implied by unexpected td element start tag
1704
+ 80: unexpected colgroup element start tag in body
1705
+ #document
1706
+ | <html>
1707
+ | <head>
1708
+ | <body>
1709
+ | <table>
1710
+ | <colgroup>
1711
+ | <tbody>
1712
+ | <colgroup>
1713
+ | <tbody>
1714
+ | <tr>
1715
+ | <colgroup>
1716
+ | <tbody>
1717
+ | <tr>
1718
+ | <td>
1719
+ | <colgroup>
1720
+
1721
+ #data
1722
+ </strong></b></em></i></u></strike></s></blink></tt></pre></big></small></font></select></h1></h2></h3></h4></h5></h6></body></br></a></img></title></span></style></script></table></th></td></tr></frame></area></link></param></hr></input></col></base></meta></basefont></bgsound></embed></spacer></p></dd></dt></caption></colgroup></tbody></tfoot></thead></address></blockquote></center></dir></div></dl></fieldset></listing></menu></ol></ul></li></nobr></wbr></form></button></marquee></object></html></frameset></head></iframe></image></isindex></noembed></noframes></noscript></optgroup></option></plaintext></textarea>
1723
+ #errors
1724
+ 9: missing document type declaration
1725
+ 9: unexpected strong element end tag
1726
+ 13: unexpected b element end tag
1727
+ 18: unexpected em element end tag
1728
+ 22: unexpected i element end tag
1729
+ 26: unexpected u element end tag
1730
+ 35: unexpected strike element end tag
1731
+ 39: unexpected s element end tag
1732
+ 47: unexpected blink element end tag
1733
+ 52: unexpected tt element end tag
1734
+ 58: unexpected pre element end tag
1735
+ 64: unexpected big element end tag
1736
+ 72: unexpected small element end tag
1737
+ 79: unexpected font element end tag
1738
+ 88: unexpected select element end tag
1739
+ 93: unexpected h1 element end tag
1740
+ 98: unexpected h2 element end tag
1741
+ 103: unexpected h3 element end tag
1742
+ 108: unexpected h4 element end tag
1743
+ 113: unexpected h5 element end tag
1744
+ 118: unexpected h6 element end tag
1745
+ 125: unexpected end tag token br in after body phase
1746
+ 130: unexpected br element end tag
1747
+ 134: unexpected a element end tag (AAA)
1748
+ 140: unexpected img element end tag
1749
+ 148: unexpected title element end tag
1750
+ 155: unexpected span element end tag
1751
+ 163: unexpected style element end tag
1752
+ 172: unexpected script element end tag
1753
+ 180: unexpected table element end tag
1754
+ 185: unexpected th element end tag
1755
+ 190: unexpected td element end tag
1756
+ 195: unexpected tr element end tag
1757
+ 203: unexpected frame element end tag
1758
+ 210: unexpected area element end tag
1759
+ 217: unexpected link element end tag
1760
+ 225: unexpected param element end tag
1761
+ 230: unexpected hr element end tag
1762
+ 238: unexpected input element end tag
1763
+ 244: unexpected col element end tag
1764
+ 251: unexpected base element end tag
1765
+ 258: unexpected meta element end tag
1766
+ 269: unexpected basefont element end tag
1767
+ 279: unexpected bgsound element end tag
1768
+ 287: unexpected embed element end tag
1769
+ 296: unexpected spacer element end tag
1770
+ 300: unexpected p element end tag
1771
+ 305: unexpected dd element end tag
1772
+ 310: unexpected dt element end tag
1773
+ 320: unexpected caption element end tag
1774
+ 331: unexpected colgroup element end tag
1775
+ 339: unexpected tbody element end tag
1776
+ 347: unexpected tfoot element end tag
1777
+ 355: unexpected thead element end tag
1778
+ 365: unexpected address element end tag
1779
+ 378: unexpected blockquote element end tag
1780
+ 387: unexpected center element end tag
1781
+ 393: unexpected dir element end tag
1782
+ 399: unexpected div element end tag
1783
+ 404: unexpected dl element end tag
1784
+ 415: unexpected fieldset element end tag
1785
+ 425: unexpected listing element end tag
1786
+ 432: unexpected menu element end tag
1787
+ 437: unexpected ol element end tag
1788
+ 442: unexpected ul element end tag
1789
+ 447: unexpected li element end tag
1790
+ 454: unexpected nobr element end tag
1791
+ 460: unexpected wbr element end tag
1792
+ 467: unexpected form element end tag
1793
+ 476: unexpected button element end tag
1794
+ 486: unexpected marquee element end tag
1795
+ 495: unexpected object element end tag
1796
+ 513: unexpected node at end of document
1797
+ 513: unexpected node after body element end tag
1798
+ 513: unexpected frameset element end tag
1799
+ 520: unexpected head element end tag
1800
+ 529: mismatched special end tag iframe
1801
+ 537: unexpected image end tag (that element has no end tag, ever)
1802
+ 547: unexpected isindex end tag (that element has no end tag, ever)
1803
+ 557: mismatched special end tag noembed
1804
+ 568: mismatched special end tag noframes
1805
+ 579: mismatched special end tag noscript
1806
+ 590: unexpected optgroup element end tag
1807
+ 599: unexpected option element end tag
1808
+ 611: unexpected plaintext element end tag
1809
+ 622: mismatched special end tag textarea
1810
+ #document
1811
+ | <html>
1812
+ | <head>
1813
+ | <body>
1814
+ | <br>
1815
+ | <p>
1816
+
1817
+ #data
1818
+ <table><tr></strong></b></em></i></u></strike></s></blink></tt></pre></big></small></font></select></h1></h2></h3></h4></h5></h6></body></br></a></img></title></span></style></script></table></th></td></tr></frame></area></link></param></hr></input></col></base></meta></basefont></bgsound></embed></spacer></p></dd></dt></caption></colgroup></tbody></tfoot></thead></address></blockquote></center></dir></div></dl></fieldset></listing></menu></ol></ul></li></nobr></wbr></form></button></marquee></object></html></frameset></head></iframe></image></isindex></noembed></noframes></noscript></optgroup></option></plaintext></textarea>
1819
+ #errors
1820
+ 7: missing document type declaration
1821
+ 20: unexpected node in table context
1822
+ 20: mismatched strong element end tag (no matching start tag)
1823
+ 24: unexpected node in table context
1824
+ 24: mismatched b element end tag (no matching start tag)
1825
+ 29: unexpected node in table context
1826
+ 29: mismatched em element end tag (no matching start tag)
1827
+ 33: unexpected node in table context
1828
+ 33: mismatched i element end tag (no matching start tag)
1829
+ 37: unexpected node in table context
1830
+ 37: mismatched u element end tag (no matching start tag)
1831
+ 46: unexpected node in table context
1832
+ 46: mismatched strike element end tag (no matching start tag)
1833
+ 50: unexpected node in table context
1834
+ 50: mismatched s element end tag (no matching start tag)
1835
+ 58: unexpected node in table context
1836
+ 58: unexpected blink element end tag
1837
+ 63: unexpected node in table context
1838
+ 63: mismatched tt element end tag (no matching start tag)
1839
+ 69: unexpected node in table context
1840
+ 69: mismatched pre element end tag
1841
+ 75: unexpected node in table context
1842
+ 75: mismatched big element end tag (no matching start tag)
1843
+ 83: unexpected node in table context
1844
+ 83: mismatched small element end tag (no matching start tag)
1845
+ 90: unexpected node in table context
1846
+ 90: mismatched font element end tag (no matching start tag)
1847
+ 99: unexpected node in table context
1848
+ 99: mismatched special end tag select
1849
+ 104: unexpected node in table context
1850
+ 104: mismatched h1 element end tag
1851
+ 109: unexpected node in table context
1852
+ 109: mismatched h2 element end tag
1853
+ 114: unexpected node in table context
1854
+ 114: mismatched h3 element end tag
1855
+ 119: unexpected node in table context
1856
+ 119: mismatched h4 element end tag
1857
+ 124: unexpected node in table context
1858
+ 124: mismatched h5 element end tag
1859
+ 129: unexpected node in table context
1860
+ 129: mismatched h6 element end tag
1861
+ 136: unexpected body element end tag
1862
+ 141: unexpected node in table context
1863
+ 141: unexpected br end tag (that element has no end tag, ever)
1864
+ 145: unexpected node in table context
1865
+ 145: mismatched a element end tag (no matching start tag)
1866
+ 151: unexpected node in table context
1867
+ 151: unexpected img end tag (that element has no end tag, ever)
1868
+ 159: unexpected node in table context
1869
+ 159: unexpected title element end tag
1870
+ 166: unexpected node in table context
1871
+ 166: unexpected span element end tag
1872
+ 174: unexpected node in table context
1873
+ 174: unexpected style element end tag
1874
+ 183: unexpected node in table context
1875
+ 183: unexpected script element end tag
1876
+ 196: unexpected th element end tag
1877
+ 201: unexpected td element end tag
1878
+ 206: unexpected tr element end tag
1879
+ 214: unexpected frame element end tag
1880
+ 221: unexpected area end tag (that element has no end tag, ever)
1881
+ 228: unexpected link element end tag
1882
+ 236: unexpected param end tag (that element has no end tag, ever)
1883
+ 241: unexpected hr end tag (that element has no end tag, ever)
1884
+ 249: unexpected input end tag (that element has no end tag, ever)
1885
+ 255: unexpected col element end tag
1886
+ 262: unexpected base element end tag
1887
+ 269: unexpected meta element end tag
1888
+ 280: unexpected basefont end tag (that element has no end tag, ever)
1889
+ 290: unexpected bgsound end tag (that element has no end tag, ever)
1890
+ 298: unexpected embed end tag (that element has no end tag, ever)
1891
+ 307: unexpected spacer end tag (that element has no end tag, ever)
1892
+ 311: mismatched p element end tag
1893
+ 316: mismatched dd element end tag
1894
+ 321: mismatched dt element end tag
1895
+ 331: unexpected caption element end tag
1896
+ 342: unexpected colgroup element end tag
1897
+ 350: unexpected tbody element end tag
1898
+ 358: unexpected tfoot element end tag
1899
+ 366: unexpected thead element end tag
1900
+ 376: mismatched address element end tag
1901
+ 389: mismatched blockquote element end tag
1902
+ 398: mismatched center element end tag
1903
+ 404: mismatched dir element end tag
1904
+ 410: mismatched div element end tag
1905
+ 415: mismatched dl element end tag
1906
+ 426: mismatched fieldset element end tag
1907
+ 436: mismatched listing element end tag
1908
+ 443: mismatched menu element end tag
1909
+ 448: mismatched ol element end tag
1910
+ 453: mismatched ul element end tag
1911
+ 458: mismatched li element end tag
1912
+ 465: mismatched nobr element end tag (no matching start tag)
1913
+ 471: unexpected wbr end tag (that element has no end tag, ever)
1914
+ 478: mismatched form element end tag
1915
+ 524: unexpected node at end of document
1916
+ 524: unexpected node after body element end tag
1917
+ 524: unexpected frameset element end tag
1918
+ 531: unexpected head element end tag
1919
+ 540: mismatched special end tag iframe
1920
+ 548: unexpected image end tag (that element has no end tag, ever)
1921
+ 558: unexpected isindex end tag (that element has no end tag, ever)
1922
+ 568: mismatched special end tag noembed
1923
+ 579: mismatched special end tag noframes
1924
+ 590: mismatched special end tag noscript
1925
+ 601: unexpected optgroup element end tag
1926
+ 610: unexpected option element end tag
1927
+ 622: unexpected plaintext element end tag
1928
+ 633: mismatched special end tag textarea
1929
+ XXX
1930
+ XXX
1931
+ XXX
1932
+ #document
1933
+ | <html>
1934
+ | <head>
1935
+ | <body>
1936
+ | <br>
1937
+ | <table>
1938
+ | <tbody>
1939
+ | <tr>
1940
+ | <p>
1941
+
1942
+ #data
1943
+ <frameset>
1944
+ #errors
1945
+ 10: Start tag seen without seeing a doctype first.
1946
+ 11: End of file seen and there were open elements.
1947
+ #document
1948
+ | <html>
1949
+ | <head>
1950
+ | <frameset>