feedtools 0.2.26 → 0.2.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>