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.
- data/CHANGELOG +232 -216
- data/db/migration.rb +2 -0
- data/db/schema.mysql.sql +2 -0
- data/db/schema.postgresql.sql +3 -1
- data/db/schema.sqlite.sql +3 -1
- data/lib/feed_tools.rb +37 -14
- data/lib/feed_tools/database_feed_cache.rb +13 -2
- data/lib/feed_tools/feed.rb +430 -104
- data/lib/feed_tools/feed_item.rb +533 -268
- data/lib/feed_tools/helpers/generic_helper.rb +1 -1
- data/lib/feed_tools/helpers/html_helper.rb +78 -116
- data/lib/feed_tools/helpers/retrieval_helper.rb +33 -3
- data/lib/feed_tools/helpers/uri_helper.rb +46 -54
- data/lib/feed_tools/monkey_patch.rb +27 -1
- data/lib/feed_tools/vendor/html5/History.txt +10 -0
- data/lib/feed_tools/vendor/html5/Manifest.txt +117 -0
- data/lib/feed_tools/vendor/html5/README +45 -0
- data/lib/feed_tools/vendor/html5/Rakefile.rb +33 -0
- data/lib/feed_tools/vendor/html5/bin/html5 +217 -0
- data/lib/feed_tools/vendor/html5/lib/core_ext/string.rb +17 -0
- data/lib/feed_tools/vendor/html5/lib/html5.rb +13 -0
- data/lib/feed_tools/vendor/html5/lib/html5/constants.rb +1046 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/base.rb +10 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/inject_meta_charset.rb +82 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/iso639codes.rb +752 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/optionaltags.rb +198 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/rfc2046.rb +30 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/rfc3987.rb +89 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/sanitizer.rb +15 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/validator.rb +830 -0
- data/lib/feed_tools/vendor/html5/lib/html5/filters/whitespace.rb +36 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser.rb +248 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/after_body_phase.rb +46 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/after_frameset_phase.rb +33 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/after_head_phase.rb +50 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/before_head_phase.rb +41 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_body_phase.rb +613 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb +69 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_cell_phase.rb +78 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_column_group_phase.rb +55 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_frameset_phase.rb +57 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_head_phase.rb +138 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_row_phase.rb +89 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb +85 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_body_phase.rb +86 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb +115 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/initial_phase.rb +133 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/phase.rb +154 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/root_element_phase.rb +41 -0
- data/lib/feed_tools/vendor/html5/lib/html5/html5parser/trailing_end_phase.rb +35 -0
- data/lib/feed_tools/vendor/html5/lib/html5/inputstream.rb +648 -0
- data/lib/feed_tools/vendor/html5/lib/html5/liberalxmlparser.rb +158 -0
- data/lib/feed_tools/vendor/html5/lib/html5/sanitizer.rb +188 -0
- data/lib/feed_tools/vendor/html5/lib/html5/serializer.rb +2 -0
- data/lib/feed_tools/vendor/html5/lib/html5/serializer/htmlserializer.rb +179 -0
- data/lib/feed_tools/vendor/html5/lib/html5/serializer/xhtmlserializer.rb +20 -0
- data/lib/feed_tools/vendor/html5/lib/html5/sniffer.rb +45 -0
- data/lib/feed_tools/vendor/html5/lib/html5/tokenizer.rb +966 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treebuilders.rb +24 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/base.rb +334 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/hpricot.rb +231 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/rexml.rb +209 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/simpletree.rb +185 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treewalkers.rb +26 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb +162 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/hpricot.rb +48 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/rexml.rb +48 -0
- data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/simpletree.rb +48 -0
- data/lib/feed_tools/vendor/html5/lib/html5/version.rb +3 -0
- data/lib/feed_tools/vendor/html5/testdata/encoding/chardet/test_big5.txt +51 -0
- data/lib/feed_tools/vendor/html5/testdata/encoding/test-yahoo-jp.dat +10 -0
- data/lib/feed_tools/vendor/html5/testdata/encoding/tests1.dat +394 -0
- data/lib/feed_tools/vendor/html5/testdata/encoding/tests2.dat +81 -0
- data/lib/feed_tools/vendor/html5/testdata/sanitizer/tests1.dat +416 -0
- data/lib/feed_tools/vendor/html5/testdata/serializer/core.test +104 -0
- data/lib/feed_tools/vendor/html5/testdata/serializer/injectmeta.test +65 -0
- data/lib/feed_tools/vendor/html5/testdata/serializer/optionaltags.test +900 -0
- data/lib/feed_tools/vendor/html5/testdata/serializer/options.test +60 -0
- data/lib/feed_tools/vendor/html5/testdata/serializer/whitespace.test +51 -0
- data/lib/feed_tools/vendor/html5/testdata/sites/google-results.htm +1 -0
- data/lib/feed_tools/vendor/html5/testdata/sites/python-ref-import.htm +1 -0
- data/lib/feed_tools/vendor/html5/testdata/sites/web-apps-old.htm +1 -0
- data/lib/feed_tools/vendor/html5/testdata/sites/web-apps.htm +34275 -0
- data/lib/feed_tools/vendor/html5/testdata/sniffer/htmlOrFeed.json +43 -0
- data/lib/feed_tools/vendor/html5/testdata/tokenizer/contentModelFlags.test +48 -0
- data/lib/feed_tools/vendor/html5/testdata/tokenizer/entities.test +2339 -0
- data/lib/feed_tools/vendor/html5/testdata/tokenizer/escapeFlag.test +21 -0
- data/lib/feed_tools/vendor/html5/testdata/tokenizer/test1.test +172 -0
- data/lib/feed_tools/vendor/html5/testdata/tokenizer/test2.test +129 -0
- data/lib/feed_tools/vendor/html5/testdata/tokenizer/test3.test +367 -0
- data/lib/feed_tools/vendor/html5/testdata/tokenizer/test4.test +198 -0
- data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests1.dat +1950 -0
- data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests2.dat +773 -0
- data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests3.dat +270 -0
- data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests4.dat +60 -0
- data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests5.dat +175 -0
- data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests6.dat +196 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/attributes.test +1035 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/base-href-attribute.test +787 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/base-target-attribute.test +35 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/blockquote-cite-attribute.test +7 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/classattribute.test +152 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/contenteditableattribute.test +59 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/contextmenuattribute.test +115 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/dirattribute.test +59 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/draggableattribute.test +63 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/html-xmlns-attribute.test +23 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/idattribute.test +115 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/inputattributes.test +2795 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/irrelevantattribute.test +63 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/langattribute.test +5579 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/li-value-attribute.test +7 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/link-href-attribute.test +7 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/link-hreflang-attribute.test +7 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/link-rel-attribute.test +271 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/ol-start-attribute.test +7 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/starttags.test +375 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/style-scoped-attribute.test +7 -0
- data/lib/feed_tools/vendor/html5/testdata/validator/tabindexattribute.test +79 -0
- data/lib/feed_tools/vendor/html5/tests/preamble.rb +72 -0
- data/lib/feed_tools/vendor/html5/tests/test_encoding.rb +35 -0
- data/lib/feed_tools/vendor/html5/tests/test_lxp.rb +279 -0
- data/lib/feed_tools/vendor/html5/tests/test_parser.rb +68 -0
- data/lib/feed_tools/vendor/html5/tests/test_sanitizer.rb +142 -0
- data/lib/feed_tools/vendor/html5/tests/test_serializer.rb +68 -0
- data/lib/feed_tools/vendor/html5/tests/test_sniffer.rb +27 -0
- data/lib/feed_tools/vendor/html5/tests/test_stream.rb +62 -0
- data/lib/feed_tools/vendor/html5/tests/test_tokenizer.rb +94 -0
- data/lib/feed_tools/vendor/html5/tests/test_treewalkers.rb +135 -0
- data/lib/feed_tools/vendor/html5/tests/test_validator.rb +31 -0
- data/lib/feed_tools/vendor/html5/tests/tokenizer_test_parser.rb +63 -0
- data/lib/feed_tools/vendor/uri.rb +781 -0
- data/lib/feed_tools/version.rb +1 -1
- data/rakefile +27 -6
- data/test/unit/atom_test.rb +298 -210
- data/test/unit/helper_test.rb +7 -12
- data/test/unit/rdf_test.rb +51 -1
- data/test/unit/rss_test.rb +13 -3
- metadata +239 -116
- data/lib/feed_tools/vendor/htree.rb +0 -97
- data/lib/feed_tools/vendor/htree/container.rb +0 -10
- data/lib/feed_tools/vendor/htree/context.rb +0 -67
- data/lib/feed_tools/vendor/htree/display.rb +0 -27
- data/lib/feed_tools/vendor/htree/doc.rb +0 -149
- data/lib/feed_tools/vendor/htree/elem.rb +0 -262
- data/lib/feed_tools/vendor/htree/encoder.rb +0 -163
- data/lib/feed_tools/vendor/htree/equality.rb +0 -218
- data/lib/feed_tools/vendor/htree/extract_text.rb +0 -37
- data/lib/feed_tools/vendor/htree/fstr.rb +0 -33
- data/lib/feed_tools/vendor/htree/gencode.rb +0 -97
- data/lib/feed_tools/vendor/htree/htmlinfo.rb +0 -672
- data/lib/feed_tools/vendor/htree/inspect.rb +0 -108
- data/lib/feed_tools/vendor/htree/leaf.rb +0 -94
- data/lib/feed_tools/vendor/htree/loc.rb +0 -367
- data/lib/feed_tools/vendor/htree/modules.rb +0 -48
- data/lib/feed_tools/vendor/htree/name.rb +0 -124
- data/lib/feed_tools/vendor/htree/output.rb +0 -207
- data/lib/feed_tools/vendor/htree/parse.rb +0 -409
- data/lib/feed_tools/vendor/htree/raw_string.rb +0 -124
- data/lib/feed_tools/vendor/htree/regexp-util.rb +0 -15
- data/lib/feed_tools/vendor/htree/rexml.rb +0 -130
- data/lib/feed_tools/vendor/htree/scan.rb +0 -166
- data/lib/feed_tools/vendor/htree/tag.rb +0 -111
- data/lib/feed_tools/vendor/htree/template.rb +0 -909
- data/lib/feed_tools/vendor/htree/text.rb +0 -115
- data/lib/feed_tools/vendor/htree/traverse.rb +0 -465
|
@@ -0,0 +1,773 @@
|
|
|
1
|
+
#data
|
|
2
|
+
<!DOCTYPE HTML>Test
|
|
3
|
+
#errors
|
|
4
|
+
#document
|
|
5
|
+
| <!DOCTYPE HTML>
|
|
6
|
+
| <html>
|
|
7
|
+
| <head>
|
|
8
|
+
| <body>
|
|
9
|
+
| "Test"
|
|
10
|
+
|
|
11
|
+
#data
|
|
12
|
+
<textarea>test</div>test
|
|
13
|
+
#errors
|
|
14
|
+
10: missing document type declaration.
|
|
15
|
+
25: unexpected end of file while parsing CDATA section for element textarea.
|
|
16
|
+
#document
|
|
17
|
+
| <html>
|
|
18
|
+
| <head>
|
|
19
|
+
| <body>
|
|
20
|
+
| <textarea>
|
|
21
|
+
| "test</div>test"
|
|
22
|
+
|
|
23
|
+
#data
|
|
24
|
+
<table><td>
|
|
25
|
+
#errors
|
|
26
|
+
7: missing document type declaration.
|
|
27
|
+
11: required tr element start tag implied by unexpected td element start tag.
|
|
28
|
+
12: unexpected end of file implied table element end tag.
|
|
29
|
+
#document
|
|
30
|
+
| <html>
|
|
31
|
+
| <head>
|
|
32
|
+
| <body>
|
|
33
|
+
| <table>
|
|
34
|
+
| <tbody>
|
|
35
|
+
| <tr>
|
|
36
|
+
| <td>
|
|
37
|
+
|
|
38
|
+
#data
|
|
39
|
+
<table><td>test</tbody></table>
|
|
40
|
+
#errors
|
|
41
|
+
missing document type declarattion
|
|
42
|
+
Unexpected and of file
|
|
43
|
+
#document
|
|
44
|
+
| <html>
|
|
45
|
+
| <head>
|
|
46
|
+
| <body>
|
|
47
|
+
| <table>
|
|
48
|
+
| <tbody>
|
|
49
|
+
| <tr>
|
|
50
|
+
| <td>
|
|
51
|
+
| "test"
|
|
52
|
+
|
|
53
|
+
#data
|
|
54
|
+
<frame>test
|
|
55
|
+
#errors
|
|
56
|
+
missing document type declaration
|
|
57
|
+
frame element can't occur here
|
|
58
|
+
#document
|
|
59
|
+
| <html>
|
|
60
|
+
| <head>
|
|
61
|
+
| <body>
|
|
62
|
+
| "test"
|
|
63
|
+
|
|
64
|
+
#data
|
|
65
|
+
<!DOCTYPE HTML><frameset>test
|
|
66
|
+
#errors
|
|
67
|
+
frameset can't contain text
|
|
68
|
+
Unexpected end of file
|
|
69
|
+
#document
|
|
70
|
+
| <!DOCTYPE HTML>
|
|
71
|
+
| <html>
|
|
72
|
+
| <head>
|
|
73
|
+
| <frameset>
|
|
74
|
+
|
|
75
|
+
#data
|
|
76
|
+
<!DOCTYPE HTML><frameset><!DOCTYPE HTML>
|
|
77
|
+
#errors
|
|
78
|
+
document type declaration can only occur at the start of a document
|
|
79
|
+
Expected end tag </frameset>
|
|
80
|
+
#document
|
|
81
|
+
| <!DOCTYPE HTML>
|
|
82
|
+
| <html>
|
|
83
|
+
| <head>
|
|
84
|
+
| <frameset>
|
|
85
|
+
|
|
86
|
+
#data
|
|
87
|
+
<!DOCTYPE HTML><font><p><b>test</font>
|
|
88
|
+
#errors
|
|
89
|
+
AAA violation. </font>
|
|
90
|
+
AAA violation. </font>
|
|
91
|
+
#document
|
|
92
|
+
| <!DOCTYPE HTML>
|
|
93
|
+
| <html>
|
|
94
|
+
| <head>
|
|
95
|
+
| <body>
|
|
96
|
+
| <font>
|
|
97
|
+
| <p>
|
|
98
|
+
| <font>
|
|
99
|
+
| <b>
|
|
100
|
+
| "test"
|
|
101
|
+
|
|
102
|
+
#data
|
|
103
|
+
<!DOCTYPE HTML><dt><div><dd>
|
|
104
|
+
#errors
|
|
105
|
+
Missing end tag for <div>.
|
|
106
|
+
#document
|
|
107
|
+
| <!DOCTYPE HTML>
|
|
108
|
+
| <html>
|
|
109
|
+
| <head>
|
|
110
|
+
| <body>
|
|
111
|
+
| <dt>
|
|
112
|
+
| <div>
|
|
113
|
+
| <dd>
|
|
114
|
+
|
|
115
|
+
#data
|
|
116
|
+
<script></x
|
|
117
|
+
#errors
|
|
118
|
+
no document type
|
|
119
|
+
Unexpected end of file. Expected </script> end tag.
|
|
120
|
+
#document
|
|
121
|
+
| <html>
|
|
122
|
+
| <head>
|
|
123
|
+
| <script>
|
|
124
|
+
| "</x"
|
|
125
|
+
| <body>
|
|
126
|
+
|
|
127
|
+
#data
|
|
128
|
+
<table><plaintext><td>
|
|
129
|
+
#errors
|
|
130
|
+
no document type
|
|
131
|
+
<plaintext> directly inside table
|
|
132
|
+
Characters inside table.
|
|
133
|
+
Characters inside table. (XXX?)
|
|
134
|
+
Unexpected end of file.
|
|
135
|
+
#document
|
|
136
|
+
| <html>
|
|
137
|
+
| <head>
|
|
138
|
+
| <body>
|
|
139
|
+
| <plaintext>
|
|
140
|
+
| "<td>"
|
|
141
|
+
| <table>
|
|
142
|
+
|
|
143
|
+
#data
|
|
144
|
+
<plaintext></plaintext>
|
|
145
|
+
#errors
|
|
146
|
+
No DOCTYPE seen.
|
|
147
|
+
Unexpected end of file.
|
|
148
|
+
#document
|
|
149
|
+
| <html>
|
|
150
|
+
| <head>
|
|
151
|
+
| <body>
|
|
152
|
+
| <plaintext>
|
|
153
|
+
| "</plaintext>"
|
|
154
|
+
|
|
155
|
+
#data
|
|
156
|
+
<!DOCTYPE HTML><table><tr>TEST
|
|
157
|
+
#errors
|
|
158
|
+
TEST can't occur in <tr>
|
|
159
|
+
Unexpected end of file.
|
|
160
|
+
#document
|
|
161
|
+
| <!DOCTYPE HTML>
|
|
162
|
+
| <html>
|
|
163
|
+
| <head>
|
|
164
|
+
| <body>
|
|
165
|
+
| "TEST"
|
|
166
|
+
| <table>
|
|
167
|
+
| <tbody>
|
|
168
|
+
| <tr>
|
|
169
|
+
|
|
170
|
+
#data
|
|
171
|
+
<!DOCTYPE HTML><body t1=1><body t2=2><body t3=3 t4=4>
|
|
172
|
+
#errors
|
|
173
|
+
Unexpected start tag "body"
|
|
174
|
+
Unexpected start tag "body"
|
|
175
|
+
#document
|
|
176
|
+
| <!DOCTYPE HTML>
|
|
177
|
+
| <html>
|
|
178
|
+
| <head>
|
|
179
|
+
| <body>
|
|
180
|
+
| t1="1"
|
|
181
|
+
| t2="2"
|
|
182
|
+
| t3="3"
|
|
183
|
+
| t4="4"
|
|
184
|
+
|
|
185
|
+
#data
|
|
186
|
+
</b test
|
|
187
|
+
#errors
|
|
188
|
+
Unexpected EOF in attribute
|
|
189
|
+
Unexpected attribute in end tag.
|
|
190
|
+
No doctype.
|
|
191
|
+
Unexpected end tag.
|
|
192
|
+
#document
|
|
193
|
+
| <html>
|
|
194
|
+
| <head>
|
|
195
|
+
| <body>
|
|
196
|
+
|
|
197
|
+
#data
|
|
198
|
+
<!DOCTYPE HTML></b test<b &=&>X
|
|
199
|
+
#errors
|
|
200
|
+
End tag contains attributes.
|
|
201
|
+
Unexpected end tag.
|
|
202
|
+
Named entity didn't end with ;
|
|
203
|
+
#document
|
|
204
|
+
| <!DOCTYPE HTML>
|
|
205
|
+
| <html>
|
|
206
|
+
| <head>
|
|
207
|
+
| <body>
|
|
208
|
+
| "X"
|
|
209
|
+
|
|
210
|
+
#data
|
|
211
|
+
<!doctypehtml><scrIPt type=text/x-foobar;baz>X</SCRipt
|
|
212
|
+
#errors
|
|
213
|
+
No space after literal DOCTYPE.
|
|
214
|
+
Unexpected EOF in (end) tag name
|
|
215
|
+
#document
|
|
216
|
+
| <!DOCTYPE html>
|
|
217
|
+
| <html>
|
|
218
|
+
| <head>
|
|
219
|
+
| <script>
|
|
220
|
+
| type="text/x-foobar;baz"
|
|
221
|
+
| "X"
|
|
222
|
+
| <body>
|
|
223
|
+
|
|
224
|
+
#data
|
|
225
|
+
&
|
|
226
|
+
#errors
|
|
227
|
+
No doctype.
|
|
228
|
+
#document
|
|
229
|
+
| <html>
|
|
230
|
+
| <head>
|
|
231
|
+
| <body>
|
|
232
|
+
| "&"
|
|
233
|
+
|
|
234
|
+
#data
|
|
235
|
+
&#
|
|
236
|
+
#errors
|
|
237
|
+
No doctype.
|
|
238
|
+
Unfinished numeric entity.
|
|
239
|
+
#document
|
|
240
|
+
| <html>
|
|
241
|
+
| <head>
|
|
242
|
+
| <body>
|
|
243
|
+
| "&#"
|
|
244
|
+
|
|
245
|
+
#data
|
|
246
|
+
&#X
|
|
247
|
+
#errors
|
|
248
|
+
No doctype.
|
|
249
|
+
Unfinished hexadecimal entity.
|
|
250
|
+
#document
|
|
251
|
+
| <html>
|
|
252
|
+
| <head>
|
|
253
|
+
| <body>
|
|
254
|
+
| "&#X"
|
|
255
|
+
|
|
256
|
+
#data
|
|
257
|
+
&#x
|
|
258
|
+
#errors
|
|
259
|
+
No doctype.
|
|
260
|
+
Unfinished hexadecimal entity.
|
|
261
|
+
#document
|
|
262
|
+
| <html>
|
|
263
|
+
| <head>
|
|
264
|
+
| <body>
|
|
265
|
+
| "&#x"
|
|
266
|
+
|
|
267
|
+
#data
|
|
268
|
+
-
|
|
269
|
+
#errors
|
|
270
|
+
No doctype.
|
|
271
|
+
Numeric entity didn't end with ;
|
|
272
|
+
#document
|
|
273
|
+
| <html>
|
|
274
|
+
| <head>
|
|
275
|
+
| <body>
|
|
276
|
+
| "-"
|
|
277
|
+
|
|
278
|
+
#data
|
|
279
|
+
&x-test
|
|
280
|
+
#errors
|
|
281
|
+
No doctype.
|
|
282
|
+
Unfinished named entity.
|
|
283
|
+
#document
|
|
284
|
+
| <html>
|
|
285
|
+
| <head>
|
|
286
|
+
| <body>
|
|
287
|
+
| "&x-test"
|
|
288
|
+
|
|
289
|
+
#data
|
|
290
|
+
<!doctypehtml><p><li>
|
|
291
|
+
#errors
|
|
292
|
+
No space after literal DOCTYPE.
|
|
293
|
+
#document
|
|
294
|
+
| <!DOCTYPE html>
|
|
295
|
+
| <html>
|
|
296
|
+
| <head>
|
|
297
|
+
| <body>
|
|
298
|
+
| <p>
|
|
299
|
+
| <li>
|
|
300
|
+
|
|
301
|
+
#data
|
|
302
|
+
<!doctypeHTML><p><dt>
|
|
303
|
+
#errors
|
|
304
|
+
No space after literal DOCTYPE.
|
|
305
|
+
#document
|
|
306
|
+
| <!DOCTYPE HTML>
|
|
307
|
+
| <html>
|
|
308
|
+
| <head>
|
|
309
|
+
| <body>
|
|
310
|
+
| <p>
|
|
311
|
+
| <dt>
|
|
312
|
+
|
|
313
|
+
#data
|
|
314
|
+
<!doctypehtmL><p><dd>
|
|
315
|
+
#errors
|
|
316
|
+
No space after literal DOCTYPE.
|
|
317
|
+
#document
|
|
318
|
+
| <!DOCTYPE htmL>
|
|
319
|
+
| <html>
|
|
320
|
+
| <head>
|
|
321
|
+
| <body>
|
|
322
|
+
| <p>
|
|
323
|
+
| <dd>
|
|
324
|
+
|
|
325
|
+
#data
|
|
326
|
+
<!doctypehtml><p><form>
|
|
327
|
+
#errors
|
|
328
|
+
No space after literal DOCTYPE.
|
|
329
|
+
Unexpected EOF.
|
|
330
|
+
#document
|
|
331
|
+
| <!DOCTYPE html>
|
|
332
|
+
| <html>
|
|
333
|
+
| <head>
|
|
334
|
+
| <body>
|
|
335
|
+
| <p>
|
|
336
|
+
| <form>
|
|
337
|
+
|
|
338
|
+
#data
|
|
339
|
+
<!DOCTYPE HTML><p><b><i><u></p> <p>X
|
|
340
|
+
#errors
|
|
341
|
+
Unexpected end tag </p>.
|
|
342
|
+
Unexpected end EOF. Missing closing tags.
|
|
343
|
+
#document
|
|
344
|
+
| <!DOCTYPE HTML>
|
|
345
|
+
| <html>
|
|
346
|
+
| <head>
|
|
347
|
+
| <body>
|
|
348
|
+
| <p>
|
|
349
|
+
| <b>
|
|
350
|
+
| <i>
|
|
351
|
+
| <u>
|
|
352
|
+
| <b>
|
|
353
|
+
| <i>
|
|
354
|
+
| <u>
|
|
355
|
+
| " "
|
|
356
|
+
| <p>
|
|
357
|
+
| "X"
|
|
358
|
+
|
|
359
|
+
#data
|
|
360
|
+
<!DOCTYPE HTML><p></P>X
|
|
361
|
+
#errors
|
|
362
|
+
#document
|
|
363
|
+
| <!DOCTYPE HTML>
|
|
364
|
+
| <html>
|
|
365
|
+
| <head>
|
|
366
|
+
| <body>
|
|
367
|
+
| <p>
|
|
368
|
+
| "X"
|
|
369
|
+
|
|
370
|
+
#data
|
|
371
|
+
&
|
|
372
|
+
#errors
|
|
373
|
+
No doctype.
|
|
374
|
+
No closing ; for the entity.
|
|
375
|
+
#document
|
|
376
|
+
| <html>
|
|
377
|
+
| <head>
|
|
378
|
+
| <body>
|
|
379
|
+
| "&"
|
|
380
|
+
|
|
381
|
+
#data
|
|
382
|
+
&AMp;
|
|
383
|
+
#errors
|
|
384
|
+
No doctype.
|
|
385
|
+
Invalid entity.
|
|
386
|
+
#document
|
|
387
|
+
| <html>
|
|
388
|
+
| <head>
|
|
389
|
+
| <body>
|
|
390
|
+
| "&AMp;"
|
|
391
|
+
|
|
392
|
+
#data
|
|
393
|
+
<!DOCTYPE HTML><html><head></head><body><thisISasillyTESTelementNameToMakeSureCrazyTagNamesArePARSEDcorrectLY>
|
|
394
|
+
#errors
|
|
395
|
+
Unexpected end of file.
|
|
396
|
+
#document
|
|
397
|
+
| <!DOCTYPE HTML>
|
|
398
|
+
| <html>
|
|
399
|
+
| <head>
|
|
400
|
+
| <body>
|
|
401
|
+
| <thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly>
|
|
402
|
+
|
|
403
|
+
#data
|
|
404
|
+
<!DOCTYPE HTML>X</body>X
|
|
405
|
+
#errors
|
|
406
|
+
Unexpected non-space characters in the after body phase.
|
|
407
|
+
#document
|
|
408
|
+
| <!DOCTYPE HTML>
|
|
409
|
+
| <html>
|
|
410
|
+
| <head>
|
|
411
|
+
| <body>
|
|
412
|
+
| "XX"
|
|
413
|
+
|
|
414
|
+
#data
|
|
415
|
+
<!DOCTYPE HTML><!-- X
|
|
416
|
+
#errors
|
|
417
|
+
Unexpected end of file in comment.
|
|
418
|
+
#document
|
|
419
|
+
| <!DOCTYPE HTML>
|
|
420
|
+
| <!-- X -->
|
|
421
|
+
| <html>
|
|
422
|
+
| <head>
|
|
423
|
+
| <body>
|
|
424
|
+
|
|
425
|
+
#data
|
|
426
|
+
<!DOCTYPE HTML><table><caption>test TEST</caption><td>test
|
|
427
|
+
#errors
|
|
428
|
+
Unexpected <td> in table body phase.
|
|
429
|
+
Unexpected end of file.
|
|
430
|
+
#document
|
|
431
|
+
| <!DOCTYPE HTML>
|
|
432
|
+
| <html>
|
|
433
|
+
| <head>
|
|
434
|
+
| <body>
|
|
435
|
+
| <table>
|
|
436
|
+
| <caption>
|
|
437
|
+
| "test TEST"
|
|
438
|
+
| <tbody>
|
|
439
|
+
| <tr>
|
|
440
|
+
| <td>
|
|
441
|
+
| "test"
|
|
442
|
+
|
|
443
|
+
#data
|
|
444
|
+
<!DOCTYPE HTML><select><option><optgroup>
|
|
445
|
+
#errors
|
|
446
|
+
Unexpected end of file. Missing closing tags.
|
|
447
|
+
#document
|
|
448
|
+
| <!DOCTYPE HTML>
|
|
449
|
+
| <html>
|
|
450
|
+
| <head>
|
|
451
|
+
| <body>
|
|
452
|
+
| <select>
|
|
453
|
+
| <option>
|
|
454
|
+
| <optgroup>
|
|
455
|
+
|
|
456
|
+
#data
|
|
457
|
+
<!DOCTYPE HTML><select><optgroup><option></optgroup><option><select><option>
|
|
458
|
+
#errors
|
|
459
|
+
Unexpected start tag <select> in <select>.
|
|
460
|
+
Unexpected start tag <option>.
|
|
461
|
+
#document
|
|
462
|
+
| <!DOCTYPE HTML>
|
|
463
|
+
| <html>
|
|
464
|
+
| <head>
|
|
465
|
+
| <body>
|
|
466
|
+
| <select>
|
|
467
|
+
| <optgroup>
|
|
468
|
+
| <option>
|
|
469
|
+
| <option>
|
|
470
|
+
|
|
471
|
+
#data
|
|
472
|
+
<!DOCTYPE HTML><select><optgroup><option><optgroup>
|
|
473
|
+
#errors
|
|
474
|
+
Unexpected end of file. Missing closing tags.
|
|
475
|
+
#document
|
|
476
|
+
| <!DOCTYPE HTML>
|
|
477
|
+
| <html>
|
|
478
|
+
| <head>
|
|
479
|
+
| <body>
|
|
480
|
+
| <select>
|
|
481
|
+
| <optgroup>
|
|
482
|
+
| <option>
|
|
483
|
+
| <optgroup>
|
|
484
|
+
|
|
485
|
+
#data
|
|
486
|
+
<!DOCTYPE HTML><font><input><input></font>
|
|
487
|
+
#errors
|
|
488
|
+
#document
|
|
489
|
+
| <!DOCTYPE HTML>
|
|
490
|
+
| <html>
|
|
491
|
+
| <head>
|
|
492
|
+
| <body>
|
|
493
|
+
| <font>
|
|
494
|
+
| <input>
|
|
495
|
+
| <input>
|
|
496
|
+
|
|
497
|
+
#data
|
|
498
|
+
<!DOCTYPE HTML><!-- XXX - XXX -->
|
|
499
|
+
#errors
|
|
500
|
+
#document
|
|
501
|
+
| <!DOCTYPE HTML>
|
|
502
|
+
| <!-- XXX - XXX -->
|
|
503
|
+
| <html>
|
|
504
|
+
| <head>
|
|
505
|
+
| <body>
|
|
506
|
+
|
|
507
|
+
#data
|
|
508
|
+
<!DOCTYPE HTML><!-- XXX - XXX
|
|
509
|
+
#errors
|
|
510
|
+
Unexpected EOF in comment.
|
|
511
|
+
#document
|
|
512
|
+
| <!DOCTYPE HTML>
|
|
513
|
+
| <!-- XXX - XXX -->
|
|
514
|
+
| <html>
|
|
515
|
+
| <head>
|
|
516
|
+
| <body>
|
|
517
|
+
|
|
518
|
+
#data
|
|
519
|
+
<!DOCTYPE HTML><!-- XXX - XXX - XXX -->
|
|
520
|
+
#errors
|
|
521
|
+
#document
|
|
522
|
+
| <!DOCTYPE HTML>
|
|
523
|
+
| <!-- XXX - XXX - XXX -->
|
|
524
|
+
| <html>
|
|
525
|
+
| <head>
|
|
526
|
+
| <body>
|
|
527
|
+
|
|
528
|
+
#data
|
|
529
|
+
<isindex test=x name=x>
|
|
530
|
+
#errors
|
|
531
|
+
No doctype
|
|
532
|
+
<isindex> is not ok!
|
|
533
|
+
#document
|
|
534
|
+
| <html>
|
|
535
|
+
| <head>
|
|
536
|
+
| <body>
|
|
537
|
+
| <form>
|
|
538
|
+
| <hr>
|
|
539
|
+
| <p>
|
|
540
|
+
| <label>
|
|
541
|
+
| "This is a searchable index. Insert your search keywords here: "
|
|
542
|
+
| <input>
|
|
543
|
+
| name="isindex"
|
|
544
|
+
| test="x"
|
|
545
|
+
| <hr>
|
|
546
|
+
|
|
547
|
+
#data
|
|
548
|
+
test
|
|
549
|
+
test
|
|
550
|
+
#errors
|
|
551
|
+
No doctype
|
|
552
|
+
#document
|
|
553
|
+
| <html>
|
|
554
|
+
| <head>
|
|
555
|
+
| <body>
|
|
556
|
+
| "test
|
|
557
|
+
test"
|
|
558
|
+
|
|
559
|
+
#data
|
|
560
|
+
<p><b><i><u></p>
|
|
561
|
+
<p>X
|
|
562
|
+
#errors
|
|
563
|
+
No doctype
|
|
564
|
+
Unexpected end tag p.
|
|
565
|
+
Unexpected EOF.
|
|
566
|
+
#document
|
|
567
|
+
| <html>
|
|
568
|
+
| <head>
|
|
569
|
+
| <body>
|
|
570
|
+
| <p>
|
|
571
|
+
| <b>
|
|
572
|
+
| <i>
|
|
573
|
+
| <u>
|
|
574
|
+
| <b>
|
|
575
|
+
| <i>
|
|
576
|
+
| <u>
|
|
577
|
+
| "
|
|
578
|
+
"
|
|
579
|
+
| <p>
|
|
580
|
+
| "X"
|
|
581
|
+
|
|
582
|
+
#data
|
|
583
|
+
<!DOCTYPE HTML><body><title>test</body></title>
|
|
584
|
+
#errors
|
|
585
|
+
Unexpected start tag that belongs in the head.
|
|
586
|
+
#document
|
|
587
|
+
| <!DOCTYPE HTML>
|
|
588
|
+
| <html>
|
|
589
|
+
| <head>
|
|
590
|
+
| <title>
|
|
591
|
+
| "test</body>"
|
|
592
|
+
| <body>
|
|
593
|
+
|
|
594
|
+
#data
|
|
595
|
+
<!DOCTYPE HTML><body><title>X</title><meta name=z><link rel=foo><style>
|
|
596
|
+
x { content:"</style" } </style>
|
|
597
|
+
#errors
|
|
598
|
+
Unexpected start tag that belongs in head. <title>
|
|
599
|
+
#document
|
|
600
|
+
| <!DOCTYPE HTML>
|
|
601
|
+
| <html>
|
|
602
|
+
| <head>
|
|
603
|
+
| <title>
|
|
604
|
+
| "X"
|
|
605
|
+
| <body>
|
|
606
|
+
| <meta>
|
|
607
|
+
| name="z"
|
|
608
|
+
| <link>
|
|
609
|
+
| rel="foo"
|
|
610
|
+
| <style>
|
|
611
|
+
| "
|
|
612
|
+
x { content:"</style" } "
|
|
613
|
+
|
|
614
|
+
#data
|
|
615
|
+
<!DOCTYPE HTML><select><optgroup></optgroup></select>
|
|
616
|
+
#errors
|
|
617
|
+
#document
|
|
618
|
+
| <!DOCTYPE HTML>
|
|
619
|
+
| <html>
|
|
620
|
+
| <head>
|
|
621
|
+
| <body>
|
|
622
|
+
| <select>
|
|
623
|
+
| <optgroup>
|
|
624
|
+
|
|
625
|
+
#data
|
|
626
|
+
|
|
627
|
+
|
|
628
|
+
#errors
|
|
629
|
+
No doctype.
|
|
630
|
+
#document
|
|
631
|
+
| <html>
|
|
632
|
+
| <head>
|
|
633
|
+
| <body>
|
|
634
|
+
|
|
635
|
+
#data
|
|
636
|
+
<!DOCTYPE HTML> <html>
|
|
637
|
+
#errors
|
|
638
|
+
#document
|
|
639
|
+
| <!DOCTYPE HTML>
|
|
640
|
+
| <html>
|
|
641
|
+
| <head>
|
|
642
|
+
| <body>
|
|
643
|
+
|
|
644
|
+
#data
|
|
645
|
+
<!DOCTYPE HTML><script>
|
|
646
|
+
</script> <title>x</title> </head>
|
|
647
|
+
#errors
|
|
648
|
+
#document
|
|
649
|
+
| <!DOCTYPE HTML>
|
|
650
|
+
| <html>
|
|
651
|
+
| <head>
|
|
652
|
+
| <script>
|
|
653
|
+
| "
|
|
654
|
+
"
|
|
655
|
+
| " "
|
|
656
|
+
| <title>
|
|
657
|
+
| "x"
|
|
658
|
+
| " "
|
|
659
|
+
| <body>
|
|
660
|
+
|
|
661
|
+
#data
|
|
662
|
+
<!DOCTYPE HTML><html><body><html id=x>
|
|
663
|
+
#errors
|
|
664
|
+
duplicate html start tag
|
|
665
|
+
#document
|
|
666
|
+
| <!DOCTYPE HTML>
|
|
667
|
+
| <html>
|
|
668
|
+
| id="x"
|
|
669
|
+
| <head>
|
|
670
|
+
| <body>
|
|
671
|
+
|
|
672
|
+
#data
|
|
673
|
+
<!DOCTYPE HTML>X</body><html id="x">
|
|
674
|
+
#errors
|
|
675
|
+
Unexpected html start tag in the after body phase.
|
|
676
|
+
html needs to be the first start tag.
|
|
677
|
+
#document
|
|
678
|
+
| <!DOCTYPE HTML>
|
|
679
|
+
| <html>
|
|
680
|
+
| id="x"
|
|
681
|
+
| <head>
|
|
682
|
+
| <body>
|
|
683
|
+
| "X"
|
|
684
|
+
|
|
685
|
+
#data
|
|
686
|
+
<!DOCTYPE HTML><head><html id=x>
|
|
687
|
+
#errors
|
|
688
|
+
html start tag too late
|
|
689
|
+
#document
|
|
690
|
+
| <!DOCTYPE HTML>
|
|
691
|
+
| <html>
|
|
692
|
+
| id="x"
|
|
693
|
+
| <head>
|
|
694
|
+
| <body>
|
|
695
|
+
|
|
696
|
+
#data
|
|
697
|
+
<!DOCTYPE HTML>X</html>X
|
|
698
|
+
#errors
|
|
699
|
+
Unexpected non-space characters. Expected end of file.
|
|
700
|
+
Unexpected non-space characters in after body phase. Expected end of file.
|
|
701
|
+
#document
|
|
702
|
+
| <!DOCTYPE HTML>
|
|
703
|
+
| <html>
|
|
704
|
+
| <head>
|
|
705
|
+
| <body>
|
|
706
|
+
| "XX"
|
|
707
|
+
|
|
708
|
+
#data
|
|
709
|
+
<!DOCTYPE HTML>X</html>
|
|
710
|
+
#errors
|
|
711
|
+
#document
|
|
712
|
+
| <!DOCTYPE HTML>
|
|
713
|
+
| <html>
|
|
714
|
+
| <head>
|
|
715
|
+
| <body>
|
|
716
|
+
| "X "
|
|
717
|
+
|
|
718
|
+
#data
|
|
719
|
+
<!DOCTYPE HTML>X</html><p>X
|
|
720
|
+
#errors
|
|
721
|
+
Unexpected start tag <p> in trailing end phase.
|
|
722
|
+
Unexpected start tag <p> in after body phase.
|
|
723
|
+
#document
|
|
724
|
+
| <!DOCTYPE HTML>
|
|
725
|
+
| <html>
|
|
726
|
+
| <head>
|
|
727
|
+
| <body>
|
|
728
|
+
| "X"
|
|
729
|
+
| <p>
|
|
730
|
+
| "X"
|
|
731
|
+
|
|
732
|
+
#data
|
|
733
|
+
<!DOCTYPE HTML>X<p/x/y/z>
|
|
734
|
+
#errors
|
|
735
|
+
Solidus (/) incorrectly placed.
|
|
736
|
+
Solidus (/) incorrectly placed.
|
|
737
|
+
Solidus (/) incorrectly placed.
|
|
738
|
+
#document
|
|
739
|
+
| <!DOCTYPE HTML>
|
|
740
|
+
| <html>
|
|
741
|
+
| <head>
|
|
742
|
+
| <body>
|
|
743
|
+
| "X"
|
|
744
|
+
| <p>
|
|
745
|
+
| x=""
|
|
746
|
+
| y=""
|
|
747
|
+
| z=""
|
|
748
|
+
|
|
749
|
+
#data
|
|
750
|
+
<!DOCTYPE HTML><!--x--
|
|
751
|
+
#errors
|
|
752
|
+
Unexpected end of file in comment.
|
|
753
|
+
#document
|
|
754
|
+
| <!DOCTYPE HTML>
|
|
755
|
+
| <!-- x -->
|
|
756
|
+
| <html>
|
|
757
|
+
| <head>
|
|
758
|
+
| <body>
|
|
759
|
+
|
|
760
|
+
#data
|
|
761
|
+
<!DOCTYPE HTML><table><tr><td></p></table>
|
|
762
|
+
#errors
|
|
763
|
+
Unexpected </p> end tag.
|
|
764
|
+
#document
|
|
765
|
+
| <!DOCTYPE HTML>
|
|
766
|
+
| <html>
|
|
767
|
+
| <head>
|
|
768
|
+
| <body>
|
|
769
|
+
| <table>
|
|
770
|
+
| <tbody>
|
|
771
|
+
| <tr>
|
|
772
|
+
| <td>
|
|
773
|
+
| <p>
|