JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
delay editable content loading 'til css is ready
[peach-html5-editor.git] / parser_tests.coffee
1 # Copyright (c) 2006-2015 Jason Woofenden, James Graham, Geoffrey Sneddon, and
2 # other contributors
3 #
4 # The values in the following data structure were extracted from the project at
5 # https://github.com/html5lib/html5lib-tests which has the following notice:
6 #
7 # Copyright (c) 2006-2013 James Graham, Geoffrey Sneddon, and
8 # other contributors
9 #
10 # Permission is hereby granted, free of charge, to any person obtaining
11 # a copy of this software and associated documentation files (the
12 # "Software"), to deal in the Software without restriction, including
13 # without limitation the rights to use, copy, modify, merge, publish,
14 # distribute, sublicense, and/or sell copies of the Software, and to
15 # permit persons to whom the Software is furnished to do so, subject to
16 # the following conditions:
17 #
18 # The above copyright notice and this permission notice shall be
19 # included in all copies or substantial portions of the Software.
20 #
21 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 #
29 # The rest of this file was written by Jason Woofenden in 2015-2016, and is
30 # released under the terms of the CC0 license:
31 # http://creativecommons.org/publicdomain/zero/1.0/ and into the public domain
32
33 tests = [
34         {
35                 name: "adoption01.dat #1"
36                 html: "<a><p></a></p>"
37                 errors: 2
38                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|     <p>\n|       <a>\n"
39         }, {
40                 name: "adoption01.dat #2"
41                 html: "<a>1<p>2</a>3</p>"
42                 errors: 2
43                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       \"1\"\n|     <p>\n|       <a>\n|         \"2\"\n|       \"3\"\n"
44         }, {
45                 name: "adoption01.dat #3"
46                 html: "<a>1<button>2</a>3</button>"
47                 errors: 2
48                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       \"1\"\n|     <button>\n|       <a>\n|         \"2\"\n|       \"3\"\n"
49         }, {
50                 name: "adoption01.dat #4"
51                 html: "<a>1<b>2</a>3</b>"
52                 errors: 2
53                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       \"1\"\n|       <b>\n|         \"2\"\n|     <b>\n|       \"3\"\n"
54         }, {
55                 name: "adoption01.dat #5"
56                 html: "<a>1<div>2<div>3</a>4</div>5</div>"
57                 errors: 3
58                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       \"1\"\n|     <div>\n|       <a>\n|         \"2\"\n|       <div>\n|         <a>\n|           \"3\"\n|         \"4\"\n|       \"5\"\n"
59         }, {
60                 name: "adoption01.dat #6"
61                 html: "<table><a>1<p>2</a>3</p>"
62                 errors: 10
63                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       \"1\"\n|     <p>\n|       <a>\n|         \"2\"\n|       \"3\"\n|     <table>\n"
64         }, {
65                 name: "adoption01.dat #7"
66                 html: "<b><b><a><p></a>"
67                 errors: 3
68                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <b>\n|         <a>\n|         <p>\n|           <a>\n"
69         }, {
70                 name: "adoption01.dat #8"
71                 html: "<b><a><b><p></a>"
72                 errors: 3
73                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <a>\n|         <b>\n|       <b>\n|         <p>\n|           <a>\n"
74         }, {
75                 name: "adoption01.dat #9"
76                 html: "<a><b><b><p></a>"
77                 errors: 3
78                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       <b>\n|         <b>\n|     <b>\n|       <b>\n|         <p>\n|           <a>\n"
79         }, {
80                 name: "adoption01.dat #10"
81                 html: "<p>1<s id=\"A\">2<b id=\"B\">3</p>4</s>5</b>"
82                 errors: 3
83                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       \"1\"\n|       <s>\n|         id=\"A\"\n|         \"2\"\n|         <b>\n|           id=\"B\"\n|           \"3\"\n|     <s>\n|       id=\"A\"\n|       <b>\n|         id=\"B\"\n|         \"4\"\n|     <b>\n|       id=\"B\"\n|       \"5\"\n"
84         }, {
85                 name: "adoption01.dat #11"
86                 html: "<table><a>1<td>2</td>3</table>"
87                 errors: 5
88                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       \"1\"\n|     <a>\n|       \"3\"\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             \"2\"\n"
89         }, {
90                 name: "adoption01.dat #12"
91                 html: "<table>A<td>B</td>C</table>"
92                 errors: 4
93                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"AC\"\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             \"B\"\n"
94         }, {
95                 name: "adoption01.dat #13"
96                 html: "<a><svg><tr><input></a>"
97                 errors: 3
98                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       <svg svg>\n|         <svg tr>\n|           <svg input>\n"
99         }, {
100                 name: "adoption01.dat #14"
101                 html: "<div><a><b><div><div><div><div><div><div><div><div><div><div></a>"
102                 errors: 10
103                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <a>\n|         <b>\n|       <b>\n|         <div>\n|           <a>\n|           <div>\n|             <a>\n|             <div>\n|               <a>\n|               <div>\n|                 <a>\n|                 <div>\n|                   <a>\n|                   <div>\n|                     <a>\n|                     <div>\n|                       <a>\n|                       <div>\n|                         <a>\n|                           <div>\n|                             <div>\n"
104         }, {
105                 name: "adoption01.dat #15"
106                 html: "<div><a><b><u><i><code><div></a>"
107                 errors: 3
108                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <a>\n|         <b>\n|           <u>\n|             <i>\n|               <code>\n|       <u>\n|         <i>\n|           <code>\n|             <div>\n|               <a>\n"
109         }, {
110                 name: "adoption01.dat #16"
111                 html: "<b><b><b><b>x</b></b></b></b>y"
112                 errors: 1
113                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <b>\n|         <b>\n|           <b>\n|             \"x\"\n|     \"y\"\n"
114         }, {
115                 name: "adoption01.dat #17"
116                 html: "<p><b><b><b><b><p>x"
117                 errors: 3
118                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <b>\n|         <b>\n|           <b>\n|             <b>\n|     <p>\n|       <b>\n|         <b>\n|           <b>\n|             \"x\"\n"
119         }, {
120                 name: "adoption02.dat #1"
121                 html: "<b>1<i>2<p>3</b>4"
122                 errors: 3
123                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       \"1\"\n|       <i>\n|         \"2\"\n|     <i>\n|       <p>\n|         <b>\n|           \"3\"\n|         \"4\"\n"
124         }, {
125                 name: "adoption02.dat #2"
126                 html: "<a><div><style></style><address><a>"
127                 errors: 5
128                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|     <div>\n|       <a>\n|         <style>\n|       <address>\n|         <a>\n|         <a>\n"
129         }, {
130                 name: "comments01.dat #1"
131                 html: "FOO<!-- BAR -->BAZ"
132                 errors: 1
133                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <!--  BAR  -->\n|     \"BAZ\"\n"
134         }, {
135                 name: "comments01.dat #2"
136                 html: "FOO<!-- BAR --!>BAZ"
137                 errors: 2
138                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <!--  BAR  -->\n|     \"BAZ\"\n"
139         }, {
140                 name: "comments01.dat #3"
141                 html: "FOO<!-- BAR --   >BAZ"
142                 errors: 3
143                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <!--  BAR --   >BAZ -->\n"
144         }, {
145                 name: "comments01.dat #4"
146                 html: "FOO<!-- BAR -- <QUX> -- MUX -->BAZ"
147                 errors: 3
148                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <!--  BAR -- <QUX> -- MUX  -->\n|     \"BAZ\"\n"
149         }, {
150                 name: "comments01.dat #5"
151                 html: "FOO<!-- BAR -- <QUX> -- MUX --!>BAZ"
152                 errors: 4
153                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <!--  BAR -- <QUX> -- MUX  -->\n|     \"BAZ\"\n"
154         }, {
155                 name: "comments01.dat #6"
156                 html: "FOO<!-- BAR -- <QUX> -- MUX -- >BAZ"
157                 errors: 5
158                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <!--  BAR -- <QUX> -- MUX -- >BAZ -->\n"
159         }, {
160                 name: "comments01.dat #7"
161                 html: "FOO<!---->BAZ"
162                 errors: 1
163                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <!--  -->\n|     \"BAZ\"\n"
164         }, {
165                 name: "comments01.dat #8"
166                 html: "FOO<!--->BAZ"
167                 errors: 2
168                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <!--  -->\n|     \"BAZ\"\n"
169         }, {
170                 name: "comments01.dat #9"
171                 html: "FOO<!-->BAZ"
172                 errors: 2
173                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <!--  -->\n|     \"BAZ\"\n"
174         }, {
175                 name: "comments01.dat #10"
176                 html: "<?xml version=\"1.0\">Hi"
177                 errors: 2
178                 expected: "| <!-- ?xml version=\"1.0\" -->\n| <html>\n|   <head>\n|   <body>\n|     \"Hi\"\n"
179         }, {
180                 name: "comments01.dat #11"
181                 html: "<?xml version=\"1.0\">"
182                 errors: 2
183                 expected: "| <!-- ?xml version=\"1.0\" -->\n| <html>\n|   <head>\n|   <body>\n"
184         }, {
185                 name: "comments01.dat #12"
186                 html: "<?xml version"
187                 errors: 2
188                 expected: "| <!-- ?xml version -->\n| <html>\n|   <head>\n|   <body>\n"
189         }, {
190                 name: "comments01.dat #13"
191                 html: "FOO<!----->BAZ"
192                 errors: 2
193                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <!-- - -->\n|     \"BAZ\"\n"
194         }, {
195                 name: "comments01.dat #14"
196                 html: "<html><!-- comment --><title>Comment before head</title>"
197                 errors: 1
198                 expected: "| <html>\n|   <!--  comment  -->\n|   <head>\n|     <title>\n|       \"Comment before head\"\n|   <body>\n"
199         }, {
200                 name: "doctype01.dat #1"
201                 html: "<!DOCTYPE html>Hello"
202                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
203         }, {
204                 name: "doctype01.dat #2"
205                 html: "<!dOctYpE HtMl>Hello"
206                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
207         }, {
208                 name: "doctype01.dat #3"
209                 html: "<!DOCTYPEhtml>Hello"
210                 errors: 1
211                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
212         }, {
213                 name: "doctype01.dat #4"
214                 html: "<!DOCTYPE>Hello"
215                 errors: 3
216                 expected: "| <!DOCTYPE >\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
217         }, {
218                 name: "doctype01.dat #5"
219                 html: "<!DOCTYPE >Hello"
220                 errors: 2
221                 expected: "| <!DOCTYPE >\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
222         }, {
223                 name: "doctype01.dat #6"
224                 html: "<!DOCTYPE potato>Hello"
225                 errors: 1
226                 expected: "| <!DOCTYPE potato>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
227         }, {
228                 name: "doctype01.dat #7"
229                 html: "<!DOCTYPE potato >Hello"
230                 errors: 1
231                 expected: "| <!DOCTYPE potato>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
232         }, {
233                 name: "doctype01.dat #8"
234                 html: "<!DOCTYPE potato taco>Hello"
235                 errors: 2
236                 expected: "| <!DOCTYPE potato>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
237         }, {
238                 name: "doctype01.dat #9"
239                 html: "<!DOCTYPE potato taco \"ddd>Hello"
240                 errors: 2
241                 expected: "| <!DOCTYPE potato>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
242         }, {
243                 name: "doctype01.dat #10"
244                 html: "<!DOCTYPE potato sYstEM>Hello"
245                 errors: 2
246                 expected: "| <!DOCTYPE potato>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
247         }, {
248                 name: "doctype01.dat #11"
249                 html: "<!DOCTYPE potato sYstEM    >Hello"
250                 errors: 2
251                 expected: "| <!DOCTYPE potato>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
252         }, {
253                 name: "doctype01.dat #12"
254                 html: "<!DOCTYPE   potato       sYstEM  ggg>Hello"
255                 errors: 2
256                 expected: "| <!DOCTYPE potato>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
257         }, {
258                 name: "doctype01.dat #13"
259                 html: "<!DOCTYPE potato SYSTEM taco  >Hello"
260                 errors: 2
261                 expected: "| <!DOCTYPE potato>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
262         }, {
263                 name: "doctype01.dat #14"
264                 html: "<!DOCTYPE potato SYSTEM 'taco\"'>Hello"
265                 errors: 1
266                 expected: "| <!DOCTYPE potato \"\" \"taco\"\">\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
267         }, {
268                 name: "doctype01.dat #15"
269                 html: "<!DOCTYPE potato SYSTEM \"taco\">Hello"
270                 errors: 1
271                 expected: "| <!DOCTYPE potato \"\" \"taco\">\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
272         }, {
273                 name: "doctype01.dat #16"
274                 html: "<!DOCTYPE potato SYSTEM \"tai'co\">Hello"
275                 errors: 1
276                 expected: "| <!DOCTYPE potato \"\" \"tai'co\">\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
277         }, {
278                 name: "doctype01.dat #17"
279                 html: "<!DOCTYPE potato SYSTEMtaco \"ddd\">Hello"
280                 errors: 2
281                 expected: "| <!DOCTYPE potato>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
282         }, {
283                 name: "doctype01.dat #18"
284                 html: "<!DOCTYPE potato grass SYSTEM taco>Hello"
285                 errors: 2
286                 expected: "| <!DOCTYPE potato>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
287         }, {
288                 name: "doctype01.dat #19"
289                 html: "<!DOCTYPE potato pUbLIc>Hello"
290                 errors: 2
291                 expected: "| <!DOCTYPE potato>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
292         }, {
293                 name: "doctype01.dat #20"
294                 html: "<!DOCTYPE potato pUbLIc >Hello"
295                 errors: 2
296                 expected: "| <!DOCTYPE potato>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
297         }, {
298                 name: "doctype01.dat #21"
299                 html: "<!DOCTYPE potato pUbLIcgoof>Hello"
300                 errors: 2
301                 expected: "| <!DOCTYPE potato>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
302         }, {
303                 name: "doctype01.dat #22"
304                 html: "<!DOCTYPE potato PUBLIC goof>Hello"
305                 errors: 2
306                 expected: "| <!DOCTYPE potato>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
307         }, {
308                 name: "doctype01.dat #23"
309                 html: "<!DOCTYPE potato PUBLIC \"go'of\">Hello"
310                 errors: 1
311                 expected: "| <!DOCTYPE potato \"go'of\" \"\">\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
312         }, {
313                 name: "doctype01.dat #24"
314                 html: "<!DOCTYPE potato PUBLIC 'go'of'>Hello"
315                 errors: 2
316                 expected: "| <!DOCTYPE potato \"go\" \"\">\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
317         }, {
318                 name: "doctype01.dat #25"
319                 html: "<!DOCTYPE potato PUBLIC 'go:hh   of' >Hello"
320                 errors: 1
321                 expected: "| <!DOCTYPE potato \"go:hh   of\" \"\">\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
322         }, {
323                 name: "doctype01.dat #26"
324                 html: "<!DOCTYPE potato PUBLIC \"W3C-//dfdf\" SYSTEM ggg>Hello"
325                 errors: 2
326                 expected: "| <!DOCTYPE potato \"W3C-//dfdf\" \"\">\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
327         }, {
328                 name: "doctype01.dat #27"
329                 html: "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\n   \"http://www.w3.org/TR/html4/strict.dtd\">Hello"
330                 expected: "| <!DOCTYPE html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
331         }, {
332                 name: "doctype01.dat #28"
333                 html: "<!DOCTYPE ...>Hello"
334                 errors: 1
335                 expected: "| <!DOCTYPE ...>\n| <html>\n|   <head>\n|   <body>\n|     \"Hello\"\n"
336         }, {
337                 name: "doctype01.dat #29"
338                 html: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"
339                 errors: 1
340                 expected: "| <!DOCTYPE html \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n| <html>\n|   <head>\n|   <body>\n"
341         }, {
342                 name: "doctype01.dat #30"
343                 html: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\"\n\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">"
344                 errors: 1
345                 expected: "| <!DOCTYPE html \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">\n| <html>\n|   <head>\n|   <body>\n"
346         }, {
347                 name: "doctype01.dat #31"
348                 html: "<!DOCTYPE root-element [SYSTEM OR PUBLIC FPI] \"uri\" [ \n<!-- internal declarations -->\n]>"
349                 errors: 2
350                 expected: "| <!DOCTYPE root-element>\n| <html>\n|   <head>\n|   <body>\n|     \"]>\"\n"
351         }, {
352                 name: "doctype01.dat #32"
353                 html: "<!DOCTYPE html PUBLIC\n  \"-//WAPFORUM//DTD XHTML Mobile 1.0//EN\"\n    \"http://www.wapforum.org/DTD/xhtml-mobile10.dtd\">"
354                 errors: 1
355                 expected: "| <!DOCTYPE html \"-//WAPFORUM//DTD XHTML Mobile 1.0//EN\" \"http://www.wapforum.org/DTD/xhtml-mobile10.dtd\">\n| <html>\n|   <head>\n|   <body>\n"
356         }, {
357                 name: "doctype01.dat #33"
358                 html: "<!DOCTYPE HTML SYSTEM \"http://www.w3.org/DTD/HTML4-strict.dtd\"><body><b>Mine!</b></body>"
359                 errors: 1
360                 expected: "| <!DOCTYPE html \"\" \"http://www.w3.org/DTD/HTML4-strict.dtd\">\n| <html>\n|   <head>\n|   <body>\n|     <b>\n|       \"Mine!\"\n"
361         }, {
362                 name: "doctype01.dat #34"
363                 html: "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\"http://www.w3.org/TR/html4/strict.dtd\">"
364                 errors: 1
365                 expected: "| <!DOCTYPE html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n| <html>\n|   <head>\n|   <body>\n"
366         }, {
367                 name: "doctype01.dat #35"
368                 html: "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"'http://www.w3.org/TR/html4/strict.dtd'>"
369                 errors: 1
370                 expected: "| <!DOCTYPE html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n| <html>\n|   <head>\n|   <body>\n"
371         }, {
372                 name: "doctype01.dat #36"
373                 html: "<!DOCTYPE HTML PUBLIC\"-//W3C//DTD HTML 4.01//EN\"'http://www.w3.org/TR/html4/strict.dtd'>"
374                 errors: 2
375                 expected: "| <!DOCTYPE html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n| <html>\n|   <head>\n|   <body>\n"
376         }, {
377                 name: "doctype01.dat #37"
378                 html: "<!DOCTYPE HTML PUBLIC'-//W3C//DTD HTML 4.01//EN''http://www.w3.org/TR/html4/strict.dtd'>"
379                 errors: 2
380                 expected: "| <!DOCTYPE html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n| <html>\n|   <head>\n|   <body>\n"
381         }, {
382                 name: "domjs-unsafe.dat #1"
383                 html: "<svg><![CDATA[foo\nbar]]>"
384                 errors: 2
385                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"foo\nbar\"\n"
386         }, {
387                 name: "domjs-unsafe.dat #2"
388                 html: "<svg><![CDATA[foo\rbar]]>"
389                 errors: 2
390                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"foo\nbar\"\n"
391         }, {
392                 name: "domjs-unsafe.dat #3"
393                 html: "<svg><![CDATA[foo\r\nbar]]>"
394                 errors: 2
395                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"foo\nbar\"\n"
396         }, {
397                 name: "domjs-unsafe.dat #4"
398                 html: "<script>a='\u0000'</script>"
399                 errors: 2
400                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"a='�'\"\n|   <body>\n"
401         }, {
402                 name: "domjs-unsafe.dat #5"
403                 html: "<script type=\"data\"><!--\u0000</script>"
404                 errors: 2
405                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!--�\"\n|   <body>\n"
406         }, {
407                 name: "domjs-unsafe.dat #6"
408                 html: "<script type=\"data\"><!--foo\u0000</script>"
409                 errors: 2
410                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!--foo�\"\n|   <body>\n"
411         }, {
412                 name: "domjs-unsafe.dat #7"
413                 html: "<script type=\"data\"><!-- foo-\u0000</script>"
414                 errors: 2
415                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!-- foo-�\"\n|   <body>\n"
416         }, {
417                 name: "domjs-unsafe.dat #8"
418                 html: "<script type=\"data\"><!-- foo--\u0000</script>"
419                 errors: 2
420                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!-- foo--�\"\n|   <body>\n"
421         }, {
422                 name: "domjs-unsafe.dat #9"
423                 html: "<script type=\"data\"><!-- foo-"
424                 errors: 3
425                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!-- foo-\"\n|   <body>\n"
426         }, {
427                 name: "domjs-unsafe.dat #10"
428                 html: "<script type=\"data\"><!-- foo-<</script>"
429                 errors: 1
430                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!-- foo-<\"\n|   <body>\n"
431         }, {
432                 name: "domjs-unsafe.dat #11"
433                 html: "<script type=\"data\"><!-- foo-<S"
434                 errors: 3
435                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!-- foo-<S\"\n|   <body>\n"
436         }, {
437                 name: "domjs-unsafe.dat #12"
438                 html: "<script type=\"data\"><!-- foo-</SCRIPT>"
439                 errors: 1
440                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!-- foo-\"\n|   <body>\n"
441         }, {
442                 name: "domjs-unsafe.dat #13"
443                 html: "<script type=\"data\"><!--<p></script>"
444                 errors: 1
445                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!--<p>\"\n|   <body>\n"
446         }, {
447                 name: "domjs-unsafe.dat #14"
448                 html: "<script type=\"data\"><!--<script></script></script>"
449                 errors: 1
450                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!--<script></script>\"\n|   <body>\n"
451         }, {
452                 name: "domjs-unsafe.dat #15"
453                 html: "<script type=\"data\"><!--<script>\u0000</script></script>"
454                 errors: 2
455                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!--<script>�</script>\"\n|   <body>\n"
456         }, {
457                 name: "domjs-unsafe.dat #16"
458                 html: "<script type=\"data\"><!--<script>-\u0000</script></script>"
459                 errors: 2
460                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!--<script>-�</script>\"\n|   <body>\n"
461         }, {
462                 name: "domjs-unsafe.dat #17"
463                 html: "<script type=\"data\"><!--<script>--\u0000</script></script>"
464                 errors: 2
465                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!--<script>--�</script>\"\n|   <body>\n"
466         }, {
467                 name: "domjs-unsafe.dat #18"
468                 html: "<script type=\"data\"><!--<script>---</script></script>"
469                 errors: 1
470                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!--<script>---</script>\"\n|   <body>\n"
471         }, {
472                 name: "domjs-unsafe.dat #19"
473                 html: "<script type=\"data\"><!--<script></scrip></SCRIPT></script>"
474                 errors: 1
475                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!--<script></scrip></SCRIPT>\"\n|   <body>\n"
476         }, {
477                 name: "domjs-unsafe.dat #20"
478                 html: "<script type=\"data\"><!--<script></scrip </SCRIPT></script>"
479                 errors: 1
480                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!--<script></scrip </SCRIPT>\"\n|   <body>\n"
481         }, {
482                 name: "domjs-unsafe.dat #21"
483                 html: "<script type=\"data\"><!--<script></scrip/</SCRIPT></script>"
484                 errors: 1
485                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!--<script></scrip/</SCRIPT>\"\n|   <body>\n"
486         }, {
487                 name: "domjs-unsafe.dat #22"
488                 html: "<script type=\"data\"></scrip/></script>"
489                 errors: 1
490                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"</scrip/>\"\n|   <body>\n"
491         }, {
492                 name: "domjs-unsafe.dat #23"
493                 html: "<script type=\"data\"></scrip ></script>"
494                 errors: 1
495                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"</scrip >\"\n|   <body>\n"
496         }, {
497                 name: "domjs-unsafe.dat #24"
498                 html: "<script type=\"data\"><!--</scrip></script>"
499                 errors: 1
500                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!--</scrip>\"\n|   <body>\n"
501         }, {
502                 name: "domjs-unsafe.dat #25"
503                 html: "<script type=\"data\"><!--</scrip </script>"
504                 errors: 1
505                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!--</scrip \"\n|   <body>\n"
506         }, {
507                 name: "domjs-unsafe.dat #26"
508                 html: "<script type=\"data\"><!--</scrip/</script>"
509                 errors: 1
510                 expected: "| <html>\n|   <head>\n|     <script>\n|       type=\"data\"\n|       \"<!--</scrip/\"\n|   <body>\n"
511         }, {
512                 name: "domjs-unsafe.dat #27"
513                 html: "<!DOCTYPE html><!DOCTYPE html>"
514                 errors: 1
515                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n"
516         }, {
517                 name: "domjs-unsafe.dat #28"
518                 html: "<html><!DOCTYPE html>"
519                 errors: 2
520                 expected: "| <html>\n|   <head>\n|   <body>\n"
521         }, {
522                 name: "domjs-unsafe.dat #29"
523                 html: "<html><head><!DOCTYPE html></head>"
524                 errors: 2
525                 expected: "| <html>\n|   <head>\n|   <body>\n"
526         }, {
527                 name: "domjs-unsafe.dat #30"
528                 html: "<html><head></head><!DOCTYPE html>"
529                 errors: 2
530                 expected: "| <html>\n|   <head>\n|   <body>\n"
531         }, {
532                 name: "domjs-unsafe.dat #31"
533                 html: "<body></body><!DOCTYPE html>"
534                 errors: 2
535                 expected: "| <html>\n|   <head>\n|   <body>\n"
536         }, {
537                 name: "domjs-unsafe.dat #32"
538                 html: "<table><!DOCTYPE html></table>"
539                 errors: 2
540                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n"
541         }, {
542                 name: "domjs-unsafe.dat #33"
543                 html: "<select><!DOCTYPE html></select>"
544                 errors: 2
545                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n"
546         }, {
547                 name: "domjs-unsafe.dat #34"
548                 html: "<table><colgroup><!DOCTYPE html></colgroup></table>"
549                 errors: 2
550                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <colgroup>\n"
551         }, {
552                 name: "domjs-unsafe.dat #35"
553                 html: "<table><colgroup><!--test--></colgroup></table>"
554                 errors: 1
555                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <colgroup>\n|         <!-- test -->\n"
556         }, {
557                 name: "domjs-unsafe.dat #36"
558                 html: "<table><colgroup><html></colgroup></table>"
559                 errors: 2
560                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <colgroup>\n"
561         }, {
562                 name: "domjs-unsafe.dat #37"
563                 html: "<table><colgroup> foo</colgroup></table>"
564                 errors: 5
565                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"foo\"\n|     <table>\n|       <colgroup>\n|         \" \"\n"
566         }, {
567                 name: "domjs-unsafe.dat #38"
568                 html: "<select><!--test--></select>"
569                 errors: 1
570                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <!-- test -->\n"
571         }, {
572                 name: "domjs-unsafe.dat #39"
573                 html: "<select><html></select>"
574                 errors: 2
575                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n"
576         }, {
577                 name: "domjs-unsafe.dat #40"
578                 html: "<frameset><html></frameset>"
579                 errors: 2
580                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
581         }, {
582                 name: "domjs-unsafe.dat #41"
583                 html: "<frameset></frameset><html>"
584                 errors: 2
585                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
586         }, {
587                 name: "domjs-unsafe.dat #42"
588                 html: "<frameset></frameset><!DOCTYPE html>"
589                 errors: 2
590                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
591         }, {
592                 name: "domjs-unsafe.dat #43"
593                 html: "<html><body></body></html><!DOCTYPE html>"
594                 errors: 2
595                 expected: "| <html>\n|   <head>\n|   <body>\n"
596         }, {
597                 name: "domjs-unsafe.dat #44"
598                 html: "<svg><!DOCTYPE html></svg>"
599                 errors: 2
600                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n"
601         }, {
602                 name: "domjs-unsafe.dat #45"
603                 html: "<svg><font></font></svg>"
604                 errors: 1
605                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg font>\n"
606         }, {
607                 name: "domjs-unsafe.dat #46"
608                 html: "<svg><font id=foo></font></svg>"
609                 errors: 1
610                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg font>\n|         id=\"foo\"\n"
611         }, {
612                 name: "domjs-unsafe.dat #47"
613                 html: "<svg><font size=4></font></svg>"
614                 errors: 3
615                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|     <font>\n|       size=\"4\"\n"
616         }, {
617                 name: "domjs-unsafe.dat #48"
618                 html: "<svg><font color=red></font></svg>"
619                 errors: 3
620                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|     <font>\n|       color=\"red\"\n"
621         }, {
622                 name: "domjs-unsafe.dat #49"
623                 html: "<svg><font font=sans></font></svg>"
624                 errors: 1
625                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg font>\n|         font=\"sans\"\n"
626         }, {
627                 name: "entities01.dat #1"
628                 html: "FOO&gt;BAR"
629                 errors: 1
630                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO>BAR\"\n"
631         }, {
632                 name: "entities01.dat #2"
633                 html: "FOO&gtBAR"
634                 errors: 2
635                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO>BAR\"\n"
636         }, {
637                 name: "entities01.dat #3"
638                 html: "FOO&gt BAR"
639                 errors: 2
640                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO> BAR\"\n"
641         }, {
642                 name: "entities01.dat #4"
643                 html: "FOO&gt;;;BAR"
644                 errors: 1
645                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO>;;BAR\"\n"
646         }, {
647                 name: "entities01.dat #5"
648                 html: "I'm &notit; I tell you"
649                 errors: 2
650                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"I'm ¬it; I tell you\"\n"
651         }, {
652                 name: "entities01.dat #6"
653                 html: "I'm &notin; I tell you"
654                 errors: 1
655                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"I'm ∉ I tell you\"\n"
656         }, {
657                 name: "entities01.dat #7"
658                 html: "FOO& BAR"
659                 errors: 1
660                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO& BAR\"\n"
661         }, {
662                 name: "entities01.dat #8"
663                 html: "FOO&<BAR>"
664                 errors: 2
665                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO&\"\n|     <bar>\n"
666         }, {
667                 name: "entities01.dat #9"
668                 html: "FOO&&&&gt;BAR"
669                 errors: 1
670                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO&&&>BAR\"\n"
671         }, {
672                 name: "entities01.dat #10"
673                 html: "FOO&#41;BAR"
674                 errors: 1
675                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO)BAR\"\n"
676         }, {
677                 name: "entities01.dat #11"
678                 html: "FOO&#x41;BAR"
679                 errors: 1
680                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOABAR\"\n"
681         }, {
682                 name: "entities01.dat #12"
683                 html: "FOO&#X41;BAR"
684                 errors: 1
685                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOABAR\"\n"
686         }, {
687                 name: "entities01.dat #13"
688                 html: "FOO&#BAR"
689                 errors: 2
690                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO&#BAR\"\n"
691         }, {
692                 name: "entities01.dat #14"
693                 html: "FOO&#ZOO"
694                 errors: 2
695                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO&#ZOO\"\n"
696         }, {
697                 name: "entities01.dat #15"
698                 html: "FOO&#xBAR"
699                 errors: 2
700                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOºR\"\n"
701         }, {
702                 name: "entities01.dat #16"
703                 html: "FOO&#xZOO"
704                 errors: 2
705                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO&#xZOO\"\n"
706         }, {
707                 name: "entities01.dat #17"
708                 html: "FOO&#XZOO"
709                 errors: 2
710                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO&#XZOO\"\n"
711         }, {
712                 name: "entities01.dat #18"
713                 html: "FOO&#41BAR"
714                 errors: 2
715                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO)BAR\"\n"
716         }, {
717                 name: "entities01.dat #19"
718                 html: "FOO&#x41BAR"
719                 errors: 2
720                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO䆺R\"\n"
721         }, {
722                 name: "entities01.dat #20"
723                 html: "FOO&#x41ZOO"
724                 errors: 2
725                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOAZOO\"\n"
726         }, {
727                 name: "entities01.dat #21"
728                 html: "FOO&#x0000;ZOO"
729                 errors: 2
730                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO�ZOO\"\n"
731         }, {
732                 name: "entities01.dat #22"
733                 html: "FOO&#x0078;ZOO"
734                 errors: 1
735                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOxZOO\"\n"
736         }, {
737                 name: "entities01.dat #23"
738                 html: "FOO&#x0079;ZOO"
739                 errors: 1
740                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOyZOO\"\n"
741         }, {
742                 name: "entities01.dat #24"
743                 html: "FOO&#x0080;ZOO"
744                 errors: 2
745                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO€ZOO\"\n"
746         }, {
747                 name: "entities01.dat #25"
748                 html: "FOO&#x0081;ZOO"
749                 errors: 2
750                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\81ZOO\"\n"
751         }, {
752                 name: "entities01.dat #26"
753                 html: "FOO&#x0082;ZOO"
754                 errors: 2
755                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO‚ZOO\"\n"
756         }, {
757                 name: "entities01.dat #27"
758                 html: "FOO&#x0083;ZOO"
759                 errors: 2
760                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOƒZOO\"\n"
761         }, {
762                 name: "entities01.dat #28"
763                 html: "FOO&#x0084;ZOO"
764                 errors: 2
765                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO„ZOO\"\n"
766         }, {
767                 name: "entities01.dat #29"
768                 html: "FOO&#x0085;ZOO"
769                 errors: 2
770                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO…ZOO\"\n"
771         }, {
772                 name: "entities01.dat #30"
773                 html: "FOO&#x0086;ZOO"
774                 errors: 2
775                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO†ZOO\"\n"
776         }, {
777                 name: "entities01.dat #31"
778                 html: "FOO&#x0087;ZOO"
779                 errors: 2
780                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO‡ZOO\"\n"
781         }, {
782                 name: "entities01.dat #32"
783                 html: "FOO&#x0088;ZOO"
784                 errors: 2
785                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOˆZOO\"\n"
786         }, {
787                 name: "entities01.dat #33"
788                 html: "FOO&#x0089;ZOO"
789                 errors: 2
790                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO‰ZOO\"\n"
791         }, {
792                 name: "entities01.dat #34"
793                 html: "FOO&#x008A;ZOO"
794                 errors: 2
795                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOŠZOO\"\n"
796         }, {
797                 name: "entities01.dat #35"
798                 html: "FOO&#x008B;ZOO"
799                 errors: 2
800                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO‹ZOO\"\n"
801         }, {
802                 name: "entities01.dat #36"
803                 html: "FOO&#x008C;ZOO"
804                 errors: 2
805                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOŒZOO\"\n"
806         }, {
807                 name: "entities01.dat #37"
808                 html: "FOO&#x008D;ZOO"
809                 errors: 2
810                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\8dZOO\"\n"
811         }, {
812                 name: "entities01.dat #38"
813                 html: "FOO&#x008E;ZOO"
814                 errors: 2
815                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOŽZOO\"\n"
816         }, {
817                 name: "entities01.dat #39"
818                 html: "FOO&#x008F;ZOO"
819                 errors: 2
820                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\8fZOO\"\n"
821         }, {
822                 name: "entities01.dat #40"
823                 html: "FOO&#x0090;ZOO"
824                 errors: 2
825                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\90ZOO\"\n"
826         }, {
827                 name: "entities01.dat #41"
828                 html: "FOO&#x0091;ZOO"
829                 errors: 2
830                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO‘ZOO\"\n"
831         }, {
832                 name: "entities01.dat #42"
833                 html: "FOO&#x0092;ZOO"
834                 errors: 2
835                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO’ZOO\"\n"
836         }, {
837                 name: "entities01.dat #43"
838                 html: "FOO&#x0093;ZOO"
839                 errors: 2
840                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO“ZOO\"\n"
841         }, {
842                 name: "entities01.dat #44"
843                 html: "FOO&#x0094;ZOO"
844                 errors: 2
845                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO”ZOO\"\n"
846         }, {
847                 name: "entities01.dat #45"
848                 html: "FOO&#x0095;ZOO"
849                 errors: 2
850                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO•ZOO\"\n"
851         }, {
852                 name: "entities01.dat #46"
853                 html: "FOO&#x0096;ZOO"
854                 errors: 2
855                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO–ZOO\"\n"
856         }, {
857                 name: "entities01.dat #47"
858                 html: "FOO&#x0097;ZOO"
859                 errors: 2
860                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO—ZOO\"\n"
861         }, {
862                 name: "entities01.dat #48"
863                 html: "FOO&#x0098;ZOO"
864                 errors: 2
865                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO˜ZOO\"\n"
866         }, {
867                 name: "entities01.dat #49"
868                 html: "FOO&#x0099;ZOO"
869                 errors: 2
870                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO™ZOO\"\n"
871         }, {
872                 name: "entities01.dat #50"
873                 html: "FOO&#x009A;ZOO"
874                 errors: 2
875                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOšZOO\"\n"
876         }, {
877                 name: "entities01.dat #51"
878                 html: "FOO&#x009B;ZOO"
879                 errors: 2
880                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO›ZOO\"\n"
881         }, {
882                 name: "entities01.dat #52"
883                 html: "FOO&#x009C;ZOO"
884                 errors: 2
885                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOœZOO\"\n"
886         }, {
887                 name: "entities01.dat #53"
888                 html: "FOO&#x009D;ZOO"
889                 errors: 2
890                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\9dZOO\"\n"
891         }, {
892                 name: "entities01.dat #54"
893                 html: "FOO&#x009E;ZOO"
894                 errors: 2
895                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOžZOO\"\n"
896         }, {
897                 name: "entities01.dat #55"
898                 html: "FOO&#x009F;ZOO"
899                 errors: 2
900                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOŸZOO\"\n"
901         }, {
902                 name: "entities01.dat #56"
903                 html: "FOO&#x00A0;ZOO"
904                 errors: 1
905                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO ZOO\"\n"
906         }, {
907                 name: "entities01.dat #57"
908                 html: "FOO&#xD7FF;ZOO"
909                 errors: 1
910                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO퟿ZOO\"\n"
911         }, {
912                 name: "entities01.dat #58"
913                 html: "FOO&#xD800;ZOO"
914                 errors: 2
915                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO�ZOO\"\n"
916         }, {
917                 name: "entities01.dat #59"
918                 html: "FOO&#xD801;ZOO"
919                 errors: 2
920                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO�ZOO\"\n"
921         }, {
922                 name: "entities01.dat #60"
923                 html: "FOO&#xDFFE;ZOO"
924                 errors: 2
925                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO�ZOO\"\n"
926         }, {
927                 name: "entities01.dat #61"
928                 html: "FOO&#xDFFF;ZOO"
929                 errors: 2
930                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO�ZOO\"\n"
931         }, {
932                 name: "entities01.dat #62"
933                 html: "FOO&#xE000;ZOO"
934                 errors: 1
935                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOOZOO\"\n"
936         }, {
937                 name: "entities01.dat #63"
938                 html: "FOO&#x10FFFE;ZOO"
939                 errors: 2
940                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO􏿾ZOO\"\n"
941         }, {
942                 name: "entities01.dat #64"
943                 html: "FOO&#x1087D4;ZOO"
944                 errors: 1
945                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO􈟔ZOO\"\n"
946         }, {
947                 name: "entities01.dat #65"
948                 html: "FOO&#x10FFFF;ZOO"
949                 errors: 2
950                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO􏿿ZOO\"\n"
951         }, {
952                 name: "entities01.dat #66"
953                 html: "FOO&#x110000;ZOO"
954                 errors: 2
955                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO�ZOO\"\n"
956         }, {
957                 name: "entities01.dat #67"
958                 html: "FOO&#xFFFFFF;ZOO"
959                 errors: 2
960                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO�ZOO\"\n"
961         }, {
962                 name: "entities01.dat #68"
963                 html: "FOO&#11111111111"
964                 errors: 3
965                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO�\"\n"
966         }, {
967                 name: "entities01.dat #69"
968                 html: "FOO&#1111111111"
969                 errors: 3
970                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO�\"\n"
971         }, {
972                 name: "entities01.dat #70"
973                 html: "FOO&#111111111111"
974                 errors: 3
975                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO�\"\n"
976         }, {
977                 name: "entities01.dat #71"
978                 html: "FOO&#11111111111ZOO"
979                 errors: 2
980                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO�ZOO\"\n"
981         }, {
982                 name: "entities01.dat #72"
983                 html: "FOO&#1111111111ZOO"
984                 errors: 2
985                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO�ZOO\"\n"
986         }, {
987                 name: "entities01.dat #73"
988                 html: "FOO&#111111111111ZOO"
989                 errors: 2
990                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO�ZOO\"\n"
991         }, {
992                 name: "entities02.dat #1"
993                 html: "<div bar=\"ZZ&gt;YY\"></div>"
994                 errors: 1
995                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ>YY\"\n"
996         }, {
997                 name: "entities02.dat #2"
998                 html: "<div bar=\"ZZ&\"></div>"
999                 errors: 1
1000                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ&\"\n"
1001         }, {
1002                 name: "entities02.dat #3"
1003                 html: "<div bar='ZZ&'></div>"
1004                 errors: 1
1005                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ&\"\n"
1006         }, {
1007                 name: "entities02.dat #4"
1008                 html: "<div bar=ZZ&></div>"
1009                 errors: 1
1010                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ&\"\n"
1011         }, {
1012                 name: "entities02.dat #5"
1013                 html: "<div bar=\"ZZ&gt=YY\"></div>"
1014                 errors: 2
1015                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ&gt=YY\"\n"
1016         }, {
1017                 name: "entities02.dat #6"
1018                 html: "<div bar=\"ZZ&gt0YY\"></div>"
1019                 errors: 1
1020                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ&gt0YY\"\n"
1021         }, {
1022                 name: "entities02.dat #7"
1023                 html: "<div bar=\"ZZ&gt9YY\"></div>"
1024                 errors: 1
1025                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ&gt9YY\"\n"
1026         }, {
1027                 name: "entities02.dat #8"
1028                 html: "<div bar=\"ZZ&gtaYY\"></div>"
1029                 errors: 1
1030                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ&gtaYY\"\n"
1031         }, {
1032                 name: "entities02.dat #9"
1033                 html: "<div bar=\"ZZ&gtZYY\"></div>"
1034                 errors: 1
1035                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ&gtZYY\"\n"
1036         }, {
1037                 name: "entities02.dat #10"
1038                 html: "<div bar=\"ZZ&gt YY\"></div>"
1039                 errors: 2
1040                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ> YY\"\n"
1041         }, {
1042                 name: "entities02.dat #11"
1043                 html: "<div bar=\"ZZ&gt\"></div>"
1044                 errors: 2
1045                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ>\"\n"
1046         }, {
1047                 name: "entities02.dat #12"
1048                 html: "<div bar='ZZ&gt'></div>"
1049                 errors: 2
1050                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ>\"\n"
1051         }, {
1052                 name: "entities02.dat #13"
1053                 html: "<div bar=ZZ&gt></div>"
1054                 errors: 2
1055                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ>\"\n"
1056         }, {
1057                 name: "entities02.dat #14"
1058                 html: "<div bar=\"ZZ&pound_id=23\"></div>"
1059                 errors: 2
1060                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ£_id=23\"\n"
1061         }, {
1062                 name: "entities02.dat #15"
1063                 html: "<div bar=\"ZZ&prod_id=23\"></div>"
1064                 errors: 1
1065                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ&prod_id=23\"\n"
1066         }, {
1067                 name: "entities02.dat #16"
1068                 html: "<div bar=\"ZZ&pound;_id=23\"></div>"
1069                 errors: 1
1070                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ£_id=23\"\n"
1071         }, {
1072                 name: "entities02.dat #17"
1073                 html: "<div bar=\"ZZ&prod;_id=23\"></div>"
1074                 errors: 1
1075                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ∏_id=23\"\n"
1076         }, {
1077                 name: "entities02.dat #18"
1078                 html: "<div bar=\"ZZ&pound=23\"></div>"
1079                 errors: 2
1080                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ&pound=23\"\n"
1081         }, {
1082                 name: "entities02.dat #19"
1083                 html: "<div bar=\"ZZ&prod=23\"></div>"
1084                 errors: 1
1085                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       bar=\"ZZ&prod=23\"\n"
1086         }, {
1087                 name: "entities02.dat #20"
1088                 html: "<div>ZZ&pound_id=23</div>"
1089                 errors: 2
1090                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"ZZ£_id=23\"\n"
1091         }, {
1092                 name: "entities02.dat #21"
1093                 html: "<div>ZZ&prod_id=23</div>"
1094                 errors: 1
1095                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"ZZ&prod_id=23\"\n"
1096         }, {
1097                 name: "entities02.dat #22"
1098                 html: "<div>ZZ&pound;_id=23</div>"
1099                 errors: 1
1100                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"ZZ£_id=23\"\n"
1101         }, {
1102                 name: "entities02.dat #23"
1103                 html: "<div>ZZ&prod;_id=23</div>"
1104                 errors: 1
1105                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"ZZ∏_id=23\"\n"
1106         }, {
1107                 name: "entities02.dat #24"
1108                 html: "<div>ZZ&pound=23</div>"
1109                 errors: 2
1110                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"ZZ£=23\"\n"
1111         }, {
1112                 name: "entities02.dat #25"
1113                 html: "<div>ZZ&prod=23</div>"
1114                 errors: 1
1115                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"ZZ&prod=23\"\n"
1116         }, {
1117                 name: "entities02.dat #26"
1118                 html: "<div>ZZ&AElig=</div>"
1119                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"ZZÆ=\"\n"
1120         }, {
1121                 name: "foreign-fragment.dat #1"
1122                 html: "<nobr>X"
1123                 errors: 3
1124                 fragment: "svg path"
1125                 expected: "| <svg nobr>\n|   \"X\"\n"
1126         }, {
1127                 name: "foreign-fragment.dat #2"
1128                 html: "<font color></font>X"
1129                 errors: 1
1130                 fragment: "svg path"
1131                 expected: "| <svg font>\n|   color=\"\"\n| \"X\"\n"
1132         }, {
1133                 name: "foreign-fragment.dat #3"
1134                 html: "<font></font>X"
1135                 fragment: "svg path"
1136                 expected: "| <svg font>\n| \"X\"\n"
1137         }, {
1138                 name: "foreign-fragment.dat #4"
1139                 html: "<g></path>X"
1140                 errors: 3
1141                 fragment: "svg path"
1142                 expected: "| <svg g>\n|   \"X\"\n"
1143         }, {
1144                 name: "foreign-fragment.dat #5"
1145                 html: "</path>X"
1146                 errors: 1
1147                 fragment: "svg path"
1148                 expected: "| \"X\"\n"
1149         }, {
1150                 name: "foreign-fragment.dat #6"
1151                 html: "</foreignObject>X"
1152                 errors: 1
1153                 fragment: "svg foreignObject"
1154                 expected: "| \"X\"\n"
1155         }, {
1156                 name: "foreign-fragment.dat #7"
1157                 html: "</desc>X"
1158                 errors: 1
1159                 fragment: "svg desc"
1160                 expected: "| \"X\"\n"
1161         }, {
1162                 name: "foreign-fragment.dat #8"
1163                 html: "</title>X"
1164                 errors: 1
1165                 fragment: "svg title"
1166                 expected: "| \"X\"\n"
1167         }, {
1168                 name: "foreign-fragment.dat #9"
1169                 html: "</svg>X"
1170                 errors: 1
1171                 fragment: "svg svg"
1172                 expected: "| \"X\"\n"
1173         }, {
1174                 name: "foreign-fragment.dat #10"
1175                 html: "</mfenced>X"
1176                 errors: 1
1177                 fragment: "math mfenced"
1178                 expected: "| \"X\"\n"
1179         }, {
1180                 name: "foreign-fragment.dat #11"
1181                 html: "</malignmark>X"
1182                 errors: 1
1183                 fragment: "math malignmark"
1184                 expected: "| \"X\"\n"
1185         }, {
1186                 name: "foreign-fragment.dat #12"
1187                 html: "</math>X"
1188                 errors: 1
1189                 fragment: "math math"
1190                 expected: "| \"X\"\n"
1191         }, {
1192                 name: "foreign-fragment.dat #13"
1193                 html: "</annotation-xml>X"
1194                 errors: 1
1195                 fragment: "math annotation-xml"
1196                 expected: "| \"X\"\n"
1197         }, {
1198                 name: "foreign-fragment.dat #14"
1199                 html: "</mtext>X"
1200                 errors: 1
1201                 fragment: "math mtext"
1202                 expected: "| \"X\"\n"
1203         }, {
1204                 name: "foreign-fragment.dat #15"
1205                 html: "</mi>X"
1206                 errors: 1
1207                 fragment: "math mi"
1208                 expected: "| \"X\"\n"
1209         }, {
1210                 name: "foreign-fragment.dat #16"
1211                 html: "</mo>X"
1212                 errors: 1
1213                 fragment: "math mo"
1214                 expected: "| \"X\"\n"
1215         }, {
1216                 name: "foreign-fragment.dat #17"
1217                 html: "</mn>X"
1218                 errors: 1
1219                 fragment: "math mn"
1220                 expected: "| \"X\"\n"
1221         }, {
1222                 name: "foreign-fragment.dat #18"
1223                 html: "</ms>X"
1224                 errors: 1
1225                 fragment: "math ms"
1226                 expected: "| \"X\"\n"
1227         }, {
1228                 name: "foreign-fragment.dat #19"
1229                 html: "<b></b><mglyph/><i></i><malignmark/><u></u><ms/>X"
1230                 errors: 3
1231                 fragment: "math ms"
1232                 expected: "| <b>\n| <math mglyph>\n| <i>\n| <math malignmark>\n| <u>\n| <ms>\n|   \"X\"\n"
1233         }, {
1234                 name: "foreign-fragment.dat #20"
1235                 html: "<malignmark></malignmark>"
1236                 fragment: "math ms"
1237                 expected: "| <math malignmark>\n"
1238         }, {
1239                 name: "foreign-fragment.dat #21"
1240                 html: "<div></div>"
1241                 fragment: "math ms"
1242                 expected: "| <div>\n"
1243         }, {
1244                 name: "foreign-fragment.dat #22"
1245                 html: "<figure></figure>"
1246                 fragment: "math ms"
1247                 expected: "| <figure>\n"
1248         }, {
1249                 name: "foreign-fragment.dat #23"
1250                 html: "<b></b><mglyph/><i></i><malignmark/><u></u><mn/>X"
1251                 errors: 3
1252                 fragment: "math mn"
1253                 expected: "| <b>\n| <math mglyph>\n| <i>\n| <math malignmark>\n| <u>\n| <mn>\n|   \"X\"\n"
1254         }, {
1255                 name: "foreign-fragment.dat #24"
1256                 html: "<malignmark></malignmark>"
1257                 fragment: "math mn"
1258                 expected: "| <math malignmark>\n"
1259         }, {
1260                 name: "foreign-fragment.dat #25"
1261                 html: "<div></div>"
1262                 fragment: "math mn"
1263                 expected: "| <div>\n"
1264         }, {
1265                 name: "foreign-fragment.dat #26"
1266                 html: "<figure></figure>"
1267                 fragment: "math mn"
1268                 expected: "| <figure>\n"
1269         }, {
1270                 name: "foreign-fragment.dat #27"
1271                 html: "<b></b><mglyph/><i></i><malignmark/><u></u><mo/>X"
1272                 errors: 3
1273                 fragment: "math mo"
1274                 expected: "| <b>\n| <math mglyph>\n| <i>\n| <math malignmark>\n| <u>\n| <mo>\n|   \"X\"\n"
1275         }, {
1276                 name: "foreign-fragment.dat #28"
1277                 html: "<malignmark></malignmark>"
1278                 fragment: "math mo"
1279                 expected: "| <math malignmark>\n"
1280         }, {
1281                 name: "foreign-fragment.dat #29"
1282                 html: "<div></div>"
1283                 fragment: "math mo"
1284                 expected: "| <div>\n"
1285         }, {
1286                 name: "foreign-fragment.dat #30"
1287                 html: "<figure></figure>"
1288                 fragment: "math mo"
1289                 expected: "| <figure>\n"
1290         }, {
1291                 name: "foreign-fragment.dat #31"
1292                 html: "<b></b><mglyph/><i></i><malignmark/><u></u><mi/>X"
1293                 errors: 3
1294                 fragment: "math mi"
1295                 expected: "| <b>\n| <math mglyph>\n| <i>\n| <math malignmark>\n| <u>\n| <mi>\n|   \"X\"\n"
1296         }, {
1297                 name: "foreign-fragment.dat #32"
1298                 html: "<malignmark></malignmark>"
1299                 fragment: "math mi"
1300                 expected: "| <math malignmark>\n"
1301         }, {
1302                 name: "foreign-fragment.dat #33"
1303                 html: "<div></div>"
1304                 fragment: "math mi"
1305                 expected: "| <div>\n"
1306         }, {
1307                 name: "foreign-fragment.dat #34"
1308                 html: "<figure></figure>"
1309                 fragment: "math mi"
1310                 expected: "| <figure>\n"
1311         }, {
1312                 name: "foreign-fragment.dat #35"
1313                 html: "<b></b><mglyph/><i></i><malignmark/><u></u><mtext/>X"
1314                 errors: 3
1315                 fragment: "math mtext"
1316                 expected: "| <b>\n| <math mglyph>\n| <i>\n| <math malignmark>\n| <u>\n| <mtext>\n|   \"X\"\n"
1317         }, {
1318                 name: "foreign-fragment.dat #36"
1319                 html: "<malignmark></malignmark>"
1320                 fragment: "math mtext"
1321                 expected: "| <math malignmark>\n"
1322         }, {
1323                 name: "foreign-fragment.dat #37"
1324                 html: "<div></div>"
1325                 fragment: "math mtext"
1326                 expected: "| <div>\n"
1327         }, {
1328                 name: "foreign-fragment.dat #38"
1329                 html: "<figure></figure>"
1330                 fragment: "math mtext"
1331                 expected: "| <figure>\n"
1332         }, {
1333                 name: "foreign-fragment.dat #39"
1334                 html: "<div></div>"
1335                 errors: 1
1336                 fragment: "math annotation-xml"
1337                 expected: "| <math div>\n"
1338         }, {
1339                 name: "foreign-fragment.dat #40"
1340                 html: "<figure></figure>"
1341                 fragment: "math annotation-xml"
1342                 expected: "| <math figure>\n"
1343         }, {
1344                 name: "foreign-fragment.dat #41"
1345                 html: "<div></div>"
1346                 errors: 1
1347                 fragment: "math math"
1348                 expected: "| <math div>\n"
1349         }, {
1350                 name: "foreign-fragment.dat #42"
1351                 html: "<figure></figure>"
1352                 fragment: "math math"
1353                 expected: "| <math figure>\n"
1354         }, {
1355                 name: "foreign-fragment.dat #43"
1356                 html: "<div></div>"
1357                 fragment: "svg foreignObject"
1358                 expected: "| <div>\n"
1359         }, {
1360                 name: "foreign-fragment.dat #44"
1361                 html: "<figure></figure>"
1362                 fragment: "svg foreignObject"
1363                 expected: "| <figure>\n"
1364         }, {
1365                 name: "foreign-fragment.dat #45"
1366                 html: "<div></div>"
1367                 fragment: "svg title"
1368                 expected: "| <div>\n"
1369         }, {
1370                 name: "foreign-fragment.dat #46"
1371                 html: "<figure></figure>"
1372                 fragment: "svg title"
1373                 expected: "| <figure>\n"
1374         }, {
1375                 name: "foreign-fragment.dat #47"
1376                 html: "<figure></figure>"
1377                 fragment: "svg desc"
1378                 expected: "| <figure>\n"
1379         }, {
1380                 name: "foreign-fragment.dat #48"
1381                 html: "<div><h1>X</h1></div>"
1382                 errors: 2
1383                 fragment: "svg svg"
1384                 expected: "| <svg div>\n|   <svg h1>\n|     \"X\"\n"
1385         }, {
1386                 name: "foreign-fragment.dat #49"
1387                 html: "<div></div>"
1388                 errors: 1
1389                 fragment: "svg svg"
1390                 expected: "| <svg div>\n"
1391         }, {
1392                 name: "foreign-fragment.dat #50"
1393                 html: "<div></div>"
1394                 fragment: "svg desc"
1395                 expected: "| <div>\n"
1396         }, {
1397                 name: "foreign-fragment.dat #51"
1398                 html: "<figure></figure>"
1399                 fragment: "svg desc"
1400                 expected: "| <figure>\n"
1401         }, {
1402                 name: "foreign-fragment.dat #52"
1403                 html: "<plaintext><foo>"
1404                 errors: 2
1405                 fragment: "svg desc"
1406                 expected: "| <plaintext>\n|   \"<foo>\"\n"
1407         }, {
1408                 name: "foreign-fragment.dat #53"
1409                 html: "<frameset>X"
1410                 errors: 1
1411                 fragment: "svg desc"
1412                 expected: "| \"X\"\n"
1413         }, {
1414                 name: "foreign-fragment.dat #54"
1415                 html: "<head>X"
1416                 errors: 1
1417                 fragment: "svg desc"
1418                 expected: "| \"X\"\n"
1419         }, {
1420                 name: "foreign-fragment.dat #55"
1421                 html: "<body>X"
1422                 errors: 1
1423                 fragment: "svg desc"
1424                 expected: "| \"X\"\n"
1425         }, {
1426                 name: "foreign-fragment.dat #56"
1427                 html: "<html>X"
1428                 errors: 1
1429                 fragment: "svg desc"
1430                 expected: "| \"X\"\n"
1431         }, {
1432                 name: "foreign-fragment.dat #57"
1433                 html: "<html class=\"foo\">X"
1434                 errors: 1
1435                 fragment: "svg desc"
1436                 expected: "| \"X\"\n"
1437         }, {
1438                 name: "foreign-fragment.dat #58"
1439                 html: "<body class=\"foo\">X"
1440                 errors: 1
1441                 fragment: "svg desc"
1442                 expected: "| \"X\"\n"
1443         }, {
1444                 name: "html5test-com.dat #1"
1445                 html: "<div<div>"
1446                 errors: 2
1447                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div<div>\n"
1448         }, {
1449                 name: "html5test-com.dat #2"
1450                 html: "<div foo<bar=''>"
1451                 errors: 3
1452                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       foo<bar=\"\"\n"
1453         }, {
1454                 name: "html5test-com.dat #3"
1455                 html: "<div foo=`bar`>"
1456                 errors: 4
1457                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       foo=\"`bar`\"\n"
1458         }, {
1459                 name: "html5test-com.dat #4"
1460                 html: "<div \\\"foo=''>"
1461                 errors: 3
1462                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \\\"foo=\"\"\n"
1463         }, {
1464                 name: "html5test-com.dat #5"
1465                 html: "<a href='\\nbar'></a>"
1466                 errors: 1
1467                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       href=\"\\nbar\"\n"
1468         }, {
1469                 name: "html5test-com.dat #6"
1470                 html: "<!DOCTYPE html>"
1471                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n"
1472         }, {
1473                 name: "html5test-com.dat #7"
1474                 html: "&lang;&rang;"
1475                 errors: 1
1476                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"⟨⟩\"\n"
1477         }, {
1478                 name: "html5test-com.dat #8"
1479                 html: "&apos;"
1480                 errors: 1
1481                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"'\"\n"
1482         }, {
1483                 name: "html5test-com.dat #9"
1484                 html: "&ImaginaryI;"
1485                 errors: 1
1486                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"ⅈ\"\n"
1487         }, {
1488                 name: "html5test-com.dat #10"
1489                 html: "&Kopf;"
1490                 errors: 1
1491                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"𝕂\"\n"
1492         }, {
1493                 name: "html5test-com.dat #11"
1494                 html: "&notinva;"
1495                 errors: 1
1496                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"∉\"\n"
1497         }, {
1498                 name: "html5test-com.dat #12"
1499                 html: "<?import namespace=\"foo\" implementation=\"#bar\">"
1500                 errors: 2
1501                 expected: "| <!-- ?import namespace=\"foo\" implementation=\"#bar\" -->\n| <html>\n|   <head>\n|   <body>\n"
1502         }, {
1503                 name: "html5test-com.dat #13"
1504                 html: "<!--foo--bar-->"
1505                 errors: 2
1506                 expected: "| <!-- foo--bar -->\n| <html>\n|   <head>\n|   <body>\n"
1507         }, {
1508                 name: "html5test-com.dat #14"
1509                 html: "<![CDATA[x]]>"
1510                 errors: 2
1511                 expected: "| <!-- [CDATA[x]] -->\n| <html>\n|   <head>\n|   <body>\n"
1512         }, {
1513                 name: "html5test-com.dat #15"
1514                 html: "<textarea><!--</textarea>--></textarea>"
1515                 errors: 2
1516                 expected: "| <html>\n|   <head>\n|   <body>\n|     <textarea>\n|       \"<!--\"\n|     \"-->\"\n"
1517         }, {
1518                 name: "html5test-com.dat #16"
1519                 html: "<textarea><!--</textarea>-->"
1520                 errors: 1
1521                 expected: "| <html>\n|   <head>\n|   <body>\n|     <textarea>\n|       \"<!--\"\n|     \"-->\"\n"
1522         }, {
1523                 name: "html5test-com.dat #17"
1524                 html: "<style><!--</style>--></style>"
1525                 errors: 2
1526                 expected: "| <html>\n|   <head>\n|     <style>\n|       \"<!--\"\n|   <body>\n|     \"-->\"\n"
1527         }, {
1528                 name: "html5test-com.dat #18"
1529                 html: "<style><!--</style>-->"
1530                 errors: 1
1531                 expected: "| <html>\n|   <head>\n|     <style>\n|       \"<!--\"\n|   <body>\n|     \"-->\"\n"
1532         }, {
1533                 name: "html5test-com.dat #19"
1534                 html: "<ul><li>A </li> <li>B</li></ul>"
1535                 errors: 1
1536                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ul>\n|       <li>\n|         \"A \"\n|       \" \"\n|       <li>\n|         \"B\"\n"
1537         }, {
1538                 name: "html5test-com.dat #20"
1539                 html: "<table><form><input type=hidden><input></form><div></div></table>"
1540                 errors: 8
1541                 expected: "| <html>\n|   <head>\n|   <body>\n|     <input>\n|     <div>\n|     <table>\n|       <form>\n|       <input>\n|         type=\"hidden\"\n"
1542         }, {
1543                 name: "html5test-com.dat #21"
1544                 html: "<i>A<b>B<p></i>C</b>D"
1545                 errors: 3
1546                 expected: "| <html>\n|   <head>\n|   <body>\n|     <i>\n|       \"A\"\n|       <b>\n|         \"B\"\n|     <b>\n|     <p>\n|       <b>\n|         <i>\n|         \"C\"\n|       \"D\"\n"
1547         }, {
1548                 name: "html5test-com.dat #22"
1549                 html: "<div></div>"
1550                 errors: 1
1551                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n"
1552         }, {
1553                 name: "html5test-com.dat #23"
1554                 html: "<svg></svg>"
1555                 errors: 1
1556                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n"
1557         }, {
1558                 name: "html5test-com.dat #24"
1559                 html: "<math></math>"
1560                 errors: 1
1561                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n"
1562         }, {
1563                 name: "inbody01.dat #1"
1564                 html: "<button>1</foo>"
1565                 errors: 3
1566                 expected: "| <html>\n|   <head>\n|   <body>\n|     <button>\n|       \"1\"\n"
1567         }, {
1568                 name: "inbody01.dat #2"
1569                 html: "<foo>1<p>2</foo>"
1570                 errors: 3
1571                 expected: "| <html>\n|   <head>\n|   <body>\n|     <foo>\n|       \"1\"\n|       <p>\n|         \"2\"\n"
1572         }, {
1573                 name: "inbody01.dat #3"
1574                 html: "<dd>1</foo>"
1575                 errors: 2
1576                 expected: "| <html>\n|   <head>\n|   <body>\n|     <dd>\n|       \"1\"\n"
1577         }, {
1578                 name: "inbody01.dat #4"
1579                 html: "<foo>1<dd>2</foo>"
1580                 errors: 3
1581                 expected: "| <html>\n|   <head>\n|   <body>\n|     <foo>\n|       \"1\"\n|       <dd>\n|         \"2\"\n"
1582         }, {
1583                 name: "isindex.dat #1"
1584                 html: "<isindex>"
1585                 errors: 2
1586                 expected: "| <html>\n|   <head>\n|   <body>\n|     <form>\n|       <hr>\n|       <label>\n|         \"This is a searchable index. Enter search keywords: \"\n|         <input>\n|           name=\"isindex\"\n|       <hr>\n"
1587         }, {
1588                 name: "isindex.dat #2"
1589                 html: "<isindex name=\"A\" action=\"B\" prompt=\"C\" foo=\"D\">"
1590                 errors: 2
1591                 expected: "| <html>\n|   <head>\n|   <body>\n|     <form>\n|       action=\"B\"\n|       <hr>\n|       <label>\n|         \"C\"\n|         <input>\n|           foo=\"D\"\n|           name=\"isindex\"\n|       <hr>\n"
1592         }, {
1593                 name: "isindex.dat #3"
1594                 html: "<form><isindex>"
1595                 errors: 3
1596                 expected: "| <html>\n|   <head>\n|   <body>\n|     <form>\n"
1597         }, {
1598                 name: "main-element.dat #1"
1599                 html: "<!doctype html><p>foo<main>bar<p>baz"
1600                 errors: 1
1601                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       \"foo\"\n|     <main>\n|       \"bar\"\n|       <p>\n|         \"baz\"\n"
1602         }, {
1603                 name: "main-element.dat #2"
1604                 html: "<!doctype html><main><p>foo</main>bar"
1605                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <main>\n|       <p>\n|         \"foo\"\n|     \"bar\"\n"
1606         }, {
1607                 name: "main-element.dat #3"
1608                 html: "<!DOCTYPE html>xxx<svg><x><g><a><main><b>"
1609                 errors: 2
1610                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"xxx\"\n|     <svg svg>\n|       <svg x>\n|         <svg g>\n|           <svg a>\n|     <main>\n|       <b>\n"
1611         }, {
1612                 name: "math.dat #1"
1613                 html: "<math><tr><td><mo><tr>"
1614                 fragment: "td"
1615                 expected: "| <math math>\n|   <math tr>\n|     <math td>\n|       <math mo>\n"
1616         }, {
1617                 name: "math.dat #2"
1618                 html: "<math><tr><td><mo><tr>"
1619                 fragment: "tr"
1620                 expected: "| <math math>\n|   <math tr>\n|     <math td>\n|       <math mo>\n"
1621         }, {
1622                 name: "math.dat #3"
1623                 html: "<math><thead><mo><tbody>"
1624                 fragment: "thead"
1625                 expected: "| <math math>\n|   <math thead>\n|     <math mo>\n"
1626         }, {
1627                 name: "math.dat #4"
1628                 html: "<math><tfoot><mo><tbody>"
1629                 fragment: "tfoot"
1630                 expected: "| <math math>\n|   <math tfoot>\n|     <math mo>\n"
1631         }, {
1632                 name: "math.dat #5"
1633                 html: "<math><tbody><mo><tfoot>"
1634                 fragment: "tbody"
1635                 expected: "| <math math>\n|   <math tbody>\n|     <math mo>\n"
1636         }, {
1637                 name: "math.dat #6"
1638                 html: "<math><tbody><mo></table>"
1639                 fragment: "tbody"
1640                 expected: "| <math math>\n|   <math tbody>\n|     <math mo>\n"
1641         }, {
1642                 name: "math.dat #7"
1643                 html: "<math><thead><mo></table>"
1644                 fragment: "tbody"
1645                 expected: "| <math math>\n|   <math thead>\n|     <math mo>\n"
1646         }, {
1647                 name: "math.dat #8"
1648                 html: "<math><tfoot><mo></table>"
1649                 fragment: "tbody"
1650                 expected: "| <math math>\n|   <math tfoot>\n|     <math mo>\n"
1651         }, {
1652                 name: "namespace-sensitivity.dat #1"
1653                 html: "<body><table><tr><td><svg><td><foreignObject><span></td>Foo"
1654                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"Foo\"\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <svg svg>\n|               <svg td>\n|                 <svg foreignObject>\n|                   <span>\n"
1655         }, {
1656                 name: "pending-spec-changes.dat #1"
1657                 html: "<input type=\"hidden\"><frameset>"
1658                 errors: 3
1659                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
1660         }, {
1661                 name: "pending-spec-changes.dat #2"
1662                 html: "<!DOCTYPE html><table><caption><svg>foo</table>bar"
1663                 errors: 2
1664                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n|         <svg svg>\n|           \"foo\"\n|     \"bar\"\n"
1665         }, {
1666                 name: "pending-spec-changes.dat #3"
1667                 html: "<table><tr><td><svg><desc><td></desc><circle>"
1668                 errors: 4
1669                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <svg svg>\n|               <svg desc>\n|           <td>\n|             <circle>\n"
1670         }, {
1671                 name: "pending-spec-changes-plain-text-unsafe.dat #1"
1672                 html: "<body><table>\u0000filler\u0000text\u0000"
1673                 errors: 18
1674                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"fillertext\"\n|     <table>\n"
1675         }, {
1676                 name: "plain-text-unsafe.dat #1"
1677                 html: "FOO&#x000D;ZOO"
1678                 errors: 2
1679                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\rZOO\"\n"
1680         }, {
1681                 name: "plain-text-unsafe.dat #2"
1682                 html: "<html>\u0000<frameset></frameset>"
1683                 errors: 4
1684                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
1685         }, {
1686                 name: "plain-text-unsafe.dat #3"
1687                 html: "<html> \u0000 <frameset></frameset>"
1688                 errors: 4
1689                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
1690         }, {
1691                 name: "plain-text-unsafe.dat #4"
1692                 html: "<html>a\u0000a<frameset></frameset>"
1693                 errors: 5
1694                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"aa\"\n"
1695         }, {
1696                 name: "plain-text-unsafe.dat #5"
1697                 html: "<html>\u0000\u0000<frameset></frameset>"
1698                 errors: 6
1699                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
1700         }, {
1701                 name: "plain-text-unsafe.dat #6"
1702                 html: "<html>\u0000\n <frameset></frameset>"
1703                 errors: 4
1704                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
1705         }, {
1706                 name: "plain-text-unsafe.dat #7"
1707                 html: "<html><select>\u0000"
1708                 errors: 4
1709                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n"
1710         }, {
1711                 name: "plain-text-unsafe.dat #8"
1712                 html: "\u0000"
1713                 errors: 3
1714                 expected: "| <html>\n|   <head>\n|   <body>\n"
1715         }, {
1716                 name: "plain-text-unsafe.dat #9"
1717                 html: "<body>\u0000"
1718                 errors: 3
1719                 expected: "| <html>\n|   <head>\n|   <body>\n"
1720         }, {
1721                 name: "plain-text-unsafe.dat #10"
1722                 html: "<plaintext>\u0000filler\u0000text\u0000"
1723                 errors: 5
1724                 expected: "| <html>\n|   <head>\n|   <body>\n|     <plaintext>\n|       \"�filler�text�\"\n"
1725         }, {
1726                 name: "plain-text-unsafe.dat #11"
1727                 html: "<svg><![CDATA[\u0000filler\u0000text\u0000]]>"
1728                 errors: 5
1729                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"�filler�text�\"\n"
1730         }, {
1731                 name: "plain-text-unsafe.dat #12"
1732                 html: "<body><!\u0000>"
1733                 errors: 2
1734                 expected: "| <html>\n|   <head>\n|   <body>\n|     <!-- � -->\n"
1735         }, {
1736                 name: "plain-text-unsafe.dat #13"
1737                 html: "<body><!\u0000filler\u0000text>"
1738                 errors: 2
1739                 expected: "| <html>\n|   <head>\n|   <body>\n|     <!-- �filler�text -->\n"
1740         }, {
1741                 name: "plain-text-unsafe.dat #14"
1742                 html: "<body><svg><foreignObject>\u0000filler\u0000text"
1743                 errors: 6
1744                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg foreignObject>\n|         \"fillertext\"\n"
1745         }, {
1746                 name: "plain-text-unsafe.dat #15"
1747                 html: "<svg>\u0000filler\u0000text"
1748                 errors: 6
1749                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"�filler�text\"\n"
1750         }, {
1751                 name: "plain-text-unsafe.dat #16"
1752                 html: "<svg>\u0000<frameset>"
1753                 errors: 4
1754                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"�\"\n|       <svg frameset>\n"
1755         }, {
1756                 name: "plain-text-unsafe.dat #17"
1757                 html: "<svg>\u0000 <frameset>"
1758                 errors: 4
1759                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"� \"\n|       <svg frameset>\n"
1760         }, {
1761                 name: "plain-text-unsafe.dat #18"
1762                 html: "<svg>\u0000a<frameset>"
1763                 errors: 4
1764                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"�a\"\n|       <svg frameset>\n"
1765         }, {
1766                 name: "plain-text-unsafe.dat #19"
1767                 html: "<svg>\u0000</svg><frameset>"
1768                 errors: 5
1769                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
1770         }, {
1771                 name: "plain-text-unsafe.dat #20"
1772                 html: "<svg>\u0000 </svg><frameset>"
1773                 errors: 5
1774                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
1775         }, {
1776                 name: "plain-text-unsafe.dat #21"
1777                 html: "<svg>\u0000a</svg><frameset>"
1778                 errors: 4
1779                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"�a\"\n"
1780         }, {
1781                 name: "plain-text-unsafe.dat #22"
1782                 html: "<svg><path></path></svg><frameset>"
1783                 errors: 3
1784                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
1785         }, {
1786                 name: "plain-text-unsafe.dat #23"
1787                 html: "<svg><p><frameset>"
1788                 errors: 4
1789                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
1790         }, {
1791                 name: "plain-text-unsafe.dat #24"
1792                 html: "<!DOCTYPE html><pre>\r\n\r\nA</pre>"
1793                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <pre>\n|       \"\nA\"\n"
1794         }, {
1795                 name: "plain-text-unsafe.dat #25"
1796                 html: "<!DOCTYPE html><pre>\r\rA</pre>"
1797                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <pre>\n|       \"\nA\"\n"
1798         }, {
1799                 name: "plain-text-unsafe.dat #26"
1800                 html: "<!DOCTYPE html><pre>\rA</pre>"
1801                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <pre>\n|       \"A\"\n"
1802         }, {
1803                 name: "plain-text-unsafe.dat #27"
1804                 html: "<!DOCTYPE html><table><tr><td><math><mtext>\u0000a"
1805                 errors: 3
1806                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <math math>\n|               <math mtext>\n|                 \"a\"\n"
1807         }, {
1808                 name: "plain-text-unsafe.dat #28"
1809                 html: "<!DOCTYPE html><table><tr><td><svg><foreignObject>\u0000a"
1810                 errors: 3
1811                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <svg svg>\n|               <svg foreignObject>\n|                 \"a\"\n"
1812         }, {
1813                 name: "plain-text-unsafe.dat #29"
1814                 html: "<!DOCTYPE html><math><mi>a\u0000b"
1815                 errors: 3
1816                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mi>\n|         \"ab\"\n"
1817         }, {
1818                 name: "plain-text-unsafe.dat #30"
1819                 html: "<!DOCTYPE html><math><mo>a\u0000b"
1820                 errors: 3
1821                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mo>\n|         \"ab\"\n"
1822         }, {
1823                 name: "plain-text-unsafe.dat #31"
1824                 html: "<!DOCTYPE html><math><mn>a\u0000b"
1825                 errors: 3
1826                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mn>\n|         \"ab\"\n"
1827         }, {
1828                 name: "plain-text-unsafe.dat #32"
1829                 html: "<!DOCTYPE html><math><ms>a\u0000b"
1830                 errors: 3
1831                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math ms>\n|         \"ab\"\n"
1832         }, {
1833                 name: "plain-text-unsafe.dat #33"
1834                 html: "<!DOCTYPE html><math><mtext>a\u0000b"
1835                 errors: 3
1836                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mtext>\n|         \"ab\"\n"
1837         }, {
1838                 name: "ruby.dat #1"
1839                 html: "<html><ruby>a<rb>b<rb></ruby></html>"
1840                 errors: 1
1841                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rb>\n|         \"b\"\n|       <rb>\n"
1842         }, {
1843                 name: "ruby.dat #2"
1844                 html: "<html><ruby>a<rb>b<rt></ruby></html>"
1845                 errors: 1
1846                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rb>\n|         \"b\"\n|       <rt>\n"
1847         }, {
1848                 name: "ruby.dat #3"
1849                 html: "<html><ruby>a<rb>b<rtc></ruby></html>"
1850                 errors: 1
1851                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rb>\n|         \"b\"\n|       <rtc>\n"
1852         }, {
1853                 name: "ruby.dat #4"
1854                 html: "<html><ruby>a<rb>b<rp></ruby></html>"
1855                 errors: 1
1856                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rb>\n|         \"b\"\n|       <rp>\n"
1857         }, {
1858                 name: "ruby.dat #5"
1859                 html: "<html><ruby>a<rb>b<span></ruby></html>"
1860                 errors: 1
1861                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rb>\n|         \"b\"\n|         <span>\n"
1862         }, {
1863                 name: "ruby.dat #6"
1864                 html: "<html><ruby>a<rt>b<rb></ruby></html>"
1865                 errors: 1
1866                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rt>\n|         \"b\"\n|       <rb>\n"
1867         }, {
1868                 name: "ruby.dat #7"
1869                 html: "<html><ruby>a<rt>b<rt></ruby></html>"
1870                 errors: 1
1871                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rt>\n|         \"b\"\n|       <rt>\n"
1872         }, {
1873                 name: "ruby.dat #8"
1874                 html: "<html><ruby>a<rt>b<rtc></ruby></html>"
1875                 errors: 1
1876                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rt>\n|         \"b\"\n|       <rtc>\n"
1877         }, {
1878                 name: "ruby.dat #9"
1879                 html: "<html><ruby>a<rt>b<rp></ruby></html>"
1880                 errors: 1
1881                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rt>\n|         \"b\"\n|       <rp>\n"
1882         }, {
1883                 name: "ruby.dat #10"
1884                 html: "<html><ruby>a<rt>b<span></ruby></html>"
1885                 errors: 1
1886                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rt>\n|         \"b\"\n|         <span>\n"
1887         }, {
1888                 name: "ruby.dat #11"
1889                 html: "<html><ruby>a<rtc>b<rb></ruby></html>"
1890                 errors: 1
1891                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rtc>\n|         \"b\"\n|       <rb>\n"
1892         }, {
1893                 name: "ruby.dat #12"
1894                 html: "<html><ruby>a<rtc>b<rt>c<rt>d</ruby></html>"
1895                 errors: 1
1896                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rtc>\n|         \"b\"\n|         <rt>\n|           \"c\"\n|         <rt>\n|           \"d\"\n"
1897         }, {
1898                 name: "ruby.dat #13"
1899                 html: "<html><ruby>a<rtc>b<rtc></ruby></html>"
1900                 errors: 1
1901                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rtc>\n|         \"b\"\n|       <rtc>\n"
1902         }, {
1903                 name: "ruby.dat #14"
1904                 html: "<html><ruby>a<rtc>b<rp></ruby></html>"
1905                 errors: 1
1906                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rtc>\n|         \"b\"\n|         <rp>\n"
1907         }, {
1908                 name: "ruby.dat #15"
1909                 html: "<html><ruby>a<rtc>b<span></ruby></html>"
1910                 errors: 1
1911                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rtc>\n|         \"b\"\n|         <span>\n"
1912         }, {
1913                 name: "ruby.dat #16"
1914                 html: "<html><ruby>a<rp>b<rb></ruby></html>"
1915                 errors: 1
1916                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rp>\n|         \"b\"\n|       <rb>\n"
1917         }, {
1918                 name: "ruby.dat #17"
1919                 html: "<html><ruby>a<rp>b<rt></ruby></html>"
1920                 errors: 1
1921                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rp>\n|         \"b\"\n|       <rt>\n"
1922         }, {
1923                 name: "ruby.dat #18"
1924                 html: "<html><ruby>a<rp>b<rtc></ruby></html>"
1925                 errors: 1
1926                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rp>\n|         \"b\"\n|       <rtc>\n"
1927         }, {
1928                 name: "ruby.dat #19"
1929                 html: "<html><ruby>a<rp>b<rp></ruby></html>"
1930                 errors: 1
1931                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rp>\n|         \"b\"\n|       <rp>\n"
1932         }, {
1933                 name: "ruby.dat #20"
1934                 html: "<html><ruby>a<rp>b<span></ruby></html>"
1935                 errors: 1
1936                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rp>\n|         \"b\"\n|         <span>\n"
1937         }, {
1938                 name: "ruby.dat #21"
1939                 html: "<html><ruby><rtc><ruby>a<rb>b<rt></ruby></ruby></html>"
1940                 errors: 1
1941                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       <rtc>\n|         <ruby>\n|           \"a\"\n|           <rb>\n|             \"b\"\n|           <rt>\n"
1942         }, {
1943                 name: "scriptdata01.dat #1"
1944                 html: "FOO<script>'Hello'</script>BAR"
1945                 errors: 1
1946                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       \"'Hello'\"\n|     \"BAR\"\n"
1947         }, {
1948                 name: "scriptdata01.dat #2"
1949                 html: "FOO<script></script>BAR"
1950                 errors: 1
1951                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|     \"BAR\"\n"
1952         }, {
1953                 name: "scriptdata01.dat #3"
1954                 html: "FOO<script></script >BAR"
1955                 errors: 1
1956                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|     \"BAR\"\n"
1957         }, {
1958                 name: "scriptdata01.dat #4"
1959                 html: "FOO<script></script/>BAR"
1960                 errors: 2
1961                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|     \"BAR\"\n"
1962         }, {
1963                 name: "scriptdata01.dat #5"
1964                 html: "FOO<script></script/ >BAR"
1965                 errors: 2
1966                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|     \"BAR\"\n"
1967         }, {
1968                 name: "scriptdata01.dat #6"
1969                 html: "FOO<script type=\"text/plain\"></scriptx>BAR"
1970                 errors: 2
1971                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       type=\"text/plain\"\n|       \"</scriptx>BAR\"\n"
1972         }, {
1973                 name: "scriptdata01.dat #7"
1974                 html: "FOO<script></script foo=\">\" dd>BAR"
1975                 errors: 2
1976                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|     \"BAR\"\n"
1977         }, {
1978                 name: "scriptdata01.dat #8"
1979                 html: "FOO<script>'<'</script>BAR"
1980                 errors: 1
1981                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       \"'<'\"\n|     \"BAR\"\n"
1982         }, {
1983                 name: "scriptdata01.dat #9"
1984                 html: "FOO<script>'<!'</script>BAR"
1985                 errors: 1
1986                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       \"'<!'\"\n|     \"BAR\"\n"
1987         }, {
1988                 name: "scriptdata01.dat #10"
1989                 html: "FOO<script>'<!-'</script>BAR"
1990                 errors: 1
1991                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       \"'<!-'\"\n|     \"BAR\"\n"
1992         }, {
1993                 name: "scriptdata01.dat #11"
1994                 html: "FOO<script>'<!--'</script>BAR"
1995                 errors: 1
1996                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       \"'<!--'\"\n|     \"BAR\"\n"
1997         }, {
1998                 name: "scriptdata01.dat #12"
1999                 html: "FOO<script>'<!---'</script>BAR"
2000                 errors: 1
2001                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       \"'<!---'\"\n|     \"BAR\"\n"
2002         }, {
2003                 name: "scriptdata01.dat #13"
2004                 html: "FOO<script>'<!-->'</script>BAR"
2005                 errors: 1
2006                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       \"'<!-->'\"\n|     \"BAR\"\n"
2007         }, {
2008                 name: "scriptdata01.dat #14"
2009                 html: "FOO<script>'<!-->'</script>BAR"
2010                 errors: 1
2011                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       \"'<!-->'\"\n|     \"BAR\"\n"
2012         }, {
2013                 name: "scriptdata01.dat #15"
2014                 html: "FOO<script>'<!-- potato'</script>BAR"
2015                 errors: 1
2016                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       \"'<!-- potato'\"\n|     \"BAR\"\n"
2017         }, {
2018                 name: "scriptdata01.dat #16"
2019                 html: "FOO<script>'<!-- <sCrIpt'</script>BAR"
2020                 errors: 1
2021                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       \"'<!-- <sCrIpt'\"\n|     \"BAR\"\n"
2022         }, {
2023                 name: "scriptdata01.dat #17"
2024                 html: "FOO<script type=\"text/plain\">'<!-- <sCrIpt>'</script>BAR"
2025                 errors: 3
2026                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       type=\"text/plain\"\n|       \"'<!-- <sCrIpt>'</script>BAR\"\n"
2027         }, {
2028                 name: "scriptdata01.dat #18"
2029                 html: "FOO<script type=\"text/plain\">'<!-- <sCrIpt> -'</script>BAR"
2030                 errors: 3
2031                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       type=\"text/plain\"\n|       \"'<!-- <sCrIpt> -'</script>BAR\"\n"
2032         }, {
2033                 name: "scriptdata01.dat #19"
2034                 html: "FOO<script type=\"text/plain\">'<!-- <sCrIpt> --'</script>BAR"
2035                 errors: 3
2036                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       type=\"text/plain\"\n|       \"'<!-- <sCrIpt> --'</script>BAR\"\n"
2037         }, {
2038                 name: "scriptdata01.dat #20"
2039                 html: "FOO<script>'<!-- <sCrIpt> -->'</script>BAR"
2040                 errors: 1
2041                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       \"'<!-- <sCrIpt> -->'\"\n|     \"BAR\"\n"
2042         }, {
2043                 name: "scriptdata01.dat #21"
2044                 html: "FOO<script type=\"text/plain\">'<!-- <sCrIpt> --!>'</script>BAR"
2045                 errors: 3
2046                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       type=\"text/plain\"\n|       \"'<!-- <sCrIpt> --!>'</script>BAR\"\n"
2047         }, {
2048                 name: "scriptdata01.dat #22"
2049                 html: "FOO<script type=\"text/plain\">'<!-- <sCrIpt> -- >'</script>BAR"
2050                 errors: 3
2051                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       type=\"text/plain\"\n|       \"'<!-- <sCrIpt> -- >'</script>BAR\"\n"
2052         }, {
2053                 name: "scriptdata01.dat #23"
2054                 html: "FOO<script type=\"text/plain\">'<!-- <sCrIpt '</script>BAR"
2055                 errors: 3
2056                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       type=\"text/plain\"\n|       \"'<!-- <sCrIpt '</script>BAR\"\n"
2057         }, {
2058                 name: "scriptdata01.dat #24"
2059                 html: "FOO<script type=\"text/plain\">'<!-- <sCrIpt/'</script>BAR"
2060                 errors: 3
2061                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       type=\"text/plain\"\n|       \"'<!-- <sCrIpt/'</script>BAR\"\n"
2062         }, {
2063                 name: "scriptdata01.dat #25"
2064                 html: "FOO<script type=\"text/plain\">'<!-- <sCrIpt\\'</script>BAR"
2065                 errors: 1
2066                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       type=\"text/plain\"\n|       \"'<!-- <sCrIpt\\'\"\n|     \"BAR\"\n"
2067         }, {
2068                 name: "scriptdata01.dat #26"
2069                 html: "FOO<script type=\"text/plain\">'<!-- <sCrIpt/'</script>BAR</script>QUX"
2070                 errors: 1
2071                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       type=\"text/plain\"\n|       \"'<!-- <sCrIpt/'</script>BAR\"\n|     \"QUX\"\n"
2072         }, {
2073                 name: "scriptdata01.dat #27"
2074                 html: "FOO<script><!--<script>-></script>--></script>QUX"
2075                 errors: 1
2076                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"FOO\"\n|     <script>\n|       \"<!--<script>-></script>-->\"\n|     \"QUX\"\n"
2077         }, {
2078                 name: "tables01.dat #1"
2079                 html: "<table><th>"
2080                 errors: 3
2081                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <th>\n"
2082         }, {
2083                 name: "tables01.dat #2"
2084                 html: "<table><td>"
2085                 errors: 3
2086                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n"
2087         }, {
2088                 name: "tables01.dat #3"
2089                 html: "<table><col foo='bar'>"
2090                 errors: 2
2091                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <colgroup>\n|         <col>\n|           foo=\"bar\"\n"
2092         }, {
2093                 name: "tables01.dat #4"
2094                 html: "<table><colgroup></html>foo"
2095                 errors: 6
2096                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"foo\"\n|     <table>\n|       <colgroup>\n"
2097         }, {
2098                 name: "tables01.dat #5"
2099                 html: "<table></table><p>foo"
2100                 errors: 1
2101                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|     <p>\n|       \"foo\"\n"
2102         }, {
2103                 name: "tables01.dat #6"
2104                 html: "<table></body></caption></col></colgroup></html></tbody></td></tfoot></th></thead></tr><td>"
2105                 errors: 14
2106                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n"
2107         }, {
2108                 name: "tables01.dat #7"
2109                 html: "<table><select><option>3</select></table>"
2110                 errors: 2
2111                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <option>\n|         \"3\"\n|     <table>\n"
2112         }, {
2113                 name: "tables01.dat #8"
2114                 html: "<table><select><table></table></select></table>"
2115                 errors: 6
2116                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|     <table>\n|     <table>\n"
2117         }, {
2118                 name: "tables01.dat #9"
2119                 html: "<table><select></table>"
2120                 errors: 3
2121                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|     <table>\n"
2122         }, {
2123                 name: "tables01.dat #10"
2124                 html: "<table><select><option>A<tr><td>B</td></tr></table>"
2125                 errors: 3
2126                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <option>\n|         \"A\"\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             \"B\"\n"
2127         }, {
2128                 name: "tables01.dat #11"
2129                 html: "<table><td></body></caption></col></colgroup></html>foo"
2130                 errors: 8
2131                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             \"foo\"\n"
2132         }, {
2133                 name: "tables01.dat #12"
2134                 html: "<table><td>A</table>B"
2135                 errors: 2
2136                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             \"A\"\n|     \"B\"\n"
2137         }, {
2138                 name: "tables01.dat #13"
2139                 html: "<table><tr><caption>"
2140                 errors: 2
2141                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|       <caption>\n"
2142         }, {
2143                 name: "tables01.dat #14"
2144                 html: "<table><tr></body></caption></col></colgroup></html></td></th><td>foo"
2145                 errors: 9
2146                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             \"foo\"\n"
2147         }, {
2148                 name: "tables01.dat #15"
2149                 html: "<table><td><tr>"
2150                 errors: 3
2151                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|         <tr>\n"
2152         }, {
2153                 name: "tables01.dat #16"
2154                 html: "<table><td><button><td>"
2155                 errors: 4
2156                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <button>\n|           <td>\n"
2157         }, {
2158                 name: "tables01.dat #17"
2159                 html: "<table><tr><td><svg><desc><td>"
2160                 errors: 3
2161                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <svg svg>\n|               <svg desc>\n|           <td>\n"
2162         }, {
2163                 name: "template.dat #1"
2164                 html: "<body><template>Hello</template>"
2165                 errors: 1
2166                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         \"Hello\"\n"
2167         }, {
2168                 name: "template.dat #2"
2169                 html: "<template>Hello</template>"
2170                 errors: 1
2171                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         \"Hello\"\n|   <body>\n"
2172         }, {
2173                 name: "template.dat #3"
2174                 html: "<template></template><div></div>"
2175                 errors: 1
2176                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|   <body>\n|     <div>\n"
2177         }, {
2178                 name: "template.dat #4"
2179                 html: "<html><template>Hello</template>"
2180                 errors: 1
2181                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         \"Hello\"\n|   <body>\n"
2182         }, {
2183                 name: "template.dat #5"
2184                 html: "<head><template><div></div></template></head>"
2185                 errors: 1
2186                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <div>\n|   <body>\n"
2187         }, {
2188                 name: "template.dat #6"
2189                 html: "<div><template><div><span></template><b>"
2190                 errors: 3
2191                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <template>\n|         content\n|           <div>\n|             <span>\n|       <b>\n"
2192         }, {
2193                 name: "template.dat #7"
2194                 html: "<div><template></div>Hello"
2195                 errors: 4
2196                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <template>\n|         content\n|           \"Hello\"\n"
2197         }, {
2198                 name: "template.dat #8"
2199                 html: "<div></template></div>"
2200                 errors: 2
2201                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n"
2202         }, {
2203                 name: "template.dat #9"
2204                 html: "<table><template></template></table>"
2205                 errors: 1
2206                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <template>\n|         content\n"
2207         }, {
2208                 name: "template.dat #10"
2209                 html: "<table><template></template></div>"
2210                 errors: 4
2211                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <template>\n|         content\n"
2212         }, {
2213                 name: "template.dat #11"
2214                 html: "<table><div><template></template></div>"
2215                 errors: 4
2216                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <template>\n|         content\n|     <table>\n"
2217         }, {
2218                 name: "template.dat #12"
2219                 html: "<table><template></template><div></div>"
2220                 errors: 4
2221                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|     <table>\n|       <template>\n|         content\n"
2222         }, {
2223                 name: "template.dat #13"
2224                 html: "<table>   <template></template></table>"
2225                 errors: 1
2226                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       \"   \"\n|       <template>\n|         content\n"
2227         }, {
2228                 name: "template.dat #14"
2229                 html: "<table><tbody><template></template></tbody>"
2230                 errors: 2
2231                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <template>\n|           content\n"
2232         }, {
2233                 name: "template.dat #15"
2234                 html: "<table><tbody><template></tbody></template>"
2235                 errors: 3
2236                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <template>\n|           content\n"
2237         }, {
2238                 name: "template.dat #16"
2239                 html: "<table><tbody><template></template></tbody></table>"
2240                 errors: 1
2241                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <template>\n|           content\n"
2242         }, {
2243                 name: "template.dat #17"
2244                 html: "<table><thead><template></template></thead>"
2245                 errors: 2
2246                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <thead>\n|         <template>\n|           content\n"
2247         }, {
2248                 name: "template.dat #18"
2249                 html: "<table><tfoot><template></template></tfoot>"
2250                 errors: 2
2251                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tfoot>\n|         <template>\n|           content\n"
2252         }, {
2253                 name: "template.dat #19"
2254                 html: "<select><template></template></select>"
2255                 errors: 1
2256                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <template>\n|         content\n"
2257         }, {
2258                 name: "template.dat #20"
2259                 html: "<select><template><option></option></template></select>"
2260                 errors: 1
2261                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <template>\n|         content\n|           <option>\n"
2262         }, {
2263                 name: "template.dat #21"
2264                 html: "<template><option></option></select><option></option></template>"
2265                 errors: 2
2266                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <option>\n|         <option>\n|   <body>\n"
2267         }, {
2268                 name: "template.dat #22"
2269                 html: "<select><template></template><option></select>"
2270                 errors: 1
2271                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <template>\n|         content\n|       <option>\n"
2272         }, {
2273                 name: "template.dat #23"
2274                 html: "<select><option><template></template></select>"
2275                 errors: 1
2276                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <option>\n|         <template>\n|           content\n"
2277         }, {
2278                 name: "template.dat #24"
2279                 html: "<select><template>"
2280                 errors: 3
2281                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <template>\n|         content\n"
2282         }, {
2283                 name: "template.dat #25"
2284                 html: "<select><option></option><template>"
2285                 errors: 3
2286                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <option>\n|       <template>\n|         content\n"
2287         }, {
2288                 name: "template.dat #26"
2289                 html: "<select><option></option><template><option>"
2290                 errors: 3
2291                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <option>\n|       <template>\n|         content\n|           <option>\n"
2292         }, {
2293                 name: "template.dat #27"
2294                 html: "<table><thead><template><td></template></table>"
2295                 errors: 1
2296                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <thead>\n|         <template>\n|           content\n|             <td>\n"
2297         }, {
2298                 name: "template.dat #28"
2299                 html: "<table><template><thead></template></table>"
2300                 errors: 1
2301                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <template>\n|         content\n|           <thead>\n"
2302         }, {
2303                 name: "template.dat #29"
2304                 html: "<body><table><template><td></tr><div></template></table>"
2305                 errors: 3
2306                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <template>\n|         content\n|           <td>\n|             <div>\n"
2307         }, {
2308                 name: "template.dat #30"
2309                 html: "<table><template><thead></template></thead></table>"
2310                 errors: 2
2311                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <template>\n|         content\n|           <thead>\n"
2312         }, {
2313                 name: "template.dat #31"
2314                 html: "<table><thead><template><tr></template></table>"
2315                 errors: 1
2316                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <thead>\n|         <template>\n|           content\n|             <tr>\n"
2317         }, {
2318                 name: "template.dat #32"
2319                 html: "<table><template><tr></template></table>"
2320                 errors: 1
2321                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <template>\n|         content\n|           <tr>\n"
2322         }, {
2323                 name: "template.dat #33"
2324                 html: "<table><tr><template><td>"
2325                 errors: 3
2326                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <template>\n|             content\n|               <td>\n"
2327         }, {
2328                 name: "template.dat #34"
2329                 html: "<table><template><tr><template><td></template></tr></template></table>"
2330                 errors: 1
2331                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <template>\n|         content\n|           <tr>\n|             <template>\n|               content\n|                 <td>\n"
2332         }, {
2333                 name: "template.dat #35"
2334                 html: "<table><template><tr><template><td></td></template></tr></template></table>"
2335                 errors: 1
2336                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <template>\n|         content\n|           <tr>\n|             <template>\n|               content\n|                 <td>\n"
2337         }, {
2338                 name: "template.dat #36"
2339                 html: "<table><template><td></template>"
2340                 errors: 2
2341                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <template>\n|         content\n|           <td>\n"
2342         }, {
2343                 name: "template.dat #37"
2344                 html: "<body><template><td></td></template>"
2345                 errors: 1
2346                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <td>\n"
2347         }, {
2348                 name: "template.dat #38"
2349                 html: "<body><template><template><tr></tr></template><td></td></template>"
2350                 errors: 1
2351                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <template>\n|           content\n|             <tr>\n|         <td>\n"
2352         }, {
2353                 name: "template.dat #39"
2354                 html: "<table><colgroup><template><col>"
2355                 errors: 3
2356                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <colgroup>\n|         <template>\n|           content\n|             <col>\n"
2357         }, {
2358                 name: "template.dat #40"
2359                 html: "<frameset><template><frame></frame></template></frameset>"
2360                 errors: 4
2361                 expected: "| <html>\n|   <head>\n|   <frameset>\n|     <frame>\n"
2362         }, {
2363                 name: "template.dat #41"
2364                 html: "<template><frame></frame></frameset><frame></frame></template>"
2365                 errors: 6
2366                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|   <body>\n"
2367         }, {
2368                 name: "template.dat #42"
2369                 html: "<template><div><frameset><span></span></div><span></span></template>"
2370                 errors: 2
2371                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <div>\n|           <span>\n|         <span>\n|   <body>\n"
2372         }, {
2373                 name: "template.dat #43"
2374                 html: "<body><template><div><frameset><span></span></div><span></span></template></body>"
2375                 errors: 2
2376                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <div>\n|           <span>\n|         <span>\n"
2377         }, {
2378                 name: "template.dat #44"
2379                 html: "<body><template><script>var i = 1;</script><td></td></template>"
2380                 errors: 1
2381                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <script>\n|           \"var i = 1;\"\n|         <td>\n"
2382         }, {
2383                 name: "template.dat #45"
2384                 html: "<body><template><tr><div></div></tr></template>"
2385                 errors: 3
2386                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <tr>\n|         <div>\n"
2387         }, {
2388                 name: "template.dat #46"
2389                 html: "<body><template><tr></tr><td></td></template>"
2390                 errors: 2
2391                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <tr>\n|         <tr>\n|           <td>\n"
2392         }, {
2393                 name: "template.dat #47"
2394                 html: "<body><template><td></td></tr><td></td></template>"
2395                 errors: 2
2396                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <td>\n|         <td>\n"
2397         }, {
2398                 name: "template.dat #48"
2399                 html: "<body><template><td></td><tbody><td></td></template>"
2400                 errors: 2
2401                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <td>\n|         <td>\n"
2402         }, {
2403                 name: "template.dat #49"
2404                 html: "<body><template><td></td><caption></caption><td></td></template>"
2405                 errors: 3
2406                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <td>\n|         <td>\n"
2407         }, {
2408                 name: "template.dat #50"
2409                 html: "<body><template><td></td><colgroup></caption><td></td></template>"
2410                 errors: 3
2411                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <td>\n|         <td>\n"
2412         }, {
2413                 name: "template.dat #51"
2414                 html: "<body><template><td></td></table><td></td></template>"
2415                 errors: 2
2416                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <td>\n|         <td>\n"
2417         }, {
2418                 name: "template.dat #52"
2419                 html: "<body><template><tr></tr><tbody><tr></tr></template>"
2420                 errors: 2
2421                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <tr>\n|         <tr>\n"
2422         }, {
2423                 name: "template.dat #53"
2424                 html: "<body><template><tr></tr><caption><tr></tr></template>"
2425                 errors: 2
2426                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <tr>\n|         <tr>\n"
2427         }, {
2428                 name: "template.dat #54"
2429                 html: "<body><template><tr></tr></table><tr></tr></template>"
2430                 errors: 2
2431                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <tr>\n|         <tr>\n"
2432         }, {
2433                 name: "template.dat #55"
2434                 html: "<body><template><thead></thead><caption></caption><tbody></tbody></template>"
2435                 errors: 1
2436                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <thead>\n|         <caption>\n|         <tbody>\n"
2437         }, {
2438                 name: "template.dat #56"
2439                 html: "<body><template><thead></thead></table><tbody></tbody></template></body>"
2440                 errors: 2
2441                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <thead>\n|         <tbody>\n"
2442         }, {
2443                 name: "template.dat #57"
2444                 html: "<body><template><div><tr></tr></div></template>"
2445                 errors: 3
2446                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <div>\n"
2447         }, {
2448                 name: "template.dat #58"
2449                 html: "<body><template><em>Hello</em></template>"
2450                 errors: 1
2451                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <em>\n|           \"Hello\"\n"
2452         }, {
2453                 name: "template.dat #59"
2454                 html: "<body><template><!--comment--></template>"
2455                 errors: 1
2456                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <!-- comment -->\n"
2457         }, {
2458                 name: "template.dat #60"
2459                 html: "<body><template><style></style><td></td></template>"
2460                 errors: 1
2461                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <style>\n|         <td>\n"
2462         }, {
2463                 name: "template.dat #61"
2464                 html: "<body><template><meta><td></td></template>"
2465                 errors: 1
2466                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <meta>\n|         <td>\n"
2467         }, {
2468                 name: "template.dat #62"
2469                 html: "<body><template><link><td></td></template>"
2470                 errors: 1
2471                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <link>\n|         <td>\n"
2472         }, {
2473                 name: "template.dat #63"
2474                 html: "<body><template><template><tr></tr></template><td></td></template>"
2475                 errors: 1
2476                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <template>\n|           content\n|             <tr>\n|         <td>\n"
2477         }, {
2478                 name: "template.dat #64"
2479                 html: "<body><table><colgroup><template><col></col></template></colgroup></table></body>"
2480                 errors: 2
2481                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <colgroup>\n|         <template>\n|           content\n|             <col>\n"
2482         }, {
2483                 name: "template.dat #65"
2484                 html: "<body a=b><template><div></div><body c=d><div></div></body></template></body>"
2485                 errors: 3
2486                 expected: "| <html>\n|   <head>\n|   <body>\n|     a=\"b\"\n|     <template>\n|       content\n|         <div>\n|         <div>\n"
2487         }, {
2488                 name: "template.dat #66"
2489                 html: "<html a=b><template><div><html b=c><span></template>"
2490                 errors: 3
2491                 expected: "| <html>\n|   a=\"b\"\n|   <head>\n|     <template>\n|       content\n|         <div>\n|           <span>\n|   <body>\n"
2492         }, {
2493                 name: "template.dat #67"
2494                 html: "<html a=b><template><col></col><html b=c><col></col></template>"
2495                 errors: 4
2496                 expected: "| <html>\n|   a=\"b\"\n|   <head>\n|     <template>\n|       content\n|         <col>\n|         <col>\n|   <body>\n"
2497         }, {
2498                 name: "template.dat #68"
2499                 html: "<html a=b><template><frame></frame><html b=c><frame></frame></template>"
2500                 errors: 6
2501                 expected: "| <html>\n|   a=\"b\"\n|   <head>\n|     <template>\n|       content\n|   <body>\n"
2502         }, {
2503                 name: "template.dat #69"
2504                 html: "<body><template><tr></tr><template></template><td></td></template>"
2505                 errors: 2
2506                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <tr>\n|         <template>\n|           content\n|         <tr>\n|           <td>\n"
2507         }, {
2508                 name: "template.dat #70"
2509                 html: "<body><template><thead></thead><template><tr></tr></template><tr></tr><tfoot></tfoot></template>"
2510                 errors: 1
2511                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <thead>\n|         <template>\n|           content\n|             <tr>\n|         <tbody>\n|           <tr>\n|         <tfoot>\n"
2512         }, {
2513                 name: "template.dat #71"
2514                 html: "<body><template><template><b><template></template></template>text</template>"
2515                 errors: 2
2516                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <template>\n|           content\n|             <b>\n|               <template>\n|                 content\n|         \"text\"\n"
2517         }, {
2518                 name: "template.dat #72"
2519                 html: "<body><template><col><colgroup>"
2520                 errors: 3
2521                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <col>\n"
2522         }, {
2523                 name: "template.dat #73"
2524                 html: "<body><template><col></colgroup>"
2525                 errors: 3
2526                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <col>\n"
2527         }, {
2528                 name: "template.dat #74"
2529                 html: "<body><template><col><colgroup></template></body>"
2530                 errors: 2
2531                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <col>\n"
2532         }, {
2533                 name: "template.dat #75"
2534                 html: "<body><template><col><div>"
2535                 errors: 3
2536                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <col>\n"
2537         }, {
2538                 name: "template.dat #76"
2539                 html: "<body><template><col></div>"
2540                 errors: 3
2541                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <col>\n"
2542         }, {
2543                 name: "template.dat #77"
2544                 html: "<body><template><col>Hello"
2545                 errors: 3
2546                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <col>\n"
2547         }, {
2548                 name: "template.dat #78"
2549                 html: "<body><template><i><menu>Foo</i>"
2550                 errors: 3
2551                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <i>\n|         <menu>\n|           <i>\n|             \"Foo\"\n"
2552         }, {
2553                 name: "template.dat #79"
2554                 html: "<body><template></div><div>Foo</div><template></template><tr></tr>"
2555                 errors: 5
2556                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n|         <div>\n|           \"Foo\"\n|         <template>\n|           content\n"
2557         }, {
2558                 name: "template.dat #80"
2559                 html: "<body><div><template></div><tr><td>Foo</td></tr></template>"
2560                 errors: 3
2561                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <template>\n|         content\n|           <tr>\n|             <td>\n|               \"Foo\"\n"
2562         }, {
2563                 name: "template.dat #81"
2564                 html: "<template></figcaption><sub><table></table>"
2565                 errors: 3
2566                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <sub>\n|           <table>\n|   <body>\n"
2567         }, {
2568                 name: "template.dat #82"
2569                 html: "<template><template>"
2570                 errors: 3
2571                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <template>\n|           content\n|   <body>\n"
2572         }, {
2573                 name: "template.dat #83"
2574                 html: "<template><div>"
2575                 errors: 2
2576                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <div>\n|   <body>\n"
2577         }, {
2578                 name: "template.dat #84"
2579                 html: "<template><template><div>"
2580                 errors: 3
2581                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <template>\n|           content\n|             <div>\n|   <body>\n"
2582         }, {
2583                 name: "template.dat #85"
2584                 html: "<template><template><table>"
2585                 errors: 3
2586                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <template>\n|           content\n|             <table>\n|   <body>\n"
2587         }, {
2588                 name: "template.dat #86"
2589                 html: "<template><template><tbody>"
2590                 errors: 3
2591                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <template>\n|           content\n|             <tbody>\n|   <body>\n"
2592         }, {
2593                 name: "template.dat #87"
2594                 html: "<template><template><tr>"
2595                 errors: 3
2596                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <template>\n|           content\n|             <tr>\n|   <body>\n"
2597         }, {
2598                 name: "template.dat #88"
2599                 html: "<template><template><td>"
2600                 errors: 3
2601                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <template>\n|           content\n|             <td>\n|   <body>\n"
2602         }, {
2603                 name: "template.dat #89"
2604                 html: "<template><template><caption>"
2605                 errors: 3
2606                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <template>\n|           content\n|             <caption>\n|   <body>\n"
2607         }, {
2608                 name: "template.dat #90"
2609                 html: "<template><template><colgroup>"
2610                 errors: 3
2611                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <template>\n|           content\n|             <colgroup>\n|   <body>\n"
2612         }, {
2613                 name: "template.dat #91"
2614                 html: "<template><template><col>"
2615                 errors: 3
2616                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <template>\n|           content\n|             <col>\n|   <body>\n"
2617         }, {
2618                 name: "template.dat #92"
2619                 html: "<template><template><tbody><select>"
2620                 errors: 4
2621                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <template>\n|           content\n|             <tbody>\n|             <select>\n|   <body>\n"
2622         }, {
2623                 name: "template.dat #93"
2624                 html: "<template><template><table>Foo"
2625                 errors: 6
2626                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <template>\n|           content\n|             \"Foo\"\n|             <table>\n|   <body>\n"
2627         }, {
2628                 name: "template.dat #94"
2629                 html: "<template><template><frame>"
2630                 errors: 4
2631                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <template>\n|           content\n|   <body>\n"
2632         }, {
2633                 name: "template.dat #95"
2634                 html: "<template><template><script>var i"
2635                 errors: 4
2636                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <template>\n|           content\n|             <script>\n|               \"var i\"\n|   <body>\n"
2637         }, {
2638                 name: "template.dat #96"
2639                 html: "<template><template><style>var i"
2640                 errors: 4
2641                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <template>\n|           content\n|             <style>\n|               \"var i\"\n|   <body>\n"
2642         }, {
2643                 name: "template.dat #97"
2644                 html: "<template><table></template><body><span>Foo"
2645                 errors: 3
2646                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <table>\n|   <body>\n|     <span>\n|       \"Foo\"\n"
2647         }, {
2648                 name: "template.dat #98"
2649                 html: "<template><td></template><body><span>Foo"
2650                 errors: 2
2651                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <td>\n|   <body>\n|     <span>\n|       \"Foo\"\n"
2652         }, {
2653                 name: "template.dat #99"
2654                 html: "<template><object></template><body><span>Foo"
2655                 errors: 3
2656                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <object>\n|   <body>\n|     <span>\n|       \"Foo\"\n"
2657         }, {
2658                 name: "template.dat #100"
2659                 html: "<template><svg><template>"
2660                 errors: 2
2661                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <svg svg>\n|           <svg template>\n|   <body>\n"
2662         }, {
2663                 name: "template.dat #101"
2664                 html: "<template><svg><foo><template><foreignObject><div></template><div>"
2665                 errors: 3
2666                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <svg svg>\n|           <svg foo>\n|             <svg template>\n|               <svg foreignObject>\n|                 <div>\n|   <body>\n|     <div>\n"
2667         }, {
2668                 name: "template.dat #102"
2669                 html: "<dummy><template><span></dummy>"
2670                 errors: 4
2671                 expected: "| <html>\n|   <head>\n|   <body>\n|     <dummy>\n|       <template>\n|         content\n|           <span>\n"
2672         }, {
2673                 name: "template.dat #103"
2674                 html: "<body><table><tr><td><select><template>Foo</template><caption>A</table>"
2675                 errors: 2
2676                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <select>\n|               <template>\n|                 content\n|                   \"Foo\"\n|       <caption>\n|         \"A\"\n"
2677         }, {
2678                 name: "template.dat #104"
2679                 html: "<body></body><template>"
2680                 errors: 3
2681                 expected: "| <html>\n|   <head>\n|   <body>\n|     <template>\n|       content\n"
2682         }, {
2683                 name: "template.dat #105"
2684                 html: "<head></head><template>"
2685                 errors: 3
2686                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|   <body>\n"
2687         }, {
2688                 name: "template.dat #106"
2689                 html: "<head></head><template>Foo</template>"
2690                 errors: 2
2691                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         \"Foo\"\n|   <body>\n"
2692         }, {
2693                 name: "template.dat #107"
2694                 html: "<!DOCTYPE HTML><dummy><table><template><table><template><table><script>"
2695                 errors: 4
2696                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <dummy>\n|       <table>\n|         <template>\n|           content\n|             <table>\n|               <template>\n|                 content\n|                   <table>\n|                     <script>\n"
2697         }, {
2698                 name: "template.dat #108"
2699                 html: "<template><a><table><a>"
2700                 expected: "| <html>\n|   <head>\n|     <template>\n|       content\n|         <a>\n|           <a>\n|           <table>\n|   <body>\n"
2701         }, {
2702                 name: "tests10.dat #1"
2703                 html: "<!DOCTYPE html><svg></svg>"
2704                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n"
2705         }, {
2706                 name: "tests10.dat #2"
2707                 html: "<!DOCTYPE html><svg></svg><![CDATA[a]]>"
2708                 errors: 1
2709                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|     <!-- [CDATA[a]] -->\n"
2710         }, {
2711                 name: "tests10.dat #3"
2712                 html: "<!DOCTYPE html><body><svg></svg>"
2713                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n"
2714         }, {
2715                 name: "tests10.dat #4"
2716                 html: "<!DOCTYPE html><body><select><svg></svg></select>"
2717                 errors: 2
2718                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n"
2719         }, {
2720                 name: "tests10.dat #5"
2721                 html: "<!DOCTYPE html><body><select><option><svg></svg></option></select>"
2722                 errors: 2
2723                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <option>\n"
2724         }, {
2725                 name: "tests10.dat #6"
2726                 html: "<!DOCTYPE html><body><table><svg></svg></table>"
2727                 errors: 1
2728                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|     <table>\n"
2729         }, {
2730                 name: "tests10.dat #7"
2731                 html: "<!DOCTYPE html><body><table><svg><g>foo</g></svg></table>"
2732                 errors: 1
2733                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg g>\n|         \"foo\"\n|     <table>\n"
2734         }, {
2735                 name: "tests10.dat #8"
2736                 html: "<!DOCTYPE html><body><table><svg><g>foo</g><g>bar</g></svg></table>"
2737                 errors: 1
2738                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg g>\n|         \"foo\"\n|       <svg g>\n|         \"bar\"\n|     <table>\n"
2739         }, {
2740                 name: "tests10.dat #9"
2741                 html: "<!DOCTYPE html><body><table><tbody><svg><g>foo</g><g>bar</g></svg></tbody></table>"
2742                 errors: 1
2743                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg g>\n|         \"foo\"\n|       <svg g>\n|         \"bar\"\n|     <table>\n|       <tbody>\n"
2744         }, {
2745                 name: "tests10.dat #10"
2746                 html: "<!DOCTYPE html><body><table><tbody><tr><svg><g>foo</g><g>bar</g></svg></tr></tbody></table>"
2747                 errors: 1
2748                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg g>\n|         \"foo\"\n|       <svg g>\n|         \"bar\"\n|     <table>\n|       <tbody>\n|         <tr>\n"
2749         }, {
2750                 name: "tests10.dat #11"
2751                 html: "<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg></td></tr></tbody></table>"
2752                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <svg svg>\n|               <svg g>\n|                 \"foo\"\n|               <svg g>\n|                 \"bar\"\n"
2753         }, {
2754                 name: "tests10.dat #12"
2755                 html: "<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg><p>baz</td></tr></tbody></table>"
2756                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <svg svg>\n|               <svg g>\n|                 \"foo\"\n|               <svg g>\n|                 \"bar\"\n|             <p>\n|               \"baz\"\n"
2757         }, {
2758                 name: "tests10.dat #13"
2759                 html: "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g></svg><p>baz</caption></table>"
2760                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n|         <svg svg>\n|           <svg g>\n|             \"foo\"\n|           <svg g>\n|             \"bar\"\n|         <p>\n|           \"baz\"\n"
2761         }, {
2762                 name: "tests10.dat #14"
2763                 html: "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g><p>baz</table><p>quux"
2764                 errors: 1
2765                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n|         <svg svg>\n|           <svg g>\n|             \"foo\"\n|           <svg g>\n|             \"bar\"\n|         <p>\n|           \"baz\"\n|     <p>\n|       \"quux\"\n"
2766         }, {
2767                 name: "tests10.dat #15"
2768                 html: "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g>baz</table><p>quux"
2769                 errors: 2
2770                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n|         <svg svg>\n|           <svg g>\n|             \"foo\"\n|           <svg g>\n|             \"bar\"\n|           \"baz\"\n|     <p>\n|       \"quux\"\n"
2771         }, {
2772                 name: "tests10.dat #16"
2773                 html: "<!DOCTYPE html><body><table><colgroup><svg><g>foo</g><g>bar</g><p>baz</table><p>quux"
2774                 errors: 6
2775                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg g>\n|         \"foo\"\n|       <svg g>\n|         \"bar\"\n|     <p>\n|       \"baz\"\n|     <table>\n|       <colgroup>\n|     <p>\n|       \"quux\"\n"
2776         }, {
2777                 name: "tests10.dat #17"
2778                 html: "<!DOCTYPE html><body><table><tr><td><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux"
2779                 errors: 7
2780                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <select>\n|               \"foobarbaz\"\n|     <p>\n|       \"quux\"\n"
2781         }, {
2782                 name: "tests10.dat #18"
2783                 html: "<!DOCTYPE html><body><table><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux"
2784                 errors: 8
2785                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       \"foobarbaz\"\n|     <table>\n|     <p>\n|       \"quux\"\n"
2786         }, {
2787                 name: "tests10.dat #19"
2788                 html: "<!DOCTYPE html><body></body></html><svg><g>foo</g><g>bar</g><p>baz"
2789                 errors: 2
2790                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg g>\n|         \"foo\"\n|       <svg g>\n|         \"bar\"\n|     <p>\n|       \"baz\"\n"
2791         }, {
2792                 name: "tests10.dat #20"
2793                 html: "<!DOCTYPE html><body></body><svg><g>foo</g><g>bar</g><p>baz"
2794                 errors: 2
2795                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg g>\n|         \"foo\"\n|       <svg g>\n|         \"bar\"\n|     <p>\n|       \"baz\"\n"
2796         }, {
2797                 name: "tests10.dat #21"
2798                 html: "<!DOCTYPE html><frameset><svg><g></g><g></g><p><span>"
2799                 errors: 8
2800                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n"
2801         }, {
2802                 name: "tests10.dat #22"
2803                 html: "<!DOCTYPE html><frameset></frameset><svg><g></g><g></g><p><span>"
2804                 errors: 7
2805                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n"
2806         }, {
2807                 name: "tests10.dat #23"
2808                 html: "<!DOCTYPE html><body xlink:href=foo><svg xlink:href=foo></svg>"
2809                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     xlink:href=\"foo\"\n|     <svg svg>\n|       xlink href=\"foo\"\n"
2810         }, {
2811                 name: "tests10.dat #24"
2812                 html: "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo></g></svg>"
2813                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     xlink:href=\"foo\"\n|     xml:lang=\"en\"\n|     <svg svg>\n|       <svg g>\n|         xlink href=\"foo\"\n|         xml lang=\"en\"\n"
2814         }, {
2815                 name: "tests10.dat #25"
2816                 html: "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo /></svg>"
2817                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     xlink:href=\"foo\"\n|     xml:lang=\"en\"\n|     <svg svg>\n|       <svg g>\n|         xlink href=\"foo\"\n|         xml lang=\"en\"\n"
2818         }, {
2819                 name: "tests10.dat #26"
2820                 html: "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo />bar</svg>"
2821                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     xlink:href=\"foo\"\n|     xml:lang=\"en\"\n|     <svg svg>\n|       <svg g>\n|         xlink href=\"foo\"\n|         xml lang=\"en\"\n|       \"bar\"\n"
2822         }, {
2823                 name: "tests10.dat #27"
2824                 html: "<svg></path>"
2825                 errors: 4
2826                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n"
2827         }, {
2828                 name: "tests10.dat #28"
2829                 html: "<div><svg></div>a"
2830                 errors: 3
2831                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <svg svg>\n|     \"a\"\n"
2832         }, {
2833                 name: "tests10.dat #29"
2834                 html: "<div><svg><path></div>a"
2835                 errors: 3
2836                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <svg svg>\n|         <svg path>\n|     \"a\"\n"
2837         }, {
2838                 name: "tests10.dat #30"
2839                 html: "<div><svg><path></svg><path>"
2840                 errors: 3
2841                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <svg svg>\n|         <svg path>\n|       <path>\n"
2842         }, {
2843                 name: "tests10.dat #31"
2844                 html: "<div><svg><path><foreignObject><math></div>a"
2845                 errors: 4
2846                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <svg svg>\n|         <svg path>\n|           <svg foreignObject>\n|             <math math>\n|               \"a\"\n"
2847         }, {
2848                 name: "tests10.dat #32"
2849                 html: "<div><svg><path><foreignObject><p></div>a"
2850                 errors: 3
2851                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <svg svg>\n|         <svg path>\n|           <svg foreignObject>\n|             <p>\n|               \"a\"\n"
2852         }, {
2853                 name: "tests10.dat #33"
2854                 html: "<!DOCTYPE html><svg><desc><div><svg><ul>a"
2855                 errors: 2
2856                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg desc>\n|         <div>\n|           <svg svg>\n|           <ul>\n|             \"a\"\n"
2857         }, {
2858                 name: "tests10.dat #34"
2859                 html: "<!DOCTYPE html><svg><desc><svg><ul>a"
2860                 errors: 2
2861                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg desc>\n|         <svg svg>\n|         <ul>\n|           \"a\"\n"
2862         }, {
2863                 name: "tests10.dat #35"
2864                 html: "<!DOCTYPE html><p><svg><desc><p>"
2865                 errors: 1
2866                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <svg svg>\n|         <svg desc>\n|           <p>\n"
2867         }, {
2868                 name: "tests10.dat #36"
2869                 html: "<!DOCTYPE html><p><svg><title><p>"
2870                 errors: 1
2871                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <svg svg>\n|         <svg title>\n|           <p>\n"
2872         }, {
2873                 name: "tests10.dat #37"
2874                 html: "<div><svg><path><foreignObject><p></foreignObject><p>"
2875                 errors: 3
2876                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <svg svg>\n|         <svg path>\n|           <svg foreignObject>\n|             <p>\n|             <p>\n"
2877         }, {
2878                 name: "tests10.dat #38"
2879                 html: "<math><mi><div><object><div><span></span></div></object></div></mi><mi>"
2880                 errors: 2
2881                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mi>\n|         <div>\n|           <object>\n|             <div>\n|               <span>\n|       <math mi>\n"
2882         }, {
2883                 name: "tests10.dat #39"
2884                 html: "<math><mi><svg><foreignObject><div><div></div></div></foreignObject></svg></mi><mi>"
2885                 errors: 2
2886                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mi>\n|         <svg svg>\n|           <svg foreignObject>\n|             <div>\n|               <div>\n|       <math mi>\n"
2887         }, {
2888                 name: "tests10.dat #40"
2889                 html: "<svg><script></script><path>"
2890                 errors: 2
2891                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg script>\n|       <svg path>\n"
2892         }, {
2893                 name: "tests10.dat #41"
2894                 html: "<table><svg></svg><tr>"
2895                 errors: 3
2896                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|     <table>\n|       <tbody>\n|         <tr>\n"
2897         }, {
2898                 name: "tests10.dat #42"
2899                 html: "<math><mi><mglyph>"
2900                 errors: 2
2901                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mi>\n|         <math mglyph>\n"
2902         }, {
2903                 name: "tests10.dat #43"
2904                 html: "<math><mi><malignmark>"
2905                 errors: 2
2906                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mi>\n|         <math malignmark>\n"
2907         }, {
2908                 name: "tests10.dat #44"
2909                 html: "<math><mo><mglyph>"
2910                 errors: 2
2911                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mo>\n|         <math mglyph>\n"
2912         }, {
2913                 name: "tests10.dat #45"
2914                 html: "<math><mo><malignmark>"
2915                 errors: 2
2916                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mo>\n|         <math malignmark>\n"
2917         }, {
2918                 name: "tests10.dat #46"
2919                 html: "<math><mn><mglyph>"
2920                 errors: 2
2921                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mn>\n|         <math mglyph>\n"
2922         }, {
2923                 name: "tests10.dat #47"
2924                 html: "<math><mn><malignmark>"
2925                 errors: 2
2926                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mn>\n|         <math malignmark>\n"
2927         }, {
2928                 name: "tests10.dat #48"
2929                 html: "<math><ms><mglyph>"
2930                 errors: 2
2931                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math ms>\n|         <math mglyph>\n"
2932         }, {
2933                 name: "tests10.dat #49"
2934                 html: "<math><ms><malignmark>"
2935                 errors: 2
2936                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math ms>\n|         <math malignmark>\n"
2937         }, {
2938                 name: "tests10.dat #50"
2939                 html: "<math><mtext><mglyph>"
2940                 errors: 2
2941                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mtext>\n|         <math mglyph>\n"
2942         }, {
2943                 name: "tests10.dat #51"
2944                 html: "<math><mtext><malignmark>"
2945                 errors: 2
2946                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mtext>\n|         <math malignmark>\n"
2947         }, {
2948                 name: "tests10.dat #52"
2949                 html: "<math><annotation-xml><svg></svg></annotation-xml><mi>"
2950                 errors: 2
2951                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math annotation-xml>\n|         <svg svg>\n|       <math mi>\n"
2952         }, {
2953                 name: "tests10.dat #53"
2954                 html: "<math><annotation-xml><svg><foreignObject><div><math><mi></mi></math><span></span></div></foreignObject><path></path></svg></annotation-xml><mi>"
2955                 errors: 2
2956                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math annotation-xml>\n|         <svg svg>\n|           <svg foreignObject>\n|             <div>\n|               <math math>\n|                 <math mi>\n|               <span>\n|           <svg path>\n|       <math mi>\n"
2957         }, {
2958                 name: "tests10.dat #54"
2959                 html: "<math><annotation-xml><svg><foreignObject><math><mi><svg></svg></mi><mo></mo></math><span></span></foreignObject><path></path></svg></annotation-xml><mi>"
2960                 errors: 2
2961                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math annotation-xml>\n|         <svg svg>\n|           <svg foreignObject>\n|             <math math>\n|               <math mi>\n|                 <svg svg>\n|               <math mo>\n|             <span>\n|           <svg path>\n|       <math mi>\n"
2962         }, {
2963                 name: "tests11.dat #1"
2964                 html: "<!DOCTYPE html><body><svg attributeName='' attributeType='' baseFrequency='' baseProfile='' calcMode='' clipPathUnits='' diffuseConstant='' edgeMode='' filterUnits='' glyphRef='' gradientTransform='' gradientUnits='' kernelMatrix='' kernelUnitLength='' keyPoints='' keySplines='' keyTimes='' lengthAdjust='' limitingConeAngle='' markerHeight='' markerUnits='' markerWidth='' maskContentUnits='' maskUnits='' numOctaves='' pathLength='' patternContentUnits='' patternTransform='' patternUnits='' pointsAtX='' pointsAtY='' pointsAtZ='' preserveAlpha='' preserveAspectRatio='' primitiveUnits='' refX='' refY='' repeatCount='' repeatDur='' requiredExtensions='' requiredFeatures='' specularConstant='' specularExponent='' spreadMethod='' startOffset='' stdDeviation='' stitchTiles='' surfaceScale='' systemLanguage='' tableValues='' targetX='' targetY='' textLength='' viewBox='' viewTarget='' xChannelSelector='' yChannelSelector='' zoomAndPan=''></svg>"
2965                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       attributeName=\"\"\n|       attributeType=\"\"\n|       baseFrequency=\"\"\n|       baseProfile=\"\"\n|       calcMode=\"\"\n|       clipPathUnits=\"\"\n|       diffuseConstant=\"\"\n|       edgeMode=\"\"\n|       filterUnits=\"\"\n|       glyphRef=\"\"\n|       gradientTransform=\"\"\n|       gradientUnits=\"\"\n|       kernelMatrix=\"\"\n|       kernelUnitLength=\"\"\n|       keyPoints=\"\"\n|       keySplines=\"\"\n|       keyTimes=\"\"\n|       lengthAdjust=\"\"\n|       limitingConeAngle=\"\"\n|       markerHeight=\"\"\n|       markerUnits=\"\"\n|       markerWidth=\"\"\n|       maskContentUnits=\"\"\n|       maskUnits=\"\"\n|       numOctaves=\"\"\n|       pathLength=\"\"\n|       patternContentUnits=\"\"\n|       patternTransform=\"\"\n|       patternUnits=\"\"\n|       pointsAtX=\"\"\n|       pointsAtY=\"\"\n|       pointsAtZ=\"\"\n|       preserveAlpha=\"\"\n|       preserveAspectRatio=\"\"\n|       primitiveUnits=\"\"\n|       refX=\"\"\n|       refY=\"\"\n|       repeatCount=\"\"\n|       repeatDur=\"\"\n|       requiredExtensions=\"\"\n|       requiredFeatures=\"\"\n|       specularConstant=\"\"\n|       specularExponent=\"\"\n|       spreadMethod=\"\"\n|       startOffset=\"\"\n|       stdDeviation=\"\"\n|       stitchTiles=\"\"\n|       surfaceScale=\"\"\n|       systemLanguage=\"\"\n|       tableValues=\"\"\n|       targetX=\"\"\n|       targetY=\"\"\n|       textLength=\"\"\n|       viewBox=\"\"\n|       viewTarget=\"\"\n|       xChannelSelector=\"\"\n|       yChannelSelector=\"\"\n|       zoomAndPan=\"\"\n"
2966         }, {
2967                 name: "tests11.dat #2"
2968                 html: "<!DOCTYPE html><BODY><SVG ATTRIBUTENAME='' ATTRIBUTETYPE='' BASEFREQUENCY='' BASEPROFILE='' CALCMODE='' CLIPPATHUNITS='' DIFFUSECONSTANT='' EDGEMODE='' FILTERUNITS='' GLYPHREF='' GRADIENTTRANSFORM='' GRADIENTUNITS='' KERNELMATRIX='' KERNELUNITLENGTH='' KEYPOINTS='' KEYSPLINES='' KEYTIMES='' LENGTHADJUST='' LIMITINGCONEANGLE='' MARKERHEIGHT='' MARKERUNITS='' MARKERWIDTH='' MASKCONTENTUNITS='' MASKUNITS='' NUMOCTAVES='' PATHLENGTH='' PATTERNCONTENTUNITS='' PATTERNTRANSFORM='' PATTERNUNITS='' POINTSATX='' POINTSATY='' POINTSATZ='' PRESERVEALPHA='' PRESERVEASPECTRATIO='' PRIMITIVEUNITS='' REFX='' REFY='' REPEATCOUNT='' REPEATDUR='' REQUIREDEXTENSIONS='' REQUIREDFEATURES='' SPECULARCONSTANT='' SPECULAREXPONENT='' SPREADMETHOD='' STARTOFFSET='' STDDEVIATION='' STITCHTILES='' SURFACESCALE='' SYSTEMLANGUAGE='' TABLEVALUES='' TARGETX='' TARGETY='' TEXTLENGTH='' VIEWBOX='' VIEWTARGET='' XCHANNELSELECTOR='' YCHANNELSELECTOR='' ZOOMANDPAN=''></SVG>"
2969                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       attributeName=\"\"\n|       attributeType=\"\"\n|       baseFrequency=\"\"\n|       baseProfile=\"\"\n|       calcMode=\"\"\n|       clipPathUnits=\"\"\n|       diffuseConstant=\"\"\n|       edgeMode=\"\"\n|       filterUnits=\"\"\n|       glyphRef=\"\"\n|       gradientTransform=\"\"\n|       gradientUnits=\"\"\n|       kernelMatrix=\"\"\n|       kernelUnitLength=\"\"\n|       keyPoints=\"\"\n|       keySplines=\"\"\n|       keyTimes=\"\"\n|       lengthAdjust=\"\"\n|       limitingConeAngle=\"\"\n|       markerHeight=\"\"\n|       markerUnits=\"\"\n|       markerWidth=\"\"\n|       maskContentUnits=\"\"\n|       maskUnits=\"\"\n|       numOctaves=\"\"\n|       pathLength=\"\"\n|       patternContentUnits=\"\"\n|       patternTransform=\"\"\n|       patternUnits=\"\"\n|       pointsAtX=\"\"\n|       pointsAtY=\"\"\n|       pointsAtZ=\"\"\n|       preserveAlpha=\"\"\n|       preserveAspectRatio=\"\"\n|       primitiveUnits=\"\"\n|       refX=\"\"\n|       refY=\"\"\n|       repeatCount=\"\"\n|       repeatDur=\"\"\n|       requiredExtensions=\"\"\n|       requiredFeatures=\"\"\n|       specularConstant=\"\"\n|       specularExponent=\"\"\n|       spreadMethod=\"\"\n|       startOffset=\"\"\n|       stdDeviation=\"\"\n|       stitchTiles=\"\"\n|       surfaceScale=\"\"\n|       systemLanguage=\"\"\n|       tableValues=\"\"\n|       targetX=\"\"\n|       targetY=\"\"\n|       textLength=\"\"\n|       viewBox=\"\"\n|       viewTarget=\"\"\n|       xChannelSelector=\"\"\n|       yChannelSelector=\"\"\n|       zoomAndPan=\"\"\n"
2970         }, {
2971                 name: "tests11.dat #3"
2972                 html: "<!DOCTYPE html><body><svg attributename='' attributetype='' basefrequency='' baseprofile='' calcmode='' clippathunits='' diffuseconstant='' edgemode='' filterunits='' filterres='' glyphref='' gradienttransform='' gradientunits='' kernelmatrix='' kernelunitlength='' keypoints='' keysplines='' keytimes='' lengthadjust='' limitingconeangle='' markerheight='' markerunits='' markerwidth='' maskcontentunits='' maskunits='' numoctaves='' pathlength='' patterncontentunits='' patterntransform='' patternunits='' pointsatx='' pointsaty='' pointsatz='' preservealpha='' preserveaspectratio='' primitiveunits='' refx='' refy='' repeatcount='' repeatdur='' requiredextensions='' requiredfeatures='' specularconstant='' specularexponent='' spreadmethod='' startoffset='' stddeviation='' stitchtiles='' surfacescale='' systemlanguage='' tablevalues='' targetx='' targety='' textlength='' viewbox='' viewtarget='' xchannelselector='' ychannelselector='' zoomandpan=''></svg>"
2973                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       attributeName=\"\"\n|       attributeType=\"\"\n|       baseFrequency=\"\"\n|       baseProfile=\"\"\n|       calcMode=\"\"\n|       clipPathUnits=\"\"\n|       diffuseConstant=\"\"\n|       edgeMode=\"\"\n|       filterUnits=\"\"\n|       filterres=\"\"\n|       glyphRef=\"\"\n|       gradientTransform=\"\"\n|       gradientUnits=\"\"\n|       kernelMatrix=\"\"\n|       kernelUnitLength=\"\"\n|       keyPoints=\"\"\n|       keySplines=\"\"\n|       keyTimes=\"\"\n|       lengthAdjust=\"\"\n|       limitingConeAngle=\"\"\n|       markerHeight=\"\"\n|       markerUnits=\"\"\n|       markerWidth=\"\"\n|       maskContentUnits=\"\"\n|       maskUnits=\"\"\n|       numOctaves=\"\"\n|       pathLength=\"\"\n|       patternContentUnits=\"\"\n|       patternTransform=\"\"\n|       patternUnits=\"\"\n|       pointsAtX=\"\"\n|       pointsAtY=\"\"\n|       pointsAtZ=\"\"\n|       preserveAlpha=\"\"\n|       preserveAspectRatio=\"\"\n|       primitiveUnits=\"\"\n|       refX=\"\"\n|       refY=\"\"\n|       repeatCount=\"\"\n|       repeatDur=\"\"\n|       requiredExtensions=\"\"\n|       requiredFeatures=\"\"\n|       specularConstant=\"\"\n|       specularExponent=\"\"\n|       spreadMethod=\"\"\n|       startOffset=\"\"\n|       stdDeviation=\"\"\n|       stitchTiles=\"\"\n|       surfaceScale=\"\"\n|       systemLanguage=\"\"\n|       tableValues=\"\"\n|       targetX=\"\"\n|       targetY=\"\"\n|       textLength=\"\"\n|       viewBox=\"\"\n|       viewTarget=\"\"\n|       xChannelSelector=\"\"\n|       yChannelSelector=\"\"\n|       zoomAndPan=\"\"\n"
2974         }, {
2975                 name: "tests11.dat #4"
2976                 html: "<!DOCTYPE html><body><math attributeName='' attributeType='' baseFrequency='' baseProfile='' calcMode='' clipPathUnits='' diffuseConstant='' edgeMode='' filterUnits='' glyphRef='' gradientTransform='' gradientUnits='' kernelMatrix='' kernelUnitLength='' keyPoints='' keySplines='' keyTimes='' lengthAdjust='' limitingConeAngle='' markerHeight='' markerUnits='' markerWidth='' maskContentUnits='' maskUnits='' numOctaves='' pathLength='' patternContentUnits='' patternTransform='' patternUnits='' pointsAtX='' pointsAtY='' pointsAtZ='' preserveAlpha='' preserveAspectRatio='' primitiveUnits='' refX='' refY='' repeatCount='' repeatDur='' requiredExtensions='' requiredFeatures='' specularConstant='' specularExponent='' spreadMethod='' startOffset='' stdDeviation='' stitchTiles='' surfaceScale='' systemLanguage='' tableValues='' targetX='' targetY='' textLength='' viewBox='' viewTarget='' xChannelSelector='' yChannelSelector='' zoomAndPan=''></math>"
2977                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       attributename=\"\"\n|       attributetype=\"\"\n|       basefrequency=\"\"\n|       baseprofile=\"\"\n|       calcmode=\"\"\n|       clippathunits=\"\"\n|       diffuseconstant=\"\"\n|       edgemode=\"\"\n|       filterunits=\"\"\n|       glyphref=\"\"\n|       gradienttransform=\"\"\n|       gradientunits=\"\"\n|       kernelmatrix=\"\"\n|       kernelunitlength=\"\"\n|       keypoints=\"\"\n|       keysplines=\"\"\n|       keytimes=\"\"\n|       lengthadjust=\"\"\n|       limitingconeangle=\"\"\n|       markerheight=\"\"\n|       markerunits=\"\"\n|       markerwidth=\"\"\n|       maskcontentunits=\"\"\n|       maskunits=\"\"\n|       numoctaves=\"\"\n|       pathlength=\"\"\n|       patterncontentunits=\"\"\n|       patterntransform=\"\"\n|       patternunits=\"\"\n|       pointsatx=\"\"\n|       pointsaty=\"\"\n|       pointsatz=\"\"\n|       preservealpha=\"\"\n|       preserveaspectratio=\"\"\n|       primitiveunits=\"\"\n|       refx=\"\"\n|       refy=\"\"\n|       repeatcount=\"\"\n|       repeatdur=\"\"\n|       requiredextensions=\"\"\n|       requiredfeatures=\"\"\n|       specularconstant=\"\"\n|       specularexponent=\"\"\n|       spreadmethod=\"\"\n|       startoffset=\"\"\n|       stddeviation=\"\"\n|       stitchtiles=\"\"\n|       surfacescale=\"\"\n|       systemlanguage=\"\"\n|       tablevalues=\"\"\n|       targetx=\"\"\n|       targety=\"\"\n|       textlength=\"\"\n|       viewbox=\"\"\n|       viewtarget=\"\"\n|       xchannelselector=\"\"\n|       ychannelselector=\"\"\n|       zoomandpan=\"\"\n"
2978         }, {
2979                 name: "tests11.dat #5"
2980                 html: "<!DOCTYPE html><body><svg><altGlyph /><altGlyphDef /><altGlyphItem /><animateColor /><animateMotion /><animateTransform /><clipPath /><feBlend /><feColorMatrix /><feComponentTransfer /><feComposite /><feConvolveMatrix /><feDiffuseLighting /><feDisplacementMap /><feDistantLight /><feFlood /><feFuncA /><feFuncB /><feFuncG /><feFuncR /><feGaussianBlur /><feImage /><feMerge /><feMergeNode /><feMorphology /><feOffset /><fePointLight /><feSpecularLighting /><feSpotLight /><feTile /><feTurbulence /><foreignObject /><glyphRef /><linearGradient /><radialGradient /><textPath /></svg>"
2981                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg altGlyph>\n|       <svg altGlyphDef>\n|       <svg altGlyphItem>\n|       <svg animateColor>\n|       <svg animateMotion>\n|       <svg animateTransform>\n|       <svg clipPath>\n|       <svg feBlend>\n|       <svg feColorMatrix>\n|       <svg feComponentTransfer>\n|       <svg feComposite>\n|       <svg feConvolveMatrix>\n|       <svg feDiffuseLighting>\n|       <svg feDisplacementMap>\n|       <svg feDistantLight>\n|       <svg feFlood>\n|       <svg feFuncA>\n|       <svg feFuncB>\n|       <svg feFuncG>\n|       <svg feFuncR>\n|       <svg feGaussianBlur>\n|       <svg feImage>\n|       <svg feMerge>\n|       <svg feMergeNode>\n|       <svg feMorphology>\n|       <svg feOffset>\n|       <svg fePointLight>\n|       <svg feSpecularLighting>\n|       <svg feSpotLight>\n|       <svg feTile>\n|       <svg feTurbulence>\n|       <svg foreignObject>\n|       <svg glyphRef>\n|       <svg linearGradient>\n|       <svg radialGradient>\n|       <svg textPath>\n"
2982         }, {
2983                 name: "tests11.dat #6"
2984                 html: "<!DOCTYPE html><body><svg><altglyph /><altglyphdef /><altglyphitem /><animatecolor /><animatemotion /><animatetransform /><clippath /><feblend /><fecolormatrix /><fecomponenttransfer /><fecomposite /><feconvolvematrix /><fediffuselighting /><fedisplacementmap /><fedistantlight /><feflood /><fefunca /><fefuncb /><fefuncg /><fefuncr /><fegaussianblur /><feimage /><femerge /><femergenode /><femorphology /><feoffset /><fepointlight /><fespecularlighting /><fespotlight /><fetile /><feturbulence /><foreignobject /><glyphref /><lineargradient /><radialgradient /><textpath /></svg>"
2985                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg altGlyph>\n|       <svg altGlyphDef>\n|       <svg altGlyphItem>\n|       <svg animateColor>\n|       <svg animateMotion>\n|       <svg animateTransform>\n|       <svg clipPath>\n|       <svg feBlend>\n|       <svg feColorMatrix>\n|       <svg feComponentTransfer>\n|       <svg feComposite>\n|       <svg feConvolveMatrix>\n|       <svg feDiffuseLighting>\n|       <svg feDisplacementMap>\n|       <svg feDistantLight>\n|       <svg feFlood>\n|       <svg feFuncA>\n|       <svg feFuncB>\n|       <svg feFuncG>\n|       <svg feFuncR>\n|       <svg feGaussianBlur>\n|       <svg feImage>\n|       <svg feMerge>\n|       <svg feMergeNode>\n|       <svg feMorphology>\n|       <svg feOffset>\n|       <svg fePointLight>\n|       <svg feSpecularLighting>\n|       <svg feSpotLight>\n|       <svg feTile>\n|       <svg feTurbulence>\n|       <svg foreignObject>\n|       <svg glyphRef>\n|       <svg linearGradient>\n|       <svg radialGradient>\n|       <svg textPath>\n"
2986         }, {
2987                 name: "tests11.dat #7"
2988                 html: "<!DOCTYPE html><BODY><SVG><ALTGLYPH /><ALTGLYPHDEF /><ALTGLYPHITEM /><ANIMATECOLOR /><ANIMATEMOTION /><ANIMATETRANSFORM /><CLIPPATH /><FEBLEND /><FECOLORMATRIX /><FECOMPONENTTRANSFER /><FECOMPOSITE /><FECONVOLVEMATRIX /><FEDIFFUSELIGHTING /><FEDISPLACEMENTMAP /><FEDISTANTLIGHT /><FEFLOOD /><FEFUNCA /><FEFUNCB /><FEFUNCG /><FEFUNCR /><FEGAUSSIANBLUR /><FEIMAGE /><FEMERGE /><FEMERGENODE /><FEMORPHOLOGY /><FEOFFSET /><FEPOINTLIGHT /><FESPECULARLIGHTING /><FESPOTLIGHT /><FETILE /><FETURBULENCE /><FOREIGNOBJECT /><GLYPHREF /><LINEARGRADIENT /><RADIALGRADIENT /><TEXTPATH /></SVG>"
2989                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg altGlyph>\n|       <svg altGlyphDef>\n|       <svg altGlyphItem>\n|       <svg animateColor>\n|       <svg animateMotion>\n|       <svg animateTransform>\n|       <svg clipPath>\n|       <svg feBlend>\n|       <svg feColorMatrix>\n|       <svg feComponentTransfer>\n|       <svg feComposite>\n|       <svg feConvolveMatrix>\n|       <svg feDiffuseLighting>\n|       <svg feDisplacementMap>\n|       <svg feDistantLight>\n|       <svg feFlood>\n|       <svg feFuncA>\n|       <svg feFuncB>\n|       <svg feFuncG>\n|       <svg feFuncR>\n|       <svg feGaussianBlur>\n|       <svg feImage>\n|       <svg feMerge>\n|       <svg feMergeNode>\n|       <svg feMorphology>\n|       <svg feOffset>\n|       <svg fePointLight>\n|       <svg feSpecularLighting>\n|       <svg feSpotLight>\n|       <svg feTile>\n|       <svg feTurbulence>\n|       <svg foreignObject>\n|       <svg glyphRef>\n|       <svg linearGradient>\n|       <svg radialGradient>\n|       <svg textPath>\n"
2990         }, {
2991                 name: "tests11.dat #8"
2992                 html: "<!DOCTYPE html><body><math><altGlyph /><altGlyphDef /><altGlyphItem /><animateColor /><animateMotion /><animateTransform /><clipPath /><feBlend /><feColorMatrix /><feComponentTransfer /><feComposite /><feConvolveMatrix /><feDiffuseLighting /><feDisplacementMap /><feDistantLight /><feFlood /><feFuncA /><feFuncB /><feFuncG /><feFuncR /><feGaussianBlur /><feImage /><feMerge /><feMergeNode /><feMorphology /><feOffset /><fePointLight /><feSpecularLighting /><feSpotLight /><feTile /><feTurbulence /><foreignObject /><glyphRef /><linearGradient /><radialGradient /><textPath /></math>"
2993                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math altglyph>\n|       <math altglyphdef>\n|       <math altglyphitem>\n|       <math animatecolor>\n|       <math animatemotion>\n|       <math animatetransform>\n|       <math clippath>\n|       <math feblend>\n|       <math fecolormatrix>\n|       <math fecomponenttransfer>\n|       <math fecomposite>\n|       <math feconvolvematrix>\n|       <math fediffuselighting>\n|       <math fedisplacementmap>\n|       <math fedistantlight>\n|       <math feflood>\n|       <math fefunca>\n|       <math fefuncb>\n|       <math fefuncg>\n|       <math fefuncr>\n|       <math fegaussianblur>\n|       <math feimage>\n|       <math femerge>\n|       <math femergenode>\n|       <math femorphology>\n|       <math feoffset>\n|       <math fepointlight>\n|       <math fespecularlighting>\n|       <math fespotlight>\n|       <math fetile>\n|       <math feturbulence>\n|       <math foreignobject>\n|       <math glyphref>\n|       <math lineargradient>\n|       <math radialgradient>\n|       <math textpath>\n"
2994         }, {
2995                 name: "tests11.dat #9"
2996                 html: "<!DOCTYPE html><body><svg><solidColor /></svg>"
2997                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg solidcolor>\n"
2998         }, {
2999                 name: "tests12.dat #1"
3000                 html: "<!DOCTYPE html><body><p>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><P>spam<TABLE><tr><td><img></td></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar"
3001                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       \"foo\"\n|       <math math>\n|         <math mtext>\n|           <i>\n|             \"baz\"\n|         <math annotation-xml>\n|           <svg svg>\n|             <svg desc>\n|               <b>\n|                 \"eggs\"\n|             <svg g>\n|               <svg foreignObject>\n|                 <p>\n|                   \"spam\"\n|                 <table>\n|                   <tbody>\n|                     <tr>\n|                       <td>\n|                         <img>\n|             <svg g>\n|               \"quux\"\n|       \"bar\"\n"
3002         }, {
3003                 name: "tests12.dat #2"
3004                 html: "<!DOCTYPE html><body>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><P>spam<TABLE><tr><td><img></td></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar"
3005                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"foo\"\n|     <math math>\n|       <math mtext>\n|         <i>\n|           \"baz\"\n|       <math annotation-xml>\n|         <svg svg>\n|           <svg desc>\n|             <b>\n|               \"eggs\"\n|           <svg g>\n|             <svg foreignObject>\n|               <p>\n|                 \"spam\"\n|               <table>\n|                 <tbody>\n|                   <tr>\n|                     <td>\n|                       <img>\n|           <svg g>\n|             \"quux\"\n|     \"bar\"\n"
3006         }, {
3007                 name: "tests14.dat #1"
3008                 html: "<!DOCTYPE html><html><body><xyz:abc></xyz:abc>"
3009                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <xyz:abc>\n"
3010         }, {
3011                 name: "tests14.dat #2"
3012                 html: "<!DOCTYPE html><html><body><xyz:abc></xyz:abc><span></span>"
3013                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <xyz:abc>\n|     <span>\n"
3014         }, {
3015                 name: "tests14.dat #3"
3016                 html: "<!DOCTYPE html><html><html abc:def=gh><xyz:abc></xyz:abc>"
3017                 errors: 1
3018                 expected: "| <!DOCTYPE html>\n| <html>\n|   abc:def=\"gh\"\n|   <head>\n|   <body>\n|     <xyz:abc>\n"
3019         }, {
3020                 name: "tests14.dat #4"
3021                 html: "<!DOCTYPE html><html xml:lang=bar><html xml:lang=foo>"
3022                 errors: 1
3023                 expected: "| <!DOCTYPE html>\n| <html>\n|   xml:lang=\"bar\"\n|   <head>\n|   <body>\n"
3024         }, {
3025                 name: "tests14.dat #5"
3026                 html: "<!DOCTYPE html><html 123=456>"
3027                 expected: "| <!DOCTYPE html>\n| <html>\n|   123=\"456\"\n|   <head>\n|   <body>\n"
3028         }, {
3029                 name: "tests14.dat #6"
3030                 html: "<!DOCTYPE html><html 123=456><html 789=012>"
3031                 errors: 1
3032                 expected: "| <!DOCTYPE html>\n| <html>\n|   123=\"456\"\n|   789=\"012\"\n|   <head>\n|   <body>\n"
3033         }, {
3034                 name: "tests14.dat #7"
3035                 html: "<!DOCTYPE html><html><body 789=012>"
3036                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     789=\"012\"\n"
3037         }, {
3038                 name: "tests15.dat #1"
3039                 html: "<!DOCTYPE html><p><b><i><u></p> <p>X"
3040                 errors: 2
3041                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <b>\n|         <i>\n|           <u>\n|     <b>\n|       <i>\n|         <u>\n|           \" \"\n|           <p>\n|             \"X\"\n"
3042         }, {
3043                 name: "tests15.dat #2"
3044                 html: "<p><b><i><u></p>\n<p>X"
3045                 errors: 3
3046                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <b>\n|         <i>\n|           <u>\n|     <b>\n|       <i>\n|         <u>\n|           \"\n\"\n|           <p>\n|             \"X\"\n"
3047         }, {
3048                 name: "tests15.dat #3"
3049                 html: "<!doctype html></html> <head>"
3050                 errors: 2
3051                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \" \"\n"
3052         }, {
3053                 name: "tests15.dat #4"
3054                 html: "<!doctype html></body><meta>"
3055                 errors: 1
3056                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <meta>\n"
3057         }, {
3058                 name: "tests15.dat #5"
3059                 html: "<html></html><!-- foo -->"
3060                 errors: 1
3061                 expected: "| <html>\n|   <head>\n|   <body>\n| <!--  foo  -->\n"
3062         }, {
3063                 name: "tests15.dat #6"
3064                 html: "<!doctype html></body><title>X</title>"
3065                 errors: 1
3066                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <title>\n|       \"X\"\n"
3067         }, {
3068                 name: "tests15.dat #7"
3069                 html: "<!doctype html><table> X<meta></table>"
3070                 errors: 3
3071                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \" X\"\n|     <meta>\n|     <table>\n"
3072         }, {
3073                 name: "tests15.dat #8"
3074                 html: "<!doctype html><table> x</table>"
3075                 errors: 2
3076                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \" x\"\n|     <table>\n"
3077         }, {
3078                 name: "tests15.dat #9"
3079                 html: "<!doctype html><table> x </table>"
3080                 errors: 3
3081                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \" x \"\n|     <table>\n"
3082         }, {
3083                 name: "tests15.dat #10"
3084                 html: "<!doctype html><table><tr> x</table>"
3085                 errors: 2
3086                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \" x\"\n|     <table>\n|       <tbody>\n|         <tr>\n"
3087         }, {
3088                 name: "tests15.dat #11"
3089                 html: "<!doctype html><table>X<style> <tr>x </style> </table>"
3090                 errors: 1
3091                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"X\"\n|     <table>\n|       <style>\n|         \" <tr>x \"\n|       \" \"\n"
3092         }, {
3093                 name: "tests15.dat #12"
3094                 html: "<!doctype html><div><table><a>foo</a> <tr><td>bar</td> </tr></table></div>"
3095                 errors: 5
3096                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <a>\n|         \"foo\"\n|       <table>\n|         \" \"\n|         <tbody>\n|           <tr>\n|             <td>\n|               \"bar\"\n|             \" \"\n"
3097         }, {
3098                 name: "tests15.dat #13"
3099                 html: "<frame></frame></frame><frameset><frame><frameset><frame></frameset><noframes></frameset><noframes>"
3100                 errors: 7
3101                 expected: "| <html>\n|   <head>\n|   <frameset>\n|     <frame>\n|     <frameset>\n|       <frame>\n|     <noframes>\n|       \"</frameset><noframes>\"\n"
3102         }, {
3103                 name: "tests15.dat #14"
3104                 html: "<!DOCTYPE html><object></html>"
3105                 errors: 2
3106                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <object>\n"
3107         }, {
3108                 name: "tests16.dat #1"
3109                 html: "<!doctype html><script>"
3110                 errors: 1
3111                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|   <body>\n"
3112         }, {
3113                 name: "tests16.dat #2"
3114                 html: "<!doctype html><script>a"
3115                 errors: 1
3116                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"a\"\n|   <body>\n"
3117         }, {
3118                 name: "tests16.dat #3"
3119                 html: "<!doctype html><script><"
3120                 errors: 1
3121                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<\"\n|   <body>\n"
3122         }, {
3123                 name: "tests16.dat #4"
3124                 html: "<!doctype html><script></"
3125                 errors: 1
3126                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"</\"\n|   <body>\n"
3127         }, {
3128                 name: "tests16.dat #5"
3129                 html: "<!doctype html><script></S"
3130                 errors: 1
3131                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"</S\"\n|   <body>\n"
3132         }, {
3133                 name: "tests16.dat #6"
3134                 html: "<!doctype html><script></SC"
3135                 errors: 1
3136                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"</SC\"\n|   <body>\n"
3137         }, {
3138                 name: "tests16.dat #7"
3139                 html: "<!doctype html><script></SCR"
3140                 errors: 1
3141                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"</SCR\"\n|   <body>\n"
3142         }, {
3143                 name: "tests16.dat #8"
3144                 html: "<!doctype html><script></SCRI"
3145                 errors: 1
3146                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"</SCRI\"\n|   <body>\n"
3147         }, {
3148                 name: "tests16.dat #9"
3149                 html: "<!doctype html><script></SCRIP"
3150                 errors: 1
3151                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"</SCRIP\"\n|   <body>\n"
3152         }, {
3153                 name: "tests16.dat #10"
3154                 html: "<!doctype html><script></SCRIPT"
3155                 errors: 1
3156                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"</SCRIPT\"\n|   <body>\n"
3157         }, {
3158                 name: "tests16.dat #11"
3159                 html: "<!doctype html><script></SCRIPT "
3160                 errors: 2
3161                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|   <body>\n"
3162         }, {
3163                 name: "tests16.dat #12"
3164                 html: "<!doctype html><script></s"
3165                 errors: 1
3166                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"</s\"\n|   <body>\n"
3167         }, {
3168                 name: "tests16.dat #13"
3169                 html: "<!doctype html><script></sc"
3170                 errors: 1
3171                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"</sc\"\n|   <body>\n"
3172         }, {
3173                 name: "tests16.dat #14"
3174                 html: "<!doctype html><script></scr"
3175                 errors: 1
3176                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"</scr\"\n|   <body>\n"
3177         }, {
3178                 name: "tests16.dat #15"
3179                 html: "<!doctype html><script></scri"
3180                 errors: 1
3181                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"</scri\"\n|   <body>\n"
3182         }, {
3183                 name: "tests16.dat #16"
3184                 html: "<!doctype html><script></scrip"
3185                 errors: 1
3186                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"</scrip\"\n|   <body>\n"
3187         }, {
3188                 name: "tests16.dat #17"
3189                 html: "<!doctype html><script></script"
3190                 errors: 1
3191                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"</script\"\n|   <body>\n"
3192         }, {
3193                 name: "tests16.dat #18"
3194                 html: "<!doctype html><script></script "
3195                 errors: 2
3196                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|   <body>\n"
3197         }, {
3198                 name: "tests16.dat #19"
3199                 html: "<!doctype html><script><!"
3200                 errors: 1
3201                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!\"\n|   <body>\n"
3202         }, {
3203                 name: "tests16.dat #20"
3204                 html: "<!doctype html><script><!a"
3205                 errors: 1
3206                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!a\"\n|   <body>\n"
3207         }, {
3208                 name: "tests16.dat #21"
3209                 html: "<!doctype html><script><!-"
3210                 errors: 1
3211                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!-\"\n|   <body>\n"
3212         }, {
3213                 name: "tests16.dat #22"
3214                 html: "<!doctype html><script><!-a"
3215                 errors: 1
3216                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!-a\"\n|   <body>\n"
3217         }, {
3218                 name: "tests16.dat #23"
3219                 html: "<!doctype html><script><!--"
3220                 errors: 2
3221                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--\"\n|   <body>\n"
3222         }, {
3223                 name: "tests16.dat #24"
3224                 html: "<!doctype html><script><!--a"
3225                 errors: 2
3226                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--a\"\n|   <body>\n"
3227         }, {
3228                 name: "tests16.dat #25"
3229                 html: "<!doctype html><script><!--<"
3230                 errors: 2
3231                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<\"\n|   <body>\n"
3232         }, {
3233                 name: "tests16.dat #26"
3234                 html: "<!doctype html><script><!--<a"
3235                 errors: 2
3236                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<a\"\n|   <body>\n"
3237         }, {
3238                 name: "tests16.dat #27"
3239                 html: "<!doctype html><script><!--</"
3240                 errors: 2
3241                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--</\"\n|   <body>\n"
3242         }, {
3243                 name: "tests16.dat #28"
3244                 html: "<!doctype html><script><!--</script"
3245                 errors: 2
3246                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--</script\"\n|   <body>\n"
3247         }, {
3248                 name: "tests16.dat #29"
3249                 html: "<!doctype html><script><!--</script "
3250                 errors: 2
3251                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--\"\n|   <body>\n"
3252         }, {
3253                 name: "tests16.dat #30"
3254                 html: "<!doctype html><script><!--<s"
3255                 errors: 2
3256                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<s\"\n|   <body>\n"
3257         }, {
3258                 name: "tests16.dat #31"
3259                 html: "<!doctype html><script><!--<script"
3260                 errors: 2
3261                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script\"\n|   <body>\n"
3262         }, {
3263                 name: "tests16.dat #32"
3264                 html: "<!doctype html><script><!--<script "
3265                 errors: 2
3266                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script \"\n|   <body>\n"
3267         }, {
3268                 name: "tests16.dat #33"
3269                 html: "<!doctype html><script><!--<script <"
3270                 errors: 2
3271                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script <\"\n|   <body>\n"
3272         }, {
3273                 name: "tests16.dat #34"
3274                 html: "<!doctype html><script><!--<script <a"
3275                 errors: 2
3276                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script <a\"\n|   <body>\n"
3277         }, {
3278                 name: "tests16.dat #35"
3279                 html: "<!doctype html><script><!--<script </"
3280                 errors: 2
3281                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </\"\n|   <body>\n"
3282         }, {
3283                 name: "tests16.dat #36"
3284                 html: "<!doctype html><script><!--<script </s"
3285                 errors: 2
3286                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </s\"\n|   <body>\n"
3287         }, {
3288                 name: "tests16.dat #37"
3289                 html: "<!doctype html><script><!--<script </script"
3290                 errors: 2
3291                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script\"\n|   <body>\n"
3292         }, {
3293                 name: "tests16.dat #38"
3294                 html: "<!doctype html><script><!--<script </scripta"
3295                 errors: 2
3296                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </scripta\"\n|   <body>\n"
3297         }, {
3298                 name: "tests16.dat #39"
3299                 html: "<!doctype html><script><!--<script </script "
3300                 errors: 2
3301                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script \"\n|   <body>\n"
3302         }, {
3303                 name: "tests16.dat #40"
3304                 html: "<!doctype html><script><!--<script </script>"
3305                 errors: 2
3306                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script>\"\n|   <body>\n"
3307         }, {
3308                 name: "tests16.dat #41"
3309                 html: "<!doctype html><script><!--<script </script/"
3310                 errors: 2
3311                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script/\"\n|   <body>\n"
3312         }, {
3313                 name: "tests16.dat #42"
3314                 html: "<!doctype html><script><!--<script </script <"
3315                 errors: 2
3316                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script <\"\n|   <body>\n"
3317         }, {
3318                 name: "tests16.dat #43"
3319                 html: "<!doctype html><script><!--<script </script <a"
3320                 errors: 2
3321                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script <a\"\n|   <body>\n"
3322         }, {
3323                 name: "tests16.dat #44"
3324                 html: "<!doctype html><script><!--<script </script </"
3325                 errors: 2
3326                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script </\"\n|   <body>\n"
3327         }, {
3328                 name: "tests16.dat #45"
3329                 html: "<!doctype html><script><!--<script </script </script"
3330                 errors: 2
3331                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script </script\"\n|   <body>\n"
3332         }, {
3333                 name: "tests16.dat #46"
3334                 html: "<!doctype html><script><!--<script </script </script "
3335                 errors: 2
3336                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script \"\n|   <body>\n"
3337         }, {
3338                 name: "tests16.dat #47"
3339                 html: "<!doctype html><script><!--<script </script </script/"
3340                 errors: 2
3341                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script \"\n|   <body>\n"
3342         }, {
3343                 name: "tests16.dat #48"
3344                 html: "<!doctype html><script><!--<script </script </script>"
3345                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script \"\n|   <body>\n"
3346         }, {
3347                 name: "tests16.dat #49"
3348                 html: "<!doctype html><script><!--<script -"
3349                 errors: 2
3350                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script -\"\n|   <body>\n"
3351         }, {
3352                 name: "tests16.dat #50"
3353                 html: "<!doctype html><script><!--<script -a"
3354                 errors: 2
3355                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script -a\"\n|   <body>\n"
3356         }, {
3357                 name: "tests16.dat #51"
3358                 html: "<!doctype html><script><!--<script -<"
3359                 errors: 2
3360                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script -<\"\n|   <body>\n"
3361         }, {
3362                 name: "tests16.dat #52"
3363                 html: "<!doctype html><script><!--<script --"
3364                 errors: 2
3365                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script --\"\n|   <body>\n"
3366         }, {
3367                 name: "tests16.dat #53"
3368                 html: "<!doctype html><script><!--<script --a"
3369                 errors: 2
3370                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script --a\"\n|   <body>\n"
3371         }, {
3372                 name: "tests16.dat #54"
3373                 html: "<!doctype html><script><!--<script --<"
3374                 errors: 2
3375                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script --<\"\n|   <body>\n"
3376         }, {
3377                 name: "tests16.dat #55"
3378                 html: "<!doctype html><script><!--<script -->"
3379                 errors: 1
3380                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script -->\"\n|   <body>\n"
3381         }, {
3382                 name: "tests16.dat #56"
3383                 html: "<!doctype html><script><!--<script --><"
3384                 errors: 1
3385                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script --><\"\n|   <body>\n"
3386         }, {
3387                 name: "tests16.dat #57"
3388                 html: "<!doctype html><script><!--<script --></"
3389                 errors: 1
3390                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script --></\"\n|   <body>\n"
3391         }, {
3392                 name: "tests16.dat #58"
3393                 html: "<!doctype html><script><!--<script --></script"
3394                 errors: 1
3395                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script --></script\"\n|   <body>\n"
3396         }, {
3397                 name: "tests16.dat #59"
3398                 html: "<!doctype html><script><!--<script --></script "
3399                 errors: 2
3400                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script -->\"\n|   <body>\n"
3401         }, {
3402                 name: "tests16.dat #60"
3403                 html: "<!doctype html><script><!--<script --></script/"
3404                 errors: 2
3405                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script -->\"\n|   <body>\n"
3406         }, {
3407                 name: "tests16.dat #61"
3408                 html: "<!doctype html><script><!--<script --></script>"
3409                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script -->\"\n|   <body>\n"
3410         }, {
3411                 name: "tests16.dat #62"
3412                 html: "<!doctype html><script><!--<script><\\/script>--></script>"
3413                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script><\\/script>-->\"\n|   <body>\n"
3414         }, {
3415                 name: "tests16.dat #63"
3416                 html: "<!doctype html><script><!--<script></scr'+'ipt>--></script>"
3417                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></scr'+'ipt>-->\"\n|   <body>\n"
3418         }, {
3419                 name: "tests16.dat #64"
3420                 html: "<!doctype html><script><!--<script></script><script></script></script>"
3421                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></script><script></script>\"\n|   <body>\n"
3422         }, {
3423                 name: "tests16.dat #65"
3424                 html: "<!doctype html><script><!--<script></script><script></script>--><!--</script>"
3425                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></script><script></script>--><!--\"\n|   <body>\n"
3426         }, {
3427                 name: "tests16.dat #66"
3428                 html: "<!doctype html><script><!--<script></script><script></script>-- ></script>"
3429                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></script><script></script>-- >\"\n|   <body>\n"
3430         }, {
3431                 name: "tests16.dat #67"
3432                 html: "<!doctype html><script><!--<script></script><script></script>- -></script>"
3433                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></script><script></script>- ->\"\n|   <body>\n"
3434         }, {
3435                 name: "tests16.dat #68"
3436                 html: "<!doctype html><script><!--<script></script><script></script>- - ></script>"
3437                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></script><script></script>- - >\"\n|   <body>\n"
3438         }, {
3439                 name: "tests16.dat #69"
3440                 html: "<!doctype html><script><!--<script></script><script></script>-></script>"
3441                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></script><script></script>->\"\n|   <body>\n"
3442         }, {
3443                 name: "tests16.dat #70"
3444                 html: "<!doctype html><script><!--<script>--!></script>X"
3445                 errors: 2
3446                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script>--!></script>X\"\n|   <body>\n"
3447         }, {
3448                 name: "tests16.dat #71"
3449                 html: "<!doctype html><script><!--<scr'+'ipt></script>--></script>"
3450                 errors: 1
3451                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<scr'+'ipt>\"\n|   <body>\n|     \"-->\"\n"
3452         }, {
3453                 name: "tests16.dat #72"
3454                 html: "<!doctype html><script><!--<script></scr'+'ipt></script>X"
3455                 errors: 2
3456                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></scr'+'ipt></script>X\"\n|   <body>\n"
3457         }, {
3458                 name: "tests16.dat #73"
3459                 html: "<!doctype html><style><!--<style></style>--></style>"
3460                 errors: 1
3461                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <style>\n|       \"<!--<style>\"\n|   <body>\n|     \"-->\"\n"
3462         }, {
3463                 name: "tests16.dat #74"
3464                 html: "<!doctype html><style><!--</style>X"
3465                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <style>\n|       \"<!--\"\n|   <body>\n|     \"X\"\n"
3466         }, {
3467                 name: "tests16.dat #75"
3468                 html: "<!doctype html><style><!--...</style>...--></style>"
3469                 errors: 1
3470                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <style>\n|       \"<!--...\"\n|   <body>\n|     \"...-->\"\n"
3471         }, {
3472                 name: "tests16.dat #76"
3473                 html: "<!doctype html><style><!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style></style>X"
3474                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <style>\n|       \"<!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style>\"\n|   <body>\n|     \"X\"\n"
3475         }, {
3476                 name: "tests16.dat #77"
3477                 html: "<!doctype html><style><!--...<style><!--...--!></style>--></style>"
3478                 errors: 1
3479                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <style>\n|       \"<!--...<style><!--...--!>\"\n|   <body>\n|     \"-->\"\n"
3480         }, {
3481                 name: "tests16.dat #78"
3482                 html: "<!doctype html><style><!--...</style><!-- --><style>@import ...</style>"
3483                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <style>\n|       \"<!--...\"\n|     <!--   -->\n|     <style>\n|       \"@import ...\"\n|   <body>\n"
3484         }, {
3485                 name: "tests16.dat #79"
3486                 html: "<!doctype html><style>...<style><!--...</style><!-- --></style>"
3487                 errors: 1
3488                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <style>\n|       \"...<style><!--...\"\n|     <!--   -->\n|   <body>\n"
3489         }, {
3490                 name: "tests16.dat #80"
3491                 html: "<!doctype html><style>...<!--[if IE]><style>...</style>X"
3492                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <style>\n|       \"...<!--[if IE]><style>...\"\n|   <body>\n|     \"X\"\n"
3493         }, {
3494                 name: "tests16.dat #81"
3495                 html: "<!doctype html><title><!--<title></title>--></title>"
3496                 errors: 1
3497                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <title>\n|       \"<!--<title>\"\n|   <body>\n|     \"-->\"\n"
3498         }, {
3499                 name: "tests16.dat #82"
3500                 html: "<!doctype html><title>&lt;/title></title>"
3501                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <title>\n|       \"</title>\"\n|   <body>\n"
3502         }, {
3503                 name: "tests16.dat #83"
3504                 html: "<!doctype html><title>foo/title><link></head><body>X"
3505                 errors: 1
3506                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <title>\n|       \"foo/title><link></head><body>X\"\n|   <body>\n"
3507         }, {
3508                 name: "tests16.dat #84"
3509                 html: "<!doctype html><noscript><!--<noscript></noscript>--></noscript>"
3510                 scripting: true
3511                 errors: 1
3512                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <noscript>\n|       \"<!--<noscript>\"\n|   <body>\n|     \"-->\"\n"
3513         }, {
3514                 name: "tests16.dat #85"
3515                 html: "<!doctype html><noscript><!--<noscript></noscript>--></noscript>"
3516                 scripting: false
3517                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <noscript>\n|       <!-- <noscript></noscript> -->\n|   <body>\n"
3518         }, {
3519                 name: "tests16.dat #86"
3520                 html: "<!doctype html><noscript><!--</noscript>X<noscript>--></noscript>"
3521                 scripting: true
3522                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <noscript>\n|       \"<!--\"\n|   <body>\n|     \"X\"\n|     <noscript>\n|       \"-->\"\n"
3523         }, {
3524                 name: "tests16.dat #87"
3525                 html: "<!doctype html><noscript><!--</noscript>X<noscript>--></noscript>"
3526                 scripting: false
3527                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <noscript>\n|       <!-- </noscript>X<noscript> -->\n|   <body>\n"
3528         }, {
3529                 name: "tests16.dat #88"
3530                 html: "<!doctype html><noscript><iframe></noscript>X"
3531                 scripting: true
3532                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <noscript>\n|       \"<iframe>\"\n|   <body>\n|     \"X\"\n"
3533         }, {
3534                 name: "tests16.dat #89"
3535                 html: "<!doctype html><noscript><iframe></noscript>X"
3536                 scripting: false
3537                 errors: 2
3538                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <noscript>\n|   <body>\n|     <iframe>\n|       \"</noscript>X\"\n"
3539         }, {
3540                 name: "tests16.dat #90"
3541                 html: "<!doctype html><noframes><!--<noframes></noframes>--></noframes>"
3542                 errors: 1
3543                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <noframes>\n|       \"<!--<noframes>\"\n|   <body>\n|     \"-->\"\n"
3544         }, {
3545                 name: "tests16.dat #91"
3546                 html: "<!doctype html><noframes><body><script><!--...</script></body></noframes></html>"
3547                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <noframes>\n|       \"<body><script><!--...</script></body>\"\n|   <body>\n"
3548         }, {
3549                 name: "tests16.dat #92"
3550                 html: "<!doctype html><textarea><!--<textarea></textarea>--></textarea>"
3551                 errors: 1
3552                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <textarea>\n|       \"<!--<textarea>\"\n|     \"-->\"\n"
3553         }, {
3554                 name: "tests16.dat #93"
3555                 html: "<!doctype html><textarea>&lt;/textarea></textarea>"
3556                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <textarea>\n|       \"</textarea>\"\n"
3557         }, {
3558                 name: "tests16.dat #94"
3559                 html: "<!doctype html><textarea>&lt;</textarea>"
3560                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <textarea>\n|       \"<\"\n"
3561         }, {
3562                 name: "tests16.dat #95"
3563                 html: "<!doctype html><textarea>a&lt;b</textarea>"
3564                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <textarea>\n|       \"a<b\"\n"
3565         }, {
3566                 name: "tests16.dat #96"
3567                 html: "<!doctype html><iframe><!--<iframe></iframe>--></iframe>"
3568                 errors: 1
3569                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <iframe>\n|       \"<!--<iframe>\"\n|     \"-->\"\n"
3570         }, {
3571                 name: "tests16.dat #97"
3572                 html: "<!doctype html><iframe>...<!--X->...<!--/X->...</iframe>"
3573                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <iframe>\n|       \"...<!--X->...<!--/X->...\"\n"
3574         }, {
3575                 name: "tests16.dat #98"
3576                 html: "<!doctype html><xmp><!--<xmp></xmp>--></xmp>"
3577                 errors: 1
3578                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <xmp>\n|       \"<!--<xmp>\"\n|     \"-->\"\n"
3579         }, {
3580                 name: "tests16.dat #99"
3581                 html: "<!doctype html><noembed><!--<noembed></noembed>--></noembed>"
3582                 errors: 1
3583                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <noembed>\n|       \"<!--<noembed>\"\n|     \"-->\"\n"
3584         }, {
3585                 name: "tests16.dat #100"
3586                 html: "<script>"
3587                 errors: 2
3588                 expected: "| <html>\n|   <head>\n|     <script>\n|   <body>\n"
3589         }, {
3590                 name: "tests16.dat #101"
3591                 html: "<script>a"
3592                 errors: 2
3593                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"a\"\n|   <body>\n"
3594         }, {
3595                 name: "tests16.dat #102"
3596                 html: "<script><"
3597                 errors: 2
3598                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<\"\n|   <body>\n"
3599         }, {
3600                 name: "tests16.dat #103"
3601                 html: "<script></"
3602                 errors: 2
3603                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"</\"\n|   <body>\n"
3604         }, {
3605                 name: "tests16.dat #104"
3606                 html: "<script></S"
3607                 errors: 2
3608                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"</S\"\n|   <body>\n"
3609         }, {
3610                 name: "tests16.dat #105"
3611                 html: "<script></SC"
3612                 errors: 2
3613                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"</SC\"\n|   <body>\n"
3614         }, {
3615                 name: "tests16.dat #106"
3616                 html: "<script></SCR"
3617                 errors: 2
3618                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"</SCR\"\n|   <body>\n"
3619         }, {
3620                 name: "tests16.dat #107"
3621                 html: "<script></SCRI"
3622                 errors: 2
3623                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"</SCRI\"\n|   <body>\n"
3624         }, {
3625                 name: "tests16.dat #108"
3626                 html: "<script></SCRIP"
3627                 errors: 2
3628                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"</SCRIP\"\n|   <body>\n"
3629         }, {
3630                 name: "tests16.dat #109"
3631                 html: "<script></SCRIPT"
3632                 errors: 2
3633                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"</SCRIPT\"\n|   <body>\n"
3634         }, {
3635                 name: "tests16.dat #110"
3636                 html: "<script></SCRIPT "
3637                 errors: 3
3638                 expected: "| <html>\n|   <head>\n|     <script>\n|   <body>\n"
3639         }, {
3640                 name: "tests16.dat #111"
3641                 html: "<script></s"
3642                 errors: 2
3643                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"</s\"\n|   <body>\n"
3644         }, {
3645                 name: "tests16.dat #112"
3646                 html: "<script></sc"
3647                 errors: 2
3648                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"</sc\"\n|   <body>\n"
3649         }, {
3650                 name: "tests16.dat #113"
3651                 html: "<script></scr"
3652                 errors: 2
3653                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"</scr\"\n|   <body>\n"
3654         }, {
3655                 name: "tests16.dat #114"
3656                 html: "<script></scri"
3657                 errors: 2
3658                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"</scri\"\n|   <body>\n"
3659         }, {
3660                 name: "tests16.dat #115"
3661                 html: "<script></scrip"
3662                 errors: 2
3663                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"</scrip\"\n|   <body>\n"
3664         }, {
3665                 name: "tests16.dat #116"
3666                 html: "<script></script"
3667                 errors: 2
3668                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"</script\"\n|   <body>\n"
3669         }, {
3670                 name: "tests16.dat #117"
3671                 html: "<script></script "
3672                 errors: 3
3673                 expected: "| <html>\n|   <head>\n|     <script>\n|   <body>\n"
3674         }, {
3675                 name: "tests16.dat #118"
3676                 html: "<script><!"
3677                 errors: 2
3678                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!\"\n|   <body>\n"
3679         }, {
3680                 name: "tests16.dat #119"
3681                 html: "<script><!a"
3682                 errors: 2
3683                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!a\"\n|   <body>\n"
3684         }, {
3685                 name: "tests16.dat #120"
3686                 html: "<script><!-"
3687                 errors: 2
3688                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!-\"\n|   <body>\n"
3689         }, {
3690                 name: "tests16.dat #121"
3691                 html: "<script><!-a"
3692                 errors: 2
3693                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!-a\"\n|   <body>\n"
3694         }, {
3695                 name: "tests16.dat #122"
3696                 html: "<script><!--"
3697                 errors: 3
3698                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--\"\n|   <body>\n"
3699         }, {
3700                 name: "tests16.dat #123"
3701                 html: "<script><!--a"
3702                 errors: 3
3703                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--a\"\n|   <body>\n"
3704         }, {
3705                 name: "tests16.dat #124"
3706                 html: "<script><!--<"
3707                 errors: 3
3708                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<\"\n|   <body>\n"
3709         }, {
3710                 name: "tests16.dat #125"
3711                 html: "<script><!--<a"
3712                 errors: 3
3713                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<a\"\n|   <body>\n"
3714         }, {
3715                 name: "tests16.dat #126"
3716                 html: "<script><!--</"
3717                 errors: 3
3718                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--</\"\n|   <body>\n"
3719         }, {
3720                 name: "tests16.dat #127"
3721                 html: "<script><!--</script"
3722                 errors: 3
3723                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--</script\"\n|   <body>\n"
3724         }, {
3725                 name: "tests16.dat #128"
3726                 html: "<script><!--</script "
3727                 errors: 3
3728                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--\"\n|   <body>\n"
3729         }, {
3730                 name: "tests16.dat #129"
3731                 html: "<script><!--<s"
3732                 errors: 3
3733                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<s\"\n|   <body>\n"
3734         }, {
3735                 name: "tests16.dat #130"
3736                 html: "<script><!--<script"
3737                 errors: 3
3738                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script\"\n|   <body>\n"
3739         }, {
3740                 name: "tests16.dat #131"
3741                 html: "<script><!--<script "
3742                 errors: 3
3743                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script \"\n|   <body>\n"
3744         }, {
3745                 name: "tests16.dat #132"
3746                 html: "<script><!--<script <"
3747                 errors: 3
3748                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script <\"\n|   <body>\n"
3749         }, {
3750                 name: "tests16.dat #133"
3751                 html: "<script><!--<script <a"
3752                 errors: 3
3753                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script <a\"\n|   <body>\n"
3754         }, {
3755                 name: "tests16.dat #134"
3756                 html: "<script><!--<script </"
3757                 errors: 3
3758                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </\"\n|   <body>\n"
3759         }, {
3760                 name: "tests16.dat #135"
3761                 html: "<script><!--<script </s"
3762                 errors: 3
3763                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </s\"\n|   <body>\n"
3764         }, {
3765                 name: "tests16.dat #136"
3766                 html: "<script><!--<script </script"
3767                 errors: 3
3768                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script\"\n|   <body>\n"
3769         }, {
3770                 name: "tests16.dat #137"
3771                 html: "<script><!--<script </scripta"
3772                 errors: 3
3773                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </scripta\"\n|   <body>\n"
3774         }, {
3775                 name: "tests16.dat #138"
3776                 html: "<script><!--<script </script "
3777                 errors: 3
3778                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script \"\n|   <body>\n"
3779         }, {
3780                 name: "tests16.dat #139"
3781                 html: "<script><!--<script </script>"
3782                 errors: 3
3783                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script>\"\n|   <body>\n"
3784         }, {
3785                 name: "tests16.dat #140"
3786                 html: "<script><!--<script </script/"
3787                 errors: 3
3788                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script/\"\n|   <body>\n"
3789         }, {
3790                 name: "tests16.dat #141"
3791                 html: "<script><!--<script </script <"
3792                 errors: 3
3793                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script <\"\n|   <body>\n"
3794         }, {
3795                 name: "tests16.dat #142"
3796                 html: "<script><!--<script </script <a"
3797                 errors: 3
3798                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script <a\"\n|   <body>\n"
3799         }, {
3800                 name: "tests16.dat #143"
3801                 html: "<script><!--<script </script </"
3802                 errors: 3
3803                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script </\"\n|   <body>\n"
3804         }, {
3805                 name: "tests16.dat #144"
3806                 html: "<script><!--<script </script </script"
3807                 errors: 3
3808                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script </script\"\n|   <body>\n"
3809         }, {
3810                 name: "tests16.dat #145"
3811                 html: "<script><!--<script </script </script "
3812                 errors: 3
3813                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script \"\n|   <body>\n"
3814         }, {
3815                 name: "tests16.dat #146"
3816                 html: "<script><!--<script </script </script/"
3817                 errors: 3
3818                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script \"\n|   <body>\n"
3819         }, {
3820                 name: "tests16.dat #147"
3821                 html: "<script><!--<script </script </script>"
3822                 errors: 1
3823                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script </script \"\n|   <body>\n"
3824         }, {
3825                 name: "tests16.dat #148"
3826                 html: "<script><!--<script -"
3827                 errors: 3
3828                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script -\"\n|   <body>\n"
3829         }, {
3830                 name: "tests16.dat #149"
3831                 html: "<script><!--<script -a"
3832                 errors: 3
3833                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script -a\"\n|   <body>\n"
3834         }, {
3835                 name: "tests16.dat #150"
3836                 html: "<script><!--<script --"
3837                 errors: 3
3838                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script --\"\n|   <body>\n"
3839         }, {
3840                 name: "tests16.dat #151"
3841                 html: "<script><!--<script --a"
3842                 errors: 3
3843                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script --a\"\n|   <body>\n"
3844         }, {
3845                 name: "tests16.dat #152"
3846                 html: "<script><!--<script -->"
3847                 errors: 2
3848                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script -->\"\n|   <body>\n"
3849         }, {
3850                 name: "tests16.dat #153"
3851                 html: "<script><!--<script --><"
3852                 errors: 2
3853                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script --><\"\n|   <body>\n"
3854         }, {
3855                 name: "tests16.dat #154"
3856                 html: "<script><!--<script --></"
3857                 errors: 2
3858                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script --></\"\n|   <body>\n"
3859         }, {
3860                 name: "tests16.dat #155"
3861                 html: "<script><!--<script --></script"
3862                 errors: 2
3863                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script --></script\"\n|   <body>\n"
3864         }, {
3865                 name: "tests16.dat #156"
3866                 html: "<script><!--<script --></script "
3867                 errors: 3
3868                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script -->\"\n|   <body>\n"
3869         }, {
3870                 name: "tests16.dat #157"
3871                 html: "<script><!--<script --></script/"
3872                 errors: 3
3873                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script -->\"\n|   <body>\n"
3874         }, {
3875                 name: "tests16.dat #158"
3876                 html: "<script><!--<script --></script>"
3877                 errors: 1
3878                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script -->\"\n|   <body>\n"
3879         }, {
3880                 name: "tests16.dat #159"
3881                 html: "<script><!--<script><\\/script>--></script>"
3882                 errors: 1
3883                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script><\\/script>-->\"\n|   <body>\n"
3884         }, {
3885                 name: "tests16.dat #160"
3886                 html: "<script><!--<script></scr'+'ipt>--></script>"
3887                 errors: 1
3888                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></scr'+'ipt>-->\"\n|   <body>\n"
3889         }, {
3890                 name: "tests16.dat #161"
3891                 html: "<script><!--<script></script><script></script></script>"
3892                 errors: 1
3893                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></script><script></script>\"\n|   <body>\n"
3894         }, {
3895                 name: "tests16.dat #162"
3896                 html: "<script><!--<script></script><script></script>--><!--</script>"
3897                 errors: 1
3898                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></script><script></script>--><!--\"\n|   <body>\n"
3899         }, {
3900                 name: "tests16.dat #163"
3901                 html: "<script><!--<script></script><script></script>-- ></script>"
3902                 errors: 1
3903                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></script><script></script>-- >\"\n|   <body>\n"
3904         }, {
3905                 name: "tests16.dat #164"
3906                 html: "<script><!--<script></script><script></script>- -></script>"
3907                 errors: 1
3908                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></script><script></script>- ->\"\n|   <body>\n"
3909         }, {
3910                 name: "tests16.dat #165"
3911                 html: "<script><!--<script></script><script></script>- - ></script>"
3912                 errors: 1
3913                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></script><script></script>- - >\"\n|   <body>\n"
3914         }, {
3915                 name: "tests16.dat #166"
3916                 html: "<script><!--<script></script><script></script>-></script>"
3917                 errors: 1
3918                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></script><script></script>->\"\n|   <body>\n"
3919         }, {
3920                 name: "tests16.dat #167"
3921                 html: "<script><!--<script>--!></script>X"
3922                 errors: 3
3923                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script>--!></script>X\"\n|   <body>\n"
3924         }, {
3925                 name: "tests16.dat #168"
3926                 html: "<script><!--<scr'+'ipt></script>--></script>"
3927                 errors: 2
3928                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<scr'+'ipt>\"\n|   <body>\n|     \"-->\"\n"
3929         }, {
3930                 name: "tests16.dat #169"
3931                 html: "<script><!--<script></scr'+'ipt></script>X"
3932                 errors: 3
3933                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<!--<script></scr'+'ipt></script>X\"\n|   <body>\n"
3934         }, {
3935                 name: "tests16.dat #170"
3936                 html: "<style><!--<style></style>--></style>"
3937                 errors: 2
3938                 expected: "| <html>\n|   <head>\n|     <style>\n|       \"<!--<style>\"\n|   <body>\n|     \"-->\"\n"
3939         }, {
3940                 name: "tests16.dat #171"
3941                 html: "<style><!--</style>X"
3942                 errors: 1
3943                 expected: "| <html>\n|   <head>\n|     <style>\n|       \"<!--\"\n|   <body>\n|     \"X\"\n"
3944         }, {
3945                 name: "tests16.dat #172"
3946                 html: "<style><!--...</style>...--></style>"
3947                 errors: 2
3948                 expected: "| <html>\n|   <head>\n|     <style>\n|       \"<!--...\"\n|   <body>\n|     \"...-->\"\n"
3949         }, {
3950                 name: "tests16.dat #173"
3951                 html: "<style><!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style></style>X"
3952                 errors: 1
3953                 expected: "| <html>\n|   <head>\n|     <style>\n|       \"<!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style>\"\n|   <body>\n|     \"X\"\n"
3954         }, {
3955                 name: "tests16.dat #174"
3956                 html: "<style><!--...<style><!--...--!></style>--></style>"
3957                 errors: 2
3958                 expected: "| <html>\n|   <head>\n|     <style>\n|       \"<!--...<style><!--...--!>\"\n|   <body>\n|     \"-->\"\n"
3959         }, {
3960                 name: "tests16.dat #175"
3961                 html: "<style><!--...</style><!-- --><style>@import ...</style>"
3962                 errors: 1
3963                 expected: "| <html>\n|   <head>\n|     <style>\n|       \"<!--...\"\n|     <!--   -->\n|     <style>\n|       \"@import ...\"\n|   <body>\n"
3964         }, {
3965                 name: "tests16.dat #176"
3966                 html: "<style>...<style><!--...</style><!-- --></style>"
3967                 errors: 2
3968                 expected: "| <html>\n|   <head>\n|     <style>\n|       \"...<style><!--...\"\n|     <!--   -->\n|   <body>\n"
3969         }, {
3970                 name: "tests16.dat #177"
3971                 html: "<style>...<!--[if IE]><style>...</style>X"
3972                 errors: 1
3973                 expected: "| <html>\n|   <head>\n|     <style>\n|       \"...<!--[if IE]><style>...\"\n|   <body>\n|     \"X\"\n"
3974         }, {
3975                 name: "tests16.dat #178"
3976                 html: "<title><!--<title></title>--></title>"
3977                 errors: 2
3978                 expected: "| <html>\n|   <head>\n|     <title>\n|       \"<!--<title>\"\n|   <body>\n|     \"-->\"\n"
3979         }, {
3980                 name: "tests16.dat #179"
3981                 html: "<title>&lt;/title></title>"
3982                 errors: 1
3983                 expected: "| <html>\n|   <head>\n|     <title>\n|       \"</title>\"\n|   <body>\n"
3984         }, {
3985                 name: "tests16.dat #180"
3986                 html: "<title>foo/title><link></head><body>X"
3987                 errors: 2
3988                 expected: "| <html>\n|   <head>\n|     <title>\n|       \"foo/title><link></head><body>X\"\n|   <body>\n"
3989         }, {
3990                 name: "tests16.dat #181"
3991                 html: "<noscript><!--<noscript></noscript>--></noscript>"
3992                 scripting: true
3993                 errors: 2
3994                 expected: "| <html>\n|   <head>\n|     <noscript>\n|       \"<!--<noscript>\"\n|   <body>\n|     \"-->\"\n"
3995         }, {
3996                 name: "tests16.dat #182"
3997                 html: "<noscript><!--<noscript></noscript>--></noscript>"
3998                 scripting: false
3999                 errors: 1
4000                 expected: "| <html>\n|   <head>\n|     <noscript>\n|       <!-- <noscript></noscript> -->\n|   <body>\n"
4001         }, {
4002                 name: "tests16.dat #183"
4003                 html: "<noscript><!--</noscript>X<noscript>--></noscript>"
4004                 scripting: true
4005                 errors: 1
4006                 expected: "| <html>\n|   <head>\n|     <noscript>\n|       \"<!--\"\n|   <body>\n|     \"X\"\n|     <noscript>\n|       \"-->\"\n"
4007         }, {
4008                 name: "tests16.dat #184"
4009                 html: "<noscript><!--</noscript>X<noscript>--></noscript>"
4010                 scripting: false
4011                 errors: 1
4012                 expected: "| <html>\n|   <head>\n|     <noscript>\n|       <!-- </noscript>X<noscript> -->\n|   <body>\n"
4013         }, {
4014                 name: "tests16.dat #185"
4015                 html: "<noscript><iframe></noscript>X"
4016                 scripting: true
4017                 errors: 1
4018                 expected: "| <html>\n|   <head>\n|     <noscript>\n|       \"<iframe>\"\n|   <body>\n|     \"X\"\n"
4019         }, {
4020                 name: "tests16.dat #186"
4021                 html: "<noscript><iframe></noscript>X"
4022                 scripting: false
4023                 errors: 3
4024                 expected: "| <html>\n|   <head>\n|     <noscript>\n|   <body>\n|     <iframe>\n|       \"</noscript>X\"\n"
4025         }, {
4026                 name: "tests16.dat #187"
4027                 html: "<noframes><!--<noframes></noframes>--></noframes>"
4028                 errors: 2
4029                 expected: "| <html>\n|   <head>\n|     <noframes>\n|       \"<!--<noframes>\"\n|   <body>\n|     \"-->\"\n"
4030         }, {
4031                 name: "tests16.dat #188"
4032                 html: "<noframes><body><script><!--...</script></body></noframes></html>"
4033                 errors: 1
4034                 expected: "| <html>\n|   <head>\n|     <noframes>\n|       \"<body><script><!--...</script></body>\"\n|   <body>\n"
4035         }, {
4036                 name: "tests16.dat #189"
4037                 html: "<textarea><!--<textarea></textarea>--></textarea>"
4038                 errors: 2
4039                 expected: "| <html>\n|   <head>\n|   <body>\n|     <textarea>\n|       \"<!--<textarea>\"\n|     \"-->\"\n"
4040         }, {
4041                 name: "tests16.dat #190"
4042                 html: "<textarea>&lt;/textarea></textarea>"
4043                 errors: 1
4044                 expected: "| <html>\n|   <head>\n|   <body>\n|     <textarea>\n|       \"</textarea>\"\n"
4045         }, {
4046                 name: "tests16.dat #191"
4047                 html: "<iframe><!--<iframe></iframe>--></iframe>"
4048                 errors: 2
4049                 expected: "| <html>\n|   <head>\n|   <body>\n|     <iframe>\n|       \"<!--<iframe>\"\n|     \"-->\"\n"
4050         }, {
4051                 name: "tests16.dat #192"
4052                 html: "<iframe>...<!--X->...<!--/X->...</iframe>"
4053                 errors: 1
4054                 expected: "| <html>\n|   <head>\n|   <body>\n|     <iframe>\n|       \"...<!--X->...<!--/X->...\"\n"
4055         }, {
4056                 name: "tests16.dat #193"
4057                 html: "<xmp><!--<xmp></xmp>--></xmp>"
4058                 errors: 2
4059                 expected: "| <html>\n|   <head>\n|   <body>\n|     <xmp>\n|       \"<!--<xmp>\"\n|     \"-->\"\n"
4060         }, {
4061                 name: "tests16.dat #194"
4062                 html: "<noembed><!--<noembed></noembed>--></noembed>"
4063                 errors: 2
4064                 expected: "| <html>\n|   <head>\n|   <body>\n|     <noembed>\n|       \"<!--<noembed>\"\n|     \"-->\"\n"
4065         }, {
4066                 name: "tests16.dat #195"
4067                 html: "<!doctype html><table>\n"
4068                 errors: 1
4069                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       \"\n\"\n"
4070         }, {
4071                 name: "tests16.dat #196"
4072                 html: "<!doctype html><table><td><span><font></span><span>"
4073                 errors: 3
4074                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <span>\n|               <font>\n|             <font>\n|               <span>\n"
4075         }, {
4076                 name: "tests16.dat #197"
4077                 html: "<!doctype html><form><table></form><form></table></form>"
4078                 errors: 5
4079                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <form>\n|       <table>\n|         <form>\n"
4080         }, {
4081                 name: "tests17.dat #1"
4082                 html: "<!doctype html><table><tbody><select><tr>"
4083                 errors: 3
4084                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|     <table>\n|       <tbody>\n|         <tr>\n"
4085         }, {
4086                 name: "tests17.dat #2"
4087                 html: "<!doctype html><table><tr><select><td>"
4088                 errors: 3
4089                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n"
4090         }, {
4091                 name: "tests17.dat #3"
4092                 html: "<!doctype html><table><tr><td><select><td>"
4093                 errors: 2
4094                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <select>\n|           <td>\n"
4095         }, {
4096                 name: "tests17.dat #4"
4097                 html: "<!doctype html><table><tr><th><select><td>"
4098                 errors: 2
4099                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <th>\n|             <select>\n|           <td>\n"
4100         }, {
4101                 name: "tests17.dat #5"
4102                 html: "<!doctype html><table><caption><select><tr>"
4103                 errors: 2
4104                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n|         <select>\n|       <tbody>\n|         <tr>\n"
4105         }, {
4106                 name: "tests17.dat #6"
4107                 html: "<!doctype html><select><tr>"
4108                 errors: 2
4109                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n"
4110         }, {
4111                 name: "tests17.dat #7"
4112                 html: "<!doctype html><select><td>"
4113                 errors: 2
4114                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n"
4115         }, {
4116                 name: "tests17.dat #8"
4117                 html: "<!doctype html><select><th>"
4118                 errors: 2
4119                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n"
4120         }, {
4121                 name: "tests17.dat #9"
4122                 html: "<!doctype html><select><tbody>"
4123                 errors: 2
4124                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n"
4125         }, {
4126                 name: "tests17.dat #10"
4127                 html: "<!doctype html><select><thead>"
4128                 errors: 2
4129                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n"
4130         }, {
4131                 name: "tests17.dat #11"
4132                 html: "<!doctype html><select><tfoot>"
4133                 errors: 2
4134                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n"
4135         }, {
4136                 name: "tests17.dat #12"
4137                 html: "<!doctype html><select><caption>"
4138                 errors: 2
4139                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n"
4140         }, {
4141                 name: "tests17.dat #13"
4142                 html: "<!doctype html><table><tr></table>a"
4143                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|     \"a\"\n"
4144         }, {
4145                 name: "tests18.dat #1"
4146                 html: "<!doctype html><plaintext></plaintext>"
4147                 errors: 1
4148                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <plaintext>\n|       \"</plaintext>\"\n"
4149         }, {
4150                 name: "tests18.dat #2"
4151                 html: "<!doctype html><table><plaintext></plaintext>"
4152                 errors: 14
4153                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <plaintext>\n|       \"</plaintext>\"\n|     <table>\n"
4154         }, {
4155                 name: "tests18.dat #3"
4156                 html: "<!doctype html><table><tbody><plaintext></plaintext>"
4157                 errors: 14
4158                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <plaintext>\n|       \"</plaintext>\"\n|     <table>\n|       <tbody>\n"
4159         }, {
4160                 name: "tests18.dat #4"
4161                 html: "<!doctype html><table><tbody><tr><plaintext></plaintext>"
4162                 errors: 14
4163                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <plaintext>\n|       \"</plaintext>\"\n|     <table>\n|       <tbody>\n|         <tr>\n"
4164         }, {
4165                 name: "tests18.dat #5"
4166                 html: "<!doctype html><table><td><plaintext></plaintext>"
4167                 errors: 2
4168                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <plaintext>\n|               \"</plaintext>\"\n"
4169         }, {
4170                 name: "tests18.dat #6"
4171                 html: "<!doctype html><table><caption><plaintext></plaintext>"
4172                 errors: 1
4173                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n|         <plaintext>\n|           \"</plaintext>\"\n"
4174         }, {
4175                 name: "tests18.dat #7"
4176                 html: "<!doctype html><table><tr><style></script></style>abc"
4177                 errors: 4
4178                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"abc\"\n|     <table>\n|       <tbody>\n|         <tr>\n|           <style>\n|             \"</script>\"\n"
4179         }, {
4180                 name: "tests18.dat #8"
4181                 html: "<!doctype html><table><tr><script></style></script>abc"
4182                 errors: 4
4183                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"abc\"\n|     <table>\n|       <tbody>\n|         <tr>\n|           <script>\n|             \"</style>\"\n"
4184         }, {
4185                 name: "tests18.dat #9"
4186                 html: "<!doctype html><table><caption><style></script></style>abc"
4187                 errors: 1
4188                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n|         <style>\n|           \"</script>\"\n|         \"abc\"\n"
4189         }, {
4190                 name: "tests18.dat #10"
4191                 html: "<!doctype html><table><td><style></script></style>abc"
4192                 errors: 2
4193                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <style>\n|               \"</script>\"\n|             \"abc\"\n"
4194         }, {
4195                 name: "tests18.dat #11"
4196                 html: "<!doctype html><select><script></style></script>abc"
4197                 errors: 1
4198                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <script>\n|         \"</style>\"\n|       \"abc\"\n"
4199         }, {
4200                 name: "tests18.dat #12"
4201                 html: "<!doctype html><table><select><script></style></script>abc"
4202                 errors: 2
4203                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <script>\n|         \"</style>\"\n|       \"abc\"\n|     <table>\n"
4204         }, {
4205                 name: "tests18.dat #13"
4206                 html: "<!doctype html><table><tr><select><script></style></script>abc"
4207                 errors: 2
4208                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <script>\n|         \"</style>\"\n|       \"abc\"\n|     <table>\n|       <tbody>\n|         <tr>\n"
4209         }, {
4210                 name: "tests18.dat #14"
4211                 html: "<!doctype html><frameset></frameset><noframes>abc"
4212                 errors: 1
4213                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n|   <noframes>\n|     \"abc\"\n"
4214         }, {
4215                 name: "tests18.dat #15"
4216                 html: "<!doctype html><frameset></frameset><noframes>abc</noframes><!--abc-->"
4217                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n|   <noframes>\n|     \"abc\"\n|   <!-- abc -->\n"
4218         }, {
4219                 name: "tests18.dat #16"
4220                 html: "<!doctype html><frameset></frameset></html><noframes>abc"
4221                 errors: 1
4222                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n|   <noframes>\n|     \"abc\"\n"
4223         }, {
4224                 name: "tests18.dat #17"
4225                 html: "<!doctype html><frameset></frameset></html><noframes>abc</noframes><!--abc-->"
4226                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n|   <noframes>\n|     \"abc\"\n| <!-- abc -->\n"
4227         }, {
4228                 name: "tests18.dat #18"
4229                 html: "<!doctype html><table><tr></tbody><tfoot>"
4230                 errors: 1
4231                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|       <tfoot>\n"
4232         }, {
4233                 name: "tests18.dat #19"
4234                 html: "<!doctype html><table><td><svg></svg>abc<td>"
4235                 errors: 2
4236                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <svg svg>\n|             \"abc\"\n|           <td>\n"
4237         }, {
4238                 name: "tests19.dat #1"
4239                 html: "<!doctype html><math><mn DefinitionUrl=\"foo\">"
4240                 errors: 1
4241                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mn>\n|         definitionURL=\"foo\"\n"
4242         }, {
4243                 name: "tests19.dat #2"
4244                 html: "<!doctype html><html></p><!--foo-->"
4245                 errors: 1
4246                 expected: "| <!DOCTYPE html>\n| <html>\n|   <!-- foo -->\n|   <head>\n|   <body>\n"
4247         }, {
4248                 name: "tests19.dat #3"
4249                 html: "<!doctype html><head></head></p><!--foo-->"
4250                 errors: 1
4251                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <!-- foo -->\n|   <body>\n"
4252         }, {
4253                 name: "tests19.dat #4"
4254                 html: "<!doctype html><body><p><pre>"
4255                 errors: 1
4256                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|     <pre>\n"
4257         }, {
4258                 name: "tests19.dat #5"
4259                 html: "<!doctype html><body><p><listing>"
4260                 errors: 1
4261                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|     <listing>\n"
4262         }, {
4263                 name: "tests19.dat #6"
4264                 html: "<!doctype html><p><plaintext>"
4265                 errors: 1
4266                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|     <plaintext>\n"
4267         }, {
4268                 name: "tests19.dat #7"
4269                 html: "<!doctype html><p><h1>"
4270                 errors: 1
4271                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|     <h1>\n"
4272         }, {
4273                 name: "tests19.dat #8"
4274                 html: "<!doctype html><form><isindex>"
4275                 errors: 2
4276                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <form>\n"
4277         }, {
4278                 name: "tests19.dat #9"
4279                 html: "<!doctype html><isindex action=\"POST\">"
4280                 errors: 1
4281                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <form>\n|       action=\"POST\"\n|       <hr>\n|       <label>\n|         \"This is a searchable index. Enter search keywords: \"\n|         <input>\n|           name=\"isindex\"\n|       <hr>\n"
4282         }, {
4283                 name: "tests19.dat #10"
4284                 html: "<!doctype html><isindex prompt=\"this is isindex\">"
4285                 errors: 1
4286                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <form>\n|       <hr>\n|       <label>\n|         \"this is isindex\"\n|         <input>\n|           name=\"isindex\"\n|       <hr>\n"
4287         }, {
4288                 name: "tests19.dat #11"
4289                 html: "<!doctype html><isindex type=\"hidden\">"
4290                 errors: 1
4291                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <form>\n|       <hr>\n|       <label>\n|         \"This is a searchable index. Enter search keywords: \"\n|         <input>\n|           name=\"isindex\"\n|           type=\"hidden\"\n|       <hr>\n"
4292         }, {
4293                 name: "tests19.dat #12"
4294                 html: "<!doctype html><isindex name=\"foo\">"
4295                 errors: 1
4296                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <form>\n|       <hr>\n|       <label>\n|         \"This is a searchable index. Enter search keywords: \"\n|         <input>\n|           name=\"isindex\"\n|       <hr>\n"
4297         }, {
4298                 name: "tests19.dat #13"
4299                 html: "<!doctype html><ruby><p><rp>"
4300                 errors: 1
4301                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       <p>\n|       <rp>\n"
4302         }, {
4303                 name: "tests19.dat #14"
4304                 html: "<!doctype html><ruby><div><span><rp>"
4305                 errors: 2
4306                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       <div>\n|         <span>\n|           <rp>\n"
4307         }, {
4308                 name: "tests19.dat #15"
4309                 html: "<!doctype html><ruby><div><p><rp>"
4310                 errors: 2
4311                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       <div>\n|         <p>\n|         <rp>\n"
4312         }, {
4313                 name: "tests19.dat #16"
4314                 html: "<!doctype html><ruby><p><rt>"
4315                 errors: 1
4316                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       <p>\n|       <rt>\n"
4317         }, {
4318                 name: "tests19.dat #17"
4319                 html: "<!doctype html><ruby><div><span><rt>"
4320                 errors: 2
4321                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       <div>\n|         <span>\n|           <rt>\n"
4322         }, {
4323                 name: "tests19.dat #18"
4324                 html: "<!doctype html><ruby><div><p><rt>"
4325                 errors: 2
4326                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       <div>\n|         <p>\n|         <rt>\n"
4327         }, {
4328                 name: "tests19.dat #19"
4329                 html: "<html><ruby>a<rb>b<rt></ruby></html>"
4330                 errors: 1
4331                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rb>\n|         \"b\"\n|       <rt>\n"
4332         }, {
4333                 name: "tests19.dat #20"
4334                 html: "<html><ruby>a<rp>b<rt></ruby></html>"
4335                 errors: 1
4336                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rp>\n|         \"b\"\n|       <rt>\n"
4337         }, {
4338                 name: "tests19.dat #21"
4339                 html: "<html><ruby>a<rt>b<rt></ruby></html>"
4340                 errors: 1
4341                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rt>\n|         \"b\"\n|       <rt>\n"
4342         }, {
4343                 name: "tests19.dat #22"
4344                 html: "<html><ruby>a<rtc>b<rt>c<rb>d</ruby></html>"
4345                 errors: 1
4346                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       \"a\"\n|       <rtc>\n|         \"b\"\n|         <rt>\n|           \"c\"\n|       <rb>\n|         \"d\"\n"
4347         }, {
4348                 name: "tests19.dat #23"
4349                 html: "<!doctype html><math/><foo>"
4350                 errors: 1
4351                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|     <foo>\n"
4352         }, {
4353                 name: "tests19.dat #24"
4354                 html: "<!doctype html><svg/><foo>"
4355                 errors: 1
4356                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|     <foo>\n"
4357         }, {
4358                 name: "tests19.dat #25"
4359                 html: "<!doctype html><div></body><!--foo-->"
4360                 errors: 1
4361                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <div>\n|   <!-- foo -->\n"
4362         }, {
4363                 name: "tests19.dat #26"
4364                 html: "<!doctype html><h1><div><h3><span></h1>foo"
4365                 errors: 2
4366                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <h1>\n|       <div>\n|         <h3>\n|           <span>\n|         \"foo\"\n"
4367         }, {
4368                 name: "tests19.dat #27"
4369                 html: "<!doctype html><p></h3>foo"
4370                 errors: 1
4371                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       \"foo\"\n"
4372         }, {
4373                 name: "tests19.dat #28"
4374                 html: "<!doctype html><h3><li>abc</h2>foo"
4375                 errors: 1
4376                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <h3>\n|       <li>\n|         \"abc\"\n|     \"foo\"\n"
4377         }, {
4378                 name: "tests19.dat #29"
4379                 html: "<!doctype html><table>abc<!--foo-->"
4380                 errors: 4
4381                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"abc\"\n|     <table>\n|       <!-- foo -->\n"
4382         }, {
4383                 name: "tests19.dat #30"
4384                 html: "<!doctype html><table>  <!--foo-->"
4385                 errors: 1
4386                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       \"  \"\n|       <!-- foo -->\n"
4387         }, {
4388                 name: "tests19.dat #31"
4389                 html: "<!doctype html><table> b <!--foo-->"
4390                 errors: 4
4391                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \" b \"\n|     <table>\n|       <!-- foo -->\n"
4392         }, {
4393                 name: "tests19.dat #32"
4394                 html: "<!doctype html><select><option><option>"
4395                 errors: 1
4396                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <option>\n|       <option>\n"
4397         }, {
4398                 name: "tests19.dat #33"
4399                 html: "<!doctype html><select><option></optgroup>"
4400                 errors: 2
4401                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <option>\n"
4402         }, {
4403                 name: "tests19.dat #34"
4404                 html: "<!doctype html><select><option></optgroup>"
4405                 errors: 2
4406                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <option>\n"
4407         }, {
4408                 name: "tests19.dat #35"
4409                 html: "<!doctype html><dd><optgroup><dd>"
4410                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <dd>\n|       <optgroup>\n|     <dd>\n"
4411         }, {
4412                 name: "tests19.dat #36"
4413                 html: "<!doctype html><p><math><mi><p><h1>"
4414                 errors: 1
4415                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <math math>\n|         <math mi>\n|           <p>\n|           <h1>\n"
4416         }, {
4417                 name: "tests19.dat #37"
4418                 html: "<!doctype html><p><math><mo><p><h1>"
4419                 errors: 1
4420                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <math math>\n|         <math mo>\n|           <p>\n|           <h1>\n"
4421         }, {
4422                 name: "tests19.dat #38"
4423                 html: "<!doctype html><p><math><mn><p><h1>"
4424                 errors: 1
4425                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <math math>\n|         <math mn>\n|           <p>\n|           <h1>\n"
4426         }, {
4427                 name: "tests19.dat #39"
4428                 html: "<!doctype html><p><math><ms><p><h1>"
4429                 errors: 1
4430                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <math math>\n|         <math ms>\n|           <p>\n|           <h1>\n"
4431         }, {
4432                 name: "tests19.dat #40"
4433                 html: "<!doctype html><p><math><mtext><p><h1>"
4434                 errors: 1
4435                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <math math>\n|         <math mtext>\n|           <p>\n|           <h1>\n"
4436         }, {
4437                 name: "tests19.dat #41"
4438                 html: "<!doctype html><frameset></noframes>"
4439                 errors: 2
4440                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n"
4441         }, {
4442                 name: "tests19.dat #42"
4443                 html: "<!doctype html><html c=d><body></html><html a=b>"
4444                 errors: 1
4445                 expected: "| <!DOCTYPE html>\n| <html>\n|   a=\"b\"\n|   c=\"d\"\n|   <head>\n|   <body>\n"
4446         }, {
4447                 name: "tests19.dat #43"
4448                 html: "<!doctype html><html c=d><frameset></frameset></html><html a=b>"
4449                 errors: 1
4450                 expected: "| <!DOCTYPE html>\n| <html>\n|   a=\"b\"\n|   c=\"d\"\n|   <head>\n|   <frameset>\n"
4451         }, {
4452                 name: "tests19.dat #44"
4453                 html: "<!doctype html><html><frameset></frameset></html><!--foo-->"
4454                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n| <!-- foo -->\n"
4455         }, {
4456                 name: "tests19.dat #45"
4457                 html: "<!doctype html><html><frameset></frameset></html>  "
4458                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n|   \"  \"\n"
4459         }, {
4460                 name: "tests19.dat #46"
4461                 html: "<!doctype html><html><frameset></frameset></html>abc"
4462                 errors: 3
4463                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n"
4464         }, {
4465                 name: "tests19.dat #47"
4466                 html: "<!doctype html><html><frameset></frameset></html><p>"
4467                 errors: 1
4468                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n"
4469         }, {
4470                 name: "tests19.dat #48"
4471                 html: "<!doctype html><html><frameset></frameset></html></p>"
4472                 errors: 1
4473                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n"
4474         }, {
4475                 name: "tests19.dat #49"
4476                 html: "<html><frameset></frameset></html><!doctype html>"
4477                 errors: 2
4478                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
4479         }, {
4480                 name: "tests19.dat #50"
4481                 html: "<!doctype html><body><frameset>"
4482                 errors: 1
4483                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n"
4484         }, {
4485                 name: "tests19.dat #51"
4486                 html: "<!doctype html><p><frameset><frame>"
4487                 errors: 2
4488                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n|     <frame>\n"
4489         }, {
4490                 name: "tests19.dat #52"
4491                 html: "<!doctype html><p>a<frameset>"
4492                 errors: 1
4493                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       \"a\"\n"
4494         }, {
4495                 name: "tests19.dat #53"
4496                 html: "<!doctype html><p> <frameset><frame>"
4497                 errors: 2
4498                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n|     <frame>\n"
4499         }, {
4500                 name: "tests19.dat #54"
4501                 html: "<!doctype html><pre><frameset>"
4502                 errors: 2
4503                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <pre>\n"
4504         }, {
4505                 name: "tests19.dat #55"
4506                 html: "<!doctype html><listing><frameset>"
4507                 errors: 2
4508                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <listing>\n"
4509         }, {
4510                 name: "tests19.dat #56"
4511                 html: "<!doctype html><li><frameset>"
4512                 errors: 1
4513                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <li>\n"
4514         }, {
4515                 name: "tests19.dat #57"
4516                 html: "<!doctype html><dd><frameset>"
4517                 errors: 1
4518                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <dd>\n"
4519         }, {
4520                 name: "tests19.dat #58"
4521                 html: "<!doctype html><dt><frameset>"
4522                 errors: 1
4523                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <dt>\n"
4524         }, {
4525                 name: "tests19.dat #59"
4526                 html: "<!doctype html><button><frameset>"
4527                 errors: 2
4528                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <button>\n"
4529         }, {
4530                 name: "tests19.dat #60"
4531                 html: "<!doctype html><applet><frameset>"
4532                 errors: 2
4533                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <applet>\n"
4534         }, {
4535                 name: "tests19.dat #61"
4536                 html: "<!doctype html><marquee><frameset>"
4537                 errors: 2
4538                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <marquee>\n"
4539         }, {
4540                 name: "tests19.dat #62"
4541                 html: "<!doctype html><object><frameset>"
4542                 errors: 2
4543                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <object>\n"
4544         }, {
4545                 name: "tests19.dat #63"
4546                 html: "<!doctype html><table><frameset>"
4547                 errors: 3
4548                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n"
4549         }, {
4550                 name: "tests19.dat #64"
4551                 html: "<!doctype html><area><frameset>"
4552                 errors: 1
4553                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <area>\n"
4554         }, {
4555                 name: "tests19.dat #65"
4556                 html: "<!doctype html><basefont><frameset>"
4557                 errors: 1
4558                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <basefont>\n|   <frameset>\n"
4559         }, {
4560                 name: "tests19.dat #66"
4561                 html: "<!doctype html><bgsound><frameset>"
4562                 errors: 1
4563                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <bgsound>\n|   <frameset>\n"
4564         }, {
4565                 name: "tests19.dat #67"
4566                 html: "<!doctype html><br><frameset>"
4567                 errors: 1
4568                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <br>\n"
4569         }, {
4570                 name: "tests19.dat #68"
4571                 html: "<!doctype html><embed><frameset>"
4572                 errors: 1
4573                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <embed>\n"
4574         }, {
4575                 name: "tests19.dat #69"
4576                 html: "<!doctype html><img><frameset>"
4577                 errors: 1
4578                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <img>\n"
4579         }, {
4580                 name: "tests19.dat #70"
4581                 html: "<!doctype html><input><frameset>"
4582                 errors: 1
4583                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <input>\n"
4584         }, {
4585                 name: "tests19.dat #71"
4586                 html: "<!doctype html><keygen><frameset>"
4587                 errors: 1
4588                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <keygen>\n"
4589         }, {
4590                 name: "tests19.dat #72"
4591                 html: "<!doctype html><wbr><frameset>"
4592                 errors: 1
4593                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <wbr>\n"
4594         }, {
4595                 name: "tests19.dat #73"
4596                 html: "<!doctype html><hr><frameset>"
4597                 errors: 1
4598                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <hr>\n"
4599         }, {
4600                 name: "tests19.dat #74"
4601                 html: "<!doctype html><textarea></textarea><frameset>"
4602                 errors: 1
4603                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <textarea>\n"
4604         }, {
4605                 name: "tests19.dat #75"
4606                 html: "<!doctype html><xmp></xmp><frameset>"
4607                 errors: 1
4608                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <xmp>\n"
4609         }, {
4610                 name: "tests19.dat #76"
4611                 html: "<!doctype html><iframe></iframe><frameset>"
4612                 errors: 1
4613                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <iframe>\n"
4614         }, {
4615                 name: "tests19.dat #77"
4616                 html: "<!doctype html><select></select><frameset>"
4617                 errors: 1
4618                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n"
4619         }, {
4620                 name: "tests19.dat #78"
4621                 html: "<!doctype html><svg></svg><frameset><frame>"
4622                 errors: 2
4623                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n|     <frame>\n"
4624         }, {
4625                 name: "tests19.dat #79"
4626                 html: "<!doctype html><math></math><frameset><frame>"
4627                 errors: 2
4628                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n|     <frame>\n"
4629         }, {
4630                 name: "tests19.dat #80"
4631                 html: "<!doctype html><svg><foreignObject><div> <frameset><frame>"
4632                 errors: 2
4633                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n|     <frame>\n"
4634         }, {
4635                 name: "tests19.dat #81"
4636                 html: "<!doctype html><svg>a</svg><frameset><frame>"
4637                 errors: 2
4638                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"a\"\n"
4639         }, {
4640                 name: "tests19.dat #82"
4641                 html: "<!doctype html><svg> </svg><frameset><frame>"
4642                 errors: 2
4643                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n|     <frame>\n"
4644         }, {
4645                 name: "tests19.dat #83"
4646                 html: "<html>aaa<frameset></frameset>"
4647                 errors: 3
4648                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"aaa\"\n"
4649         }, {
4650                 name: "tests19.dat #84"
4651                 html: "<html> a <frameset></frameset>"
4652                 errors: 3
4653                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"a \"\n"
4654         }, {
4655                 name: "tests19.dat #85"
4656                 html: "<!doctype html><div><frameset>"
4657                 errors: 2
4658                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n"
4659         }, {
4660                 name: "tests19.dat #86"
4661                 html: "<!doctype html><div><body><frameset>"
4662                 errors: 3
4663                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <div>\n"
4664         }, {
4665                 name: "tests19.dat #87"
4666                 html: "<!doctype html><p><math></p>a"
4667                 errors: 2
4668                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <math math>\n|     \"a\"\n"
4669         }, {
4670                 name: "tests19.dat #88"
4671                 html: "<!doctype html><p><math><mn><span></p>a"
4672                 errors: 2
4673                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <math math>\n|         <math mn>\n|           <span>\n|             <p>\n|             \"a\"\n"
4674         }, {
4675                 name: "tests19.dat #89"
4676                 html: "<!doctype html><math></html>"
4677                 errors: 3
4678                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n"
4679         }, {
4680                 name: "tests19.dat #90"
4681                 html: "<!doctype html><meta charset=\"ascii\">"
4682                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <meta>\n|       charset=\"ascii\"\n|   <body>\n"
4683         }, {
4684                 name: "tests19.dat #91"
4685                 html: "<!doctype html><meta http-equiv=\"content-type\" content=\"text/html;charset=ascii\">"
4686                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <meta>\n|       content=\"text/html;charset=ascii\"\n|       http-equiv=\"content-type\"\n|   <body>\n"
4687         }, {
4688                 name: "tests19.dat #92"
4689                 html: "<!doctype html><head><!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--><meta charset=\"utf8\">"
4690                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <!-- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -->\n|     <meta>\n|       charset=\"utf8\"\n|   <body>\n"
4691         }, {
4692                 name: "tests19.dat #93"
4693                 html: "<!doctype html><html a=b><head></head><html c=d>"
4694                 errors: 1
4695                 expected: "| <!DOCTYPE html>\n| <html>\n|   a=\"b\"\n|   c=\"d\"\n|   <head>\n|   <body>\n"
4696         }, {
4697                 name: "tests19.dat #94"
4698                 html: "<!doctype html><image/>"
4699                 errors: 1
4700                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <img>\n"
4701         }, {
4702                 name: "tests19.dat #95"
4703                 html: "<!doctype html>a<i>b<table>c<b>d</i>e</b>f"
4704                 errors: 9
4705                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"a\"\n|     <i>\n|       \"bc\"\n|       <b>\n|         \"de\"\n|       \"f\"\n|       <table>\n"
4706         }, {
4707                 name: "tests19.dat #96"
4708                 html: "<!doctype html><table><i>a<b>b<div>c<a>d</i>e</b>f"
4709                 errors: 17
4710                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <i>\n|       \"a\"\n|       <b>\n|         \"b\"\n|     <b>\n|     <div>\n|       <b>\n|         <i>\n|           \"c\"\n|           <a>\n|             \"d\"\n|         <a>\n|           \"e\"\n|       <a>\n|         \"f\"\n|     <table>\n"
4711         }, {
4712                 name: "tests19.dat #97"
4713                 html: "<!doctype html><i>a<b>b<div>c<a>d</i>e</b>f"
4714                 errors: 5
4715                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <i>\n|       \"a\"\n|       <b>\n|         \"b\"\n|     <b>\n|     <div>\n|       <b>\n|         <i>\n|           \"c\"\n|           <a>\n|             \"d\"\n|         <a>\n|           \"e\"\n|       <a>\n|         \"f\"\n"
4716         }, {
4717                 name: "tests19.dat #98"
4718                 html: "<!doctype html><table><i>a<b>b<div>c</i>"
4719                 errors: 9
4720                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <i>\n|       \"a\"\n|       <b>\n|         \"b\"\n|     <b>\n|       <div>\n|         <i>\n|           \"c\"\n|     <table>\n"
4721         }, {
4722                 name: "tests19.dat #99"
4723                 html: "<!doctype html><table><i>a<b>b<div>c<a>d</i>e</b>f"
4724                 errors: 17
4725                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <i>\n|       \"a\"\n|       <b>\n|         \"b\"\n|     <b>\n|     <div>\n|       <b>\n|         <i>\n|           \"c\"\n|           <a>\n|             \"d\"\n|         <a>\n|           \"e\"\n|       <a>\n|         \"f\"\n|     <table>\n"
4726         }, {
4727                 name: "tests19.dat #100"
4728                 html: "<!doctype html><table><i>a<div>b<tr>c<b>d</i>e"
4729                 errors: 11
4730                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <i>\n|       \"a\"\n|       <div>\n|         \"b\"\n|     <i>\n|       \"c\"\n|       <b>\n|         \"d\"\n|     <b>\n|       \"e\"\n|     <table>\n|       <tbody>\n|         <tr>\n"
4731         }, {
4732                 name: "tests19.dat #101"
4733                 html: "<!doctype html><table><td><table><i>a<div>b<b>c</i>d"
4734                 errors: 12
4735                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <i>\n|               \"a\"\n|             <div>\n|               <i>\n|                 \"b\"\n|                 <b>\n|                   \"c\"\n|               <b>\n|                 \"d\"\n|             <table>\n"
4736         }, {
4737                 name: "tests19.dat #102"
4738                 html: "<!doctype html><body><bgsound>"
4739                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <bgsound>\n"
4740         }, {
4741                 name: "tests19.dat #103"
4742                 html: "<!doctype html><body><basefont>"
4743                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <basefont>\n"
4744         }, {
4745                 name: "tests19.dat #104"
4746                 html: "<!doctype html><a><b></a><basefont>"
4747                 errors: 1
4748                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <a>\n|       <b>\n|     <basefont>\n"
4749         }, {
4750                 name: "tests19.dat #105"
4751                 html: "<!doctype html><a><b></a><bgsound>"
4752                 errors: 1
4753                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <a>\n|       <b>\n|     <bgsound>\n"
4754         }, {
4755                 name: "tests19.dat #106"
4756                 html: "<!doctype html><figcaption><article></figcaption>a"
4757                 errors: 1
4758                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <figcaption>\n|       <article>\n|     \"a\"\n"
4759         }, {
4760                 name: "tests19.dat #107"
4761                 html: "<!doctype html><summary><article></summary>a"
4762                 errors: 1
4763                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <summary>\n|       <article>\n|     \"a\"\n"
4764         }, {
4765                 name: "tests19.dat #108"
4766                 html: "<!doctype html><p><a><plaintext>b"
4767                 errors: 2
4768                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <a>\n|     <plaintext>\n|       <a>\n|         \"b\"\n"
4769         }, {
4770                 name: "tests19.dat #109"
4771                 html: "<!DOCTYPE html><div>a<a></div>b<p>c</p>d"
4772                 errors: 2
4773                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"a\"\n|       <a>\n|     <a>\n|       \"b\"\n|       <p>\n|         \"c\"\n|       \"d\"\n"
4774         }, {
4775                 name: "tests1.dat #1"
4776                 html: "Test"
4777                 errors: 1
4778                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"Test\"\n"
4779         }, {
4780                 name: "tests1.dat #2"
4781                 html: "<p>One<p>Two"
4782                 errors: 1
4783                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       \"One\"\n|     <p>\n|       \"Two\"\n"
4784         }, {
4785                 name: "tests1.dat #3"
4786                 html: "Line1<br>Line2<br>Line3<br>Line4"
4787                 errors: 1
4788                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"Line1\"\n|     <br>\n|     \"Line2\"\n|     <br>\n|     \"Line3\"\n|     <br>\n|     \"Line4\"\n"
4789         }, {
4790                 name: "tests1.dat #4"
4791                 html: "<html>"
4792                 errors: 1
4793                 expected: "| <html>\n|   <head>\n|   <body>\n"
4794         }, {
4795                 name: "tests1.dat #5"
4796                 html: "<head>"
4797                 errors: 1
4798                 expected: "| <html>\n|   <head>\n|   <body>\n"
4799         }, {
4800                 name: "tests1.dat #6"
4801                 html: "<body>"
4802                 errors: 1
4803                 expected: "| <html>\n|   <head>\n|   <body>\n"
4804         }, {
4805                 name: "tests1.dat #7"
4806                 html: "<html><head>"
4807                 errors: 1
4808                 expected: "| <html>\n|   <head>\n|   <body>\n"
4809         }, {
4810                 name: "tests1.dat #8"
4811                 html: "<html><head></head>"
4812                 errors: 1
4813                 expected: "| <html>\n|   <head>\n|   <body>\n"
4814         }, {
4815                 name: "tests1.dat #9"
4816                 html: "<html><head></head><body>"
4817                 errors: 1
4818                 expected: "| <html>\n|   <head>\n|   <body>\n"
4819         }, {
4820                 name: "tests1.dat #10"
4821                 html: "<html><head></head><body></body>"
4822                 errors: 1
4823                 expected: "| <html>\n|   <head>\n|   <body>\n"
4824         }, {
4825                 name: "tests1.dat #11"
4826                 html: "<html><head><body></body></html>"
4827                 errors: 1
4828                 expected: "| <html>\n|   <head>\n|   <body>\n"
4829         }, {
4830                 name: "tests1.dat #12"
4831                 html: "<html><head></body></html>"
4832                 errors: 1
4833                 expected: "| <html>\n|   <head>\n|   <body>\n"
4834         }, {
4835                 name: "tests1.dat #13"
4836                 html: "<html><head><body></html>"
4837                 errors: 1
4838                 expected: "| <html>\n|   <head>\n|   <body>\n"
4839         }, {
4840                 name: "tests1.dat #14"
4841                 html: "<html><body></html>"
4842                 errors: 1
4843                 expected: "| <html>\n|   <head>\n|   <body>\n"
4844         }, {
4845                 name: "tests1.dat #15"
4846                 html: "<body></html>"
4847                 errors: 1
4848                 expected: "| <html>\n|   <head>\n|   <body>\n"
4849         }, {
4850                 name: "tests1.dat #16"
4851                 html: "<head></html>"
4852                 errors: 1
4853                 expected: "| <html>\n|   <head>\n|   <body>\n"
4854         }, {
4855                 name: "tests1.dat #17"
4856                 html: "</head>"
4857                 errors: 1
4858                 expected: "| <html>\n|   <head>\n|   <body>\n"
4859         }, {
4860                 name: "tests1.dat #18"
4861                 html: "</body>"
4862                 errors: 1
4863                 expected: "| <html>\n|   <head>\n|   <body>\n"
4864         }, {
4865                 name: "tests1.dat #19"
4866                 html: "</html>"
4867                 errors: 1
4868                 expected: "| <html>\n|   <head>\n|   <body>\n"
4869         }, {
4870                 name: "tests1.dat #20"
4871                 html: "<b><table><td><i></table>"
4872                 errors: 4
4873                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <table>\n|         <tbody>\n|           <tr>\n|             <td>\n|               <i>\n"
4874         }, {
4875                 name: "tests1.dat #21"
4876                 html: "<b><table><td></b><i></table>X"
4877                 errors: 5
4878                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <table>\n|         <tbody>\n|           <tr>\n|             <td>\n|               <i>\n|       \"X\"\n"
4879         }, {
4880                 name: "tests1.dat #22"
4881                 html: "<h1>Hello<h2>World"
4882                 errors: 3
4883                 expected: "| <html>\n|   <head>\n|   <body>\n|     <h1>\n|       \"Hello\"\n|     <h2>\n|       \"World\"\n"
4884         }, {
4885                 name: "tests1.dat #23"
4886                 html: "<a><p>X<a>Y</a>Z</p></a>"
4887                 errors: 4
4888                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|     <p>\n|       <a>\n|         \"X\"\n|       <a>\n|         \"Y\"\n|       \"Z\"\n"
4889         }, {
4890                 name: "tests1.dat #24"
4891                 html: "<b><button>foo</b>bar"
4892                 errors: 3
4893                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|     <button>\n|       <b>\n|         \"foo\"\n|       \"bar\"\n"
4894         }, {
4895                 name: "tests1.dat #25"
4896                 html: "<!DOCTYPE html><span><button>foo</span>bar"
4897                 errors: 2
4898                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <span>\n|       <button>\n|         \"foobar\"\n"
4899         }, {
4900                 name: "tests1.dat #26"
4901                 html: "<p><b><div><marquee></p></b></div>X"
4902                 errors: 6
4903                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <b>\n|     <div>\n|       <b>\n|         <marquee>\n|           <p>\n|           \"X\"\n"
4904         }, {
4905                 name: "tests1.dat #27"
4906                 html: "<script><div></script></div><title><p></title><p><p>"
4907                 errors: 2
4908                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"<div>\"\n|     <title>\n|       \"<p>\"\n|   <body>\n|     <p>\n|     <p>\n"
4909         }, {
4910                 name: "tests1.dat #28"
4911                 html: "<!--><div>--<!-->"
4912                 errors: 4
4913                 expected: "| <!--  -->\n| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"--\"\n|       <!--  -->\n"
4914         }, {
4915                 name: "tests1.dat #29"
4916                 html: "<p><hr></p>"
4917                 errors: 2
4918                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|     <hr>\n|     <p>\n"
4919         }, {
4920                 name: "tests1.dat #30"
4921                 html: "<select><b><option><select><option></b></select>X"
4922                 errors: 6
4923                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <option>\n|     <option>\n|       \"X\"\n"
4924         }, {
4925                 name: "tests1.dat #31"
4926                 html: "<a><table><td><a><table></table><a></tr><a></table><b>X</b>C<a>Y"
4927                 errors: 9
4928                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       <a>\n|       <table>\n|         <tbody>\n|           <tr>\n|             <td>\n|               <a>\n|                 <table>\n|               <a>\n|     <a>\n|       <b>\n|         \"X\"\n|       \"C\"\n|     <a>\n|       \"Y\"\n"
4929         }, {
4930                 name: "tests1.dat #32"
4931                 html: "<a X>0<b>1<a Y>2"
4932                 errors: 4
4933                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       x=\"\"\n|       \"0\"\n|       <b>\n|         \"1\"\n|     <b>\n|       <a>\n|         y=\"\"\n|         \"2\"\n"
4934         }, {
4935                 name: "tests1.dat #33"
4936                 html: "<!-----><font><div>hello<table>excite!<b>me!<th><i>please!</tr><!--X-->"
4937                 errors: 16
4938                 expected: "| <!-- - -->\n| <html>\n|   <head>\n|   <body>\n|     <font>\n|       <div>\n|         \"helloexcite!\"\n|         <b>\n|           \"me!\"\n|         <table>\n|           <tbody>\n|             <tr>\n|               <th>\n|                 <i>\n|                   \"please!\"\n|             <!-- X -->\n"
4939         }, {
4940                 name: "tests1.dat #34"
4941                 html: "<!DOCTYPE html><li>hello<li>world<ul>how<li>do</ul>you</body><!--do-->"
4942                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <li>\n|       \"hello\"\n|     <li>\n|       \"world\"\n|       <ul>\n|         \"how\"\n|         <li>\n|           \"do\"\n|       \"you\"\n|   <!-- do -->\n"
4943         }, {
4944                 name: "tests1.dat #35"
4945                 html: "<!DOCTYPE html>A<option>B<optgroup>C<select>D</option>E"
4946                 errors: 2
4947                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"A\"\n|     <option>\n|       \"B\"\n|     <optgroup>\n|       \"C\"\n|       <select>\n|         \"DE\"\n"
4948         }, {
4949                 name: "tests1.dat #36"
4950                 html: "<"
4951                 errors: 2
4952                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"<\"\n"
4953         }, {
4954                 name: "tests1.dat #37"
4955                 html: "<#"
4956                 errors: 2
4957                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"<#\"\n"
4958         }, {
4959                 name: "tests1.dat #38"
4960                 html: "</"
4961                 errors: 2
4962                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"</\"\n"
4963         }, {
4964                 name: "tests1.dat #39"
4965                 html: "</#"
4966                 errors: 2
4967                 expected: "| <!-- # -->\n| <html>\n|   <head>\n|   <body>\n"
4968         }, {
4969                 name: "tests1.dat #40"
4970                 html: "<?"
4971                 errors: 2
4972                 expected: "| <!-- ? -->\n| <html>\n|   <head>\n|   <body>\n"
4973         }, {
4974                 name: "tests1.dat #41"
4975                 html: "<?#"
4976                 errors: 2
4977                 expected: "| <!-- ?# -->\n| <html>\n|   <head>\n|   <body>\n"
4978         }, {
4979                 name: "tests1.dat #42"
4980                 html: "<!"
4981                 errors: 2
4982                 expected: "| <!--  -->\n| <html>\n|   <head>\n|   <body>\n"
4983         }, {
4984                 name: "tests1.dat #43"
4985                 html: "<!#"
4986                 errors: 2
4987                 expected: "| <!-- # -->\n| <html>\n|   <head>\n|   <body>\n"
4988         }, {
4989                 name: "tests1.dat #44"
4990                 html: "<?COMMENT?>"
4991                 errors: 2
4992                 expected: "| <!-- ?COMMENT? -->\n| <html>\n|   <head>\n|   <body>\n"
4993         }, {
4994                 name: "tests1.dat #45"
4995                 html: "<!COMMENT>"
4996                 errors: 2
4997                 expected: "| <!-- COMMENT -->\n| <html>\n|   <head>\n|   <body>\n"
4998         }, {
4999                 name: "tests1.dat #46"
5000                 html: "</ COMMENT >"
5001                 errors: 2
5002                 expected: "| <!--  COMMENT  -->\n| <html>\n|   <head>\n|   <body>\n"
5003         }, {
5004                 name: "tests1.dat #47"
5005                 html: "<?COM--MENT?>"
5006                 errors: 2
5007                 expected: "| <!-- ?COM--MENT? -->\n| <html>\n|   <head>\n|   <body>\n"
5008         }, {
5009                 name: "tests1.dat #48"
5010                 html: "<!COM--MENT>"
5011                 errors: 2
5012                 expected: "| <!-- COM--MENT -->\n| <html>\n|   <head>\n|   <body>\n"
5013         }, {
5014                 name: "tests1.dat #49"
5015                 html: "</ COM--MENT >"
5016                 errors: 2
5017                 expected: "| <!--  COM--MENT  -->\n| <html>\n|   <head>\n|   <body>\n"
5018         }, {
5019                 name: "tests1.dat #50"
5020                 html: "<!DOCTYPE html><style> EOF"
5021                 errors: 1
5022                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <style>\n|       \" EOF\"\n|   <body>\n"
5023         }, {
5024                 name: "tests1.dat #51"
5025                 html: "<!DOCTYPE html><script> <!-- </script> --> </script> EOF"
5026                 errors: 1
5027                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \" <!-- \"\n|     \" \"\n|   <body>\n|     \"-->  EOF\"\n"
5028         }, {
5029                 name: "tests1.dat #52"
5030                 html: "<b><p></b>TEST"
5031                 errors: 2
5032                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|     <p>\n|       <b>\n|       \"TEST\"\n"
5033         }, {
5034                 name: "tests1.dat #53"
5035                 html: "<p id=a><b><p id=b></b>TEST"
5036                 errors: 3
5037                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       id=\"a\"\n|       <b>\n|     <p>\n|       id=\"b\"\n|       \"TEST\"\n"
5038         }, {
5039                 name: "tests1.dat #54"
5040                 html: "<b id=a><p><b id=b></p></b>TEST"
5041                 errors: 4
5042                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       id=\"a\"\n|       <p>\n|         <b>\n|           id=\"b\"\n|       \"TEST\"\n"
5043         }, {
5044                 name: "tests1.dat #55"
5045                 html: "<!DOCTYPE html><title>U-test</title><body><div><p>Test<u></p></div></body>"
5046                 errors: 1
5047                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <title>\n|       \"U-test\"\n|   <body>\n|     <div>\n|       <p>\n|         \"Test\"\n|         <u>\n"
5048         }, {
5049                 name: "tests1.dat #56"
5050                 html: "<!DOCTYPE html><font><table></font></table></font>"
5051                 errors: 2
5052                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <font>\n|       <table>\n"
5053         }, {
5054                 name: "tests1.dat #57"
5055                 html: "<font><p>hello<b>cruel</font>world"
5056                 errors: 4
5057                 expected: "| <html>\n|   <head>\n|   <body>\n|     <font>\n|     <p>\n|       <font>\n|         \"hello\"\n|         <b>\n|           \"cruel\"\n|       <b>\n|         \"world\"\n"
5058         }, {
5059                 name: "tests1.dat #58"
5060                 html: "<b>Test</i>Test"
5061                 errors: 3
5062                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       \"TestTest\"\n"
5063         }, {
5064                 name: "tests1.dat #59"
5065                 html: "<b>A<cite>B<div>C"
5066                 errors: 2
5067                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       \"A\"\n|       <cite>\n|         \"B\"\n|         <div>\n|           \"C\"\n"
5068         }, {
5069                 name: "tests1.dat #60"
5070                 html: "<b>A<cite>B<div>C</cite>D"
5071                 errors: 3
5072                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       \"A\"\n|       <cite>\n|         \"B\"\n|         <div>\n|           \"CD\"\n"
5073         }, {
5074                 name: "tests1.dat #61"
5075                 html: "<b>A<cite>B<div>C</b>D"
5076                 errors: 3
5077                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       \"A\"\n|       <cite>\n|         \"B\"\n|     <div>\n|       <b>\n|         \"C\"\n|       \"D\"\n"
5078         }, {
5079                 name: "tests1.dat #62"
5080                 html: ""
5081                 errors: 1
5082                 expected: "| <html>\n|   <head>\n|   <body>\n"
5083         }, {
5084                 name: "tests1.dat #63"
5085                 html: "<DIV>"
5086                 errors: 2
5087                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n"
5088         }, {
5089                 name: "tests1.dat #64"
5090                 html: "<DIV> abc"
5091                 errors: 2
5092                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \" abc\"\n"
5093         }, {
5094                 name: "tests1.dat #65"
5095                 html: "<DIV> abc <B>"
5096                 errors: 2
5097                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \" abc \"\n|       <b>\n"
5098         }, {
5099                 name: "tests1.dat #66"
5100                 html: "<DIV> abc <B> def"
5101                 errors: 2
5102                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \" abc \"\n|       <b>\n|         \" def\"\n"
5103         }, {
5104                 name: "tests1.dat #67"
5105                 html: "<DIV> abc <B> def <I>"
5106                 errors: 2
5107                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \" abc \"\n|       <b>\n|         \" def \"\n|         <i>\n"
5108         }, {
5109                 name: "tests1.dat #68"
5110                 html: "<DIV> abc <B> def <I> ghi"
5111                 errors: 2
5112                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \" abc \"\n|       <b>\n|         \" def \"\n|         <i>\n|           \" ghi\"\n"
5113         }, {
5114                 name: "tests1.dat #69"
5115                 html: "<DIV> abc <B> def <I> ghi <P>"
5116                 errors: 2
5117                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \" abc \"\n|       <b>\n|         \" def \"\n|         <i>\n|           \" ghi \"\n|           <p>\n"
5118         }, {
5119                 name: "tests1.dat #70"
5120                 html: "<DIV> abc <B> def <I> ghi <P> jkl"
5121                 errors: 2
5122                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \" abc \"\n|       <b>\n|         \" def \"\n|         <i>\n|           \" ghi \"\n|           <p>\n|             \" jkl\"\n"
5123         }, {
5124                 name: "tests1.dat #71"
5125                 html: "<DIV> abc <B> def <I> ghi <P> jkl </B>"
5126                 errors: 3
5127                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \" abc \"\n|       <b>\n|         \" def \"\n|         <i>\n|           \" ghi \"\n|       <i>\n|         <p>\n|           <b>\n|             \" jkl \"\n"
5128         }, {
5129                 name: "tests1.dat #72"
5130                 html: "<DIV> abc <B> def <I> ghi <P> jkl </B> mno"
5131                 errors: 3
5132                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \" abc \"\n|       <b>\n|         \" def \"\n|         <i>\n|           \" ghi \"\n|       <i>\n|         <p>\n|           <b>\n|             \" jkl \"\n|           \" mno\"\n"
5133         }, {
5134                 name: "tests1.dat #73"
5135                 html: "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I>"
5136                 errors: 4
5137                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \" abc \"\n|       <b>\n|         \" def \"\n|         <i>\n|           \" ghi \"\n|       <i>\n|       <p>\n|         <i>\n|           <b>\n|             \" jkl \"\n|           \" mno \"\n"
5138         }, {
5139                 name: "tests1.dat #74"
5140                 html: "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr"
5141                 errors: 4
5142                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \" abc \"\n|       <b>\n|         \" def \"\n|         <i>\n|           \" ghi \"\n|       <i>\n|       <p>\n|         <i>\n|           <b>\n|             \" jkl \"\n|           \" mno \"\n|         \" pqr\"\n"
5143         }, {
5144                 name: "tests1.dat #75"
5145                 html: "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr </P>"
5146                 errors: 4
5147                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \" abc \"\n|       <b>\n|         \" def \"\n|         <i>\n|           \" ghi \"\n|       <i>\n|       <p>\n|         <i>\n|           <b>\n|             \" jkl \"\n|           \" mno \"\n|         \" pqr \"\n"
5148         }, {
5149                 name: "tests1.dat #76"
5150                 html: "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr </P> stu"
5151                 errors: 4
5152                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \" abc \"\n|       <b>\n|         \" def \"\n|         <i>\n|           \" ghi \"\n|       <i>\n|       <p>\n|         <i>\n|           <b>\n|             \" jkl \"\n|           \" mno \"\n|         \" pqr \"\n|       \" stu\"\n"
5153         }, {
5154                 name: "tests1.dat #77"
5155                 html: "<test attribute---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->"
5156                 errors: 2
5157                 expected: "| <html>\n|   <head>\n|   <body>\n|     <test>\n|       attribute----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------=\"\"\n"
5158         }, {
5159                 name: "tests1.dat #78"
5160                 html: "<a href=\"blah\">aba<table><a href=\"foo\">br<tr><td></td></tr>x</table>aoe"
5161                 errors: 8
5162                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       href=\"blah\"\n|       \"aba\"\n|       <a>\n|         href=\"foo\"\n|         \"br\"\n|       <a>\n|         href=\"foo\"\n|         \"x\"\n|       <table>\n|         <tbody>\n|           <tr>\n|             <td>\n|     <a>\n|       href=\"foo\"\n|       \"aoe\"\n"
5163         }, {
5164                 name: "tests1.dat #79"
5165                 html: "<a href=\"blah\">aba<table><tr><td><a href=\"foo\">br</td></tr>x</table>aoe"
5166                 errors: 4
5167                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       href=\"blah\"\n|       \"abax\"\n|       <table>\n|         <tbody>\n|           <tr>\n|             <td>\n|               <a>\n|                 href=\"foo\"\n|                 \"br\"\n|       \"aoe\"\n"
5168         }, {
5169                 name: "tests1.dat #80"
5170                 html: "<table><a href=\"blah\">aba<tr><td><a href=\"foo\">br</td></tr>x</table>aoe"
5171                 errors: 8
5172                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       href=\"blah\"\n|       \"aba\"\n|     <a>\n|       href=\"blah\"\n|       \"x\"\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <a>\n|               href=\"foo\"\n|               \"br\"\n|     <a>\n|       href=\"blah\"\n|       \"aoe\"\n"
5173         }, {
5174                 name: "tests1.dat #81"
5175                 html: "<a href=a>aa<marquee>aa<a href=b>bb</marquee>aa"
5176                 errors: 3
5177                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       href=\"a\"\n|       \"aa\"\n|       <marquee>\n|         \"aa\"\n|         <a>\n|           href=\"b\"\n|           \"bb\"\n|       \"aa\"\n"
5178         }, {
5179                 name: "tests1.dat #82"
5180                 html: "<wbr><strike><code></strike><code><strike></code>"
5181                 errors: 4
5182                 expected: "| <html>\n|   <head>\n|   <body>\n|     <wbr>\n|     <strike>\n|       <code>\n|     <code>\n|       <code>\n|         <strike>\n"
5183         }, {
5184                 name: "tests1.dat #83"
5185                 html: "<!DOCTYPE html><spacer>foo"
5186                 errors: 1
5187                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <spacer>\n|       \"foo\"\n"
5188         }, {
5189                 name: "tests1.dat #84"
5190                 html: "<title><meta></title><link><title><meta></title>"
5191                 errors: 1
5192                 expected: "| <html>\n|   <head>\n|     <title>\n|       \"<meta>\"\n|     <link>\n|     <title>\n|       \"<meta>\"\n|   <body>\n"
5193         }, {
5194                 name: "tests1.dat #85"
5195                 html: "<style><!--</style><meta><script>--><link></script>"
5196                 errors: 1
5197                 expected: "| <html>\n|   <head>\n|     <style>\n|       \"<!--\"\n|     <meta>\n|     <script>\n|       \"--><link>\"\n|   <body>\n"
5198         }, {
5199                 name: "tests1.dat #86"
5200                 html: "<head><meta></head><link>"
5201                 errors: 2
5202                 expected: "| <html>\n|   <head>\n|     <meta>\n|     <link>\n|   <body>\n"
5203         }, {
5204                 name: "tests1.dat #87"
5205                 html: "<table><tr><tr><td><td><span><th><span>X</table>"
5206                 errors: 3
5207                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|         <tr>\n|           <td>\n|           <td>\n|             <span>\n|           <th>\n|             <span>\n|               \"X\"\n"
5208         }, {
5209                 name: "tests1.dat #88"
5210                 html: "<body><body><base><link><meta><title><p></title><body><p></body>"
5211                 errors: 3
5212                 expected: "| <html>\n|   <head>\n|   <body>\n|     <base>\n|     <link>\n|     <meta>\n|     <title>\n|       \"<p>\"\n|     <p>\n"
5213         }, {
5214                 name: "tests1.dat #89"
5215                 html: "<textarea><p></textarea>"
5216                 errors: 1
5217                 expected: "| <html>\n|   <head>\n|   <body>\n|     <textarea>\n|       \"<p>\"\n"
5218         }, {
5219                 name: "tests1.dat #90"
5220                 html: "<p><image></p>"
5221                 errors: 2
5222                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <img>\n"
5223         }, {
5224                 name: "tests1.dat #91"
5225                 html: "<a><table><a></table><p><a><div><a>"
5226                 errors: 10
5227                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       <a>\n|       <table>\n|     <p>\n|       <a>\n|     <div>\n|       <a>\n"
5228         }, {
5229                 name: "tests1.dat #92"
5230                 html: "<head></p><meta><p>"
5231                 errors: 2
5232                 expected: "| <html>\n|   <head>\n|     <meta>\n|   <body>\n|     <p>\n"
5233         }, {
5234                 name: "tests1.dat #93"
5235                 html: "<head></html><meta><p>"
5236                 errors: 2
5237                 expected: "| <html>\n|   <head>\n|   <body>\n|     <meta>\n|     <p>\n"
5238         }, {
5239                 name: "tests1.dat #94"
5240                 html: "<b><table><td><i></table>"
5241                 errors: 4
5242                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <table>\n|         <tbody>\n|           <tr>\n|             <td>\n|               <i>\n"
5243         }, {
5244                 name: "tests1.dat #95"
5245                 html: "<b><table><td></b><i></table>"
5246                 errors: 5
5247                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <table>\n|         <tbody>\n|           <tr>\n|             <td>\n|               <i>\n"
5248         }, {
5249                 name: "tests1.dat #96"
5250                 html: "<h1><h2>"
5251                 errors: 3
5252                 expected: "| <html>\n|   <head>\n|   <body>\n|     <h1>\n|     <h2>\n"
5253         }, {
5254                 name: "tests1.dat #97"
5255                 html: "<a><p><a></a></p></a>"
5256                 errors: 4
5257                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|     <p>\n|       <a>\n|       <a>\n"
5258         }, {
5259                 name: "tests1.dat #98"
5260                 html: "<b><button></b></button></b>"
5261                 errors: 3
5262                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|     <button>\n|       <b>\n"
5263         }, {
5264                 name: "tests1.dat #99"
5265                 html: "<p><b><div><marquee></p></b></div>"
5266                 errors: 6
5267                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <b>\n|     <div>\n|       <b>\n|         <marquee>\n|           <p>\n"
5268         }, {
5269                 name: "tests1.dat #100"
5270                 html: "<script></script></div><title></title><p><p>"
5271                 errors: 2
5272                 expected: "| <html>\n|   <head>\n|     <script>\n|     <title>\n|   <body>\n|     <p>\n|     <p>\n"
5273         }, {
5274                 name: "tests1.dat #101"
5275                 html: "<p><hr></p>"
5276                 errors: 2
5277                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|     <hr>\n|     <p>\n"
5278         }, {
5279                 name: "tests1.dat #102"
5280                 html: "<select><b><option><select><option></b></select>"
5281                 errors: 6
5282                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <option>\n|     <option>\n"
5283         }, {
5284                 name: "tests1.dat #103"
5285                 html: "<html><head><title></title><body></body></html>"
5286                 errors: 1
5287                 expected: "| <html>\n|   <head>\n|     <title>\n|   <body>\n"
5288         }, {
5289                 name: "tests1.dat #104"
5290                 html: "<a><table><td><a><table></table><a></tr><a></table><a>"
5291                 errors: 10
5292                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       <a>\n|       <table>\n|         <tbody>\n|           <tr>\n|             <td>\n|               <a>\n|                 <table>\n|               <a>\n|     <a>\n"
5293         }, {
5294                 name: "tests1.dat #105"
5295                 html: "<ul><li></li><div><li></div><li><li><div><li><address><li><b><em></b><li></ul>"
5296                 errors: 4
5297                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ul>\n|       <li>\n|       <div>\n|         <li>\n|       <li>\n|       <li>\n|         <div>\n|       <li>\n|         <address>\n|       <li>\n|         <b>\n|           <em>\n|       <li>\n"
5298         }, {
5299                 name: "tests1.dat #106"
5300                 html: "<ul><li><ul></li><li>a</li></ul></li></ul>"
5301                 errors: 2
5302                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ul>\n|       <li>\n|         <ul>\n|           <li>\n|             \"a\"\n"
5303         }, {
5304                 name: "tests1.dat #107"
5305                 html: "<frameset><frame><frameset><frame></frameset><noframes></noframes></frameset>"
5306                 errors: 1
5307                 expected: "| <html>\n|   <head>\n|   <frameset>\n|     <frame>\n|     <frameset>\n|       <frame>\n|     <noframes>\n"
5308         }, {
5309                 name: "tests1.dat #108"
5310                 html: "<h1><table><td><h3></table><h3></h1>"
5311                 errors: 5
5312                 expected: "| <html>\n|   <head>\n|   <body>\n|     <h1>\n|       <table>\n|         <tbody>\n|           <tr>\n|             <td>\n|               <h3>\n|     <h3>\n"
5313         }, {
5314                 name: "tests1.dat #109"
5315                 html: "<table><colgroup><col><colgroup><col><col><col><colgroup><col><col><thead><tr><td></table>"
5316                 errors: 1
5317                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <colgroup>\n|         <col>\n|       <colgroup>\n|         <col>\n|         <col>\n|         <col>\n|       <colgroup>\n|         <col>\n|         <col>\n|       <thead>\n|         <tr>\n|           <td>\n"
5318         }, {
5319                 name: "tests1.dat #110"
5320                 html: "<table><col><tbody><col><tr><col><td><col></table><col>"
5321                 errors: 3
5322                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <colgroup>\n|         <col>\n|       <tbody>\n|       <colgroup>\n|         <col>\n|       <tbody>\n|         <tr>\n|       <colgroup>\n|         <col>\n|       <tbody>\n|         <tr>\n|           <td>\n|       <colgroup>\n|         <col>\n"
5323         }, {
5324                 name: "tests1.dat #111"
5325                 html: "<table><colgroup><tbody><colgroup><tr><colgroup><td><colgroup></table><colgroup>"
5326                 errors: 3
5327                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <colgroup>\n|       <tbody>\n|       <colgroup>\n|       <tbody>\n|         <tr>\n|       <colgroup>\n|       <tbody>\n|         <tr>\n|           <td>\n|       <colgroup>\n"
5328         }, {
5329                 name: "tests1.dat #112"
5330                 html: "</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>"
5331                 errors: 85
5332                 expected: "| <html>\n|   <head>\n|   <body>\n|     <br>\n|     <p>\n"
5333         }, {
5334                 name: "tests1.dat #113"
5335                 html: "<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>"
5336                 errors: 111
5337                 expected: "| <html>\n|   <head>\n|   <body>\n|     <br>\n|     <table>\n|       <tbody>\n|         <tr>\n|     <p>\n"
5338         }, {
5339                 name: "tests1.dat #114"
5340                 html: "<frameset>"
5341                 errors: 2
5342                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
5343         }, {
5344                 name: "tests20.dat #1"
5345                 html: "<!doctype html><p><button><button>"
5346                 errors: 2
5347                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|       <button>\n"
5348         }, {
5349                 name: "tests20.dat #2"
5350                 html: "<!doctype html><p><button><address>"
5351                 errors: 1
5352                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <address>\n"
5353         }, {
5354                 name: "tests20.dat #3"
5355                 html: "<!doctype html><p><button><blockquote>"
5356                 errors: 1
5357                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <blockquote>\n"
5358         }, {
5359                 name: "tests20.dat #4"
5360                 html: "<!doctype html><p><button><menu>"
5361                 errors: 1
5362                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <menu>\n"
5363         }, {
5364                 name: "tests20.dat #5"
5365                 html: "<!doctype html><p><button><p>"
5366                 errors: 1
5367                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <p>\n"
5368         }, {
5369                 name: "tests20.dat #6"
5370                 html: "<!doctype html><p><button><ul>"
5371                 errors: 1
5372                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <ul>\n"
5373         }, {
5374                 name: "tests20.dat #7"
5375                 html: "<!doctype html><p><button><h1>"
5376                 errors: 1
5377                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <h1>\n"
5378         }, {
5379                 name: "tests20.dat #8"
5380                 html: "<!doctype html><p><button><h6>"
5381                 errors: 1
5382                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <h6>\n"
5383         }, {
5384                 name: "tests20.dat #9"
5385                 html: "<!doctype html><p><button><listing>"
5386                 errors: 1
5387                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <listing>\n"
5388         }, {
5389                 name: "tests20.dat #10"
5390                 html: "<!doctype html><p><button><pre>"
5391                 errors: 1
5392                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <pre>\n"
5393         }, {
5394                 name: "tests20.dat #11"
5395                 html: "<!doctype html><p><button><form>"
5396                 errors: 1
5397                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <form>\n"
5398         }, {
5399                 name: "tests20.dat #12"
5400                 html: "<!doctype html><p><button><li>"
5401                 errors: 1
5402                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <li>\n"
5403         }, {
5404                 name: "tests20.dat #13"
5405                 html: "<!doctype html><p><button><dd>"
5406                 errors: 1
5407                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <dd>\n"
5408         }, {
5409                 name: "tests20.dat #14"
5410                 html: "<!doctype html><p><button><dt>"
5411                 errors: 1
5412                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <dt>\n"
5413         }, {
5414                 name: "tests20.dat #15"
5415                 html: "<!doctype html><p><button><plaintext>"
5416                 errors: 1
5417                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <plaintext>\n"
5418         }, {
5419                 name: "tests20.dat #16"
5420                 html: "<!doctype html><p><button><table>"
5421                 errors: 1
5422                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <table>\n"
5423         }, {
5424                 name: "tests20.dat #17"
5425                 html: "<!doctype html><p><button><hr>"
5426                 errors: 1
5427                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <hr>\n"
5428         }, {
5429                 name: "tests20.dat #18"
5430                 html: "<!doctype html><p><button><xmp>"
5431                 errors: 2
5432                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <xmp>\n"
5433         }, {
5434                 name: "tests20.dat #19"
5435                 html: "<!doctype html><p><button></p>"
5436                 errors: 2
5437                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <button>\n|         <p>\n"
5438         }, {
5439                 name: "tests20.dat #20"
5440                 html: "<!doctype html><address><button></address>a"
5441                 errors: 1
5442                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <address>\n|       <button>\n|     \"a\"\n"
5443         }, {
5444                 name: "tests20.dat #21"
5445                 html: "<!doctype html><address><button></address>a"
5446                 errors: 1
5447                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <address>\n|       <button>\n|     \"a\"\n"
5448         }, {
5449                 name: "tests20.dat #22"
5450                 html: "<p><table></p>"
5451                 errors: 4
5452                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <p>\n|       <table>\n"
5453         }, {
5454                 name: "tests20.dat #23"
5455                 html: "<!doctype html><svg>"
5456                 errors: 1
5457                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n"
5458         }, {
5459                 name: "tests20.dat #24"
5460                 html: "<!doctype html><p><figcaption>"
5461                 errors: 1
5462                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|     <figcaption>\n"
5463         }, {
5464                 name: "tests20.dat #25"
5465                 html: "<!doctype html><p><summary>"
5466                 errors: 1
5467                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|     <summary>\n"
5468         }, {
5469                 name: "tests20.dat #26"
5470                 html: "<!doctype html><form><table><form>"
5471                 errors: 2
5472                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <form>\n|       <table>\n"
5473         }, {
5474                 name: "tests20.dat #27"
5475                 html: "<!doctype html><table><form><form>"
5476                 errors: 3
5477                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <form>\n"
5478         }, {
5479                 name: "tests20.dat #28"
5480                 html: "<!doctype html><table><form></table><form>"
5481                 errors: 2
5482                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <form>\n"
5483         }, {
5484                 name: "tests20.dat #29"
5485                 html: "<!doctype html><svg><foreignObject><p>"
5486                 errors: 1
5487                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg foreignObject>\n|         <p>\n"
5488         }, {
5489                 name: "tests20.dat #30"
5490                 html: "<!doctype html><svg><title>abc"
5491                 errors: 1
5492                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg title>\n|         \"abc\"\n"
5493         }, {
5494                 name: "tests20.dat #31"
5495                 html: "<option><span><option>"
5496                 errors: 2
5497                 expected: "| <html>\n|   <head>\n|   <body>\n|     <option>\n|       <span>\n|         <option>\n"
5498         }, {
5499                 name: "tests20.dat #32"
5500                 html: "<option><option>"
5501                 errors: 2
5502                 expected: "| <html>\n|   <head>\n|   <body>\n|     <option>\n|     <option>\n"
5503         }, {
5504                 name: "tests20.dat #33"
5505                 html: "<math><annotation-xml><div>"
5506                 errors: 3
5507                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math annotation-xml>\n|     <div>\n"
5508         }, {
5509                 name: "tests20.dat #34"
5510                 html: "<math><annotation-xml encoding=\"application/svg+xml\"><div>"
5511                 errors: 3
5512                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math annotation-xml>\n|         encoding=\"application/svg+xml\"\n|     <div>\n"
5513         }, {
5514                 name: "tests20.dat #35"
5515                 html: "<math><annotation-xml encoding=\"application/xhtml+xml\"><div>"
5516                 errors: 2
5517                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math annotation-xml>\n|         encoding=\"application/xhtml+xml\"\n|         <div>\n"
5518         }, {
5519                 name: "tests20.dat #36"
5520                 html: "<math><annotation-xml encoding=\"aPPlication/xhtmL+xMl\"><div>"
5521                 errors: 2
5522                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math annotation-xml>\n|         encoding=\"aPPlication/xhtmL+xMl\"\n|         <div>\n"
5523         }, {
5524                 name: "tests20.dat #37"
5525                 html: "<math><annotation-xml encoding=\"text/html\"><div>"
5526                 errors: 2
5527                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math annotation-xml>\n|         encoding=\"text/html\"\n|         <div>\n"
5528         }, {
5529                 name: "tests20.dat #38"
5530                 html: "<math><annotation-xml encoding=\"Text/htmL\"><div>"
5531                 errors: 2
5532                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math annotation-xml>\n|         encoding=\"Text/htmL\"\n|         <div>\n"
5533         }, {
5534                 name: "tests20.dat #39"
5535                 html: "<math><annotation-xml encoding=\" text/html \"><div>"
5536                 errors: 3
5537                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math annotation-xml>\n|         encoding=\" text/html \"\n|     <div>\n"
5538         }, {
5539                 name: "tests21.dat #1"
5540                 html: "<svg><![CDATA[foo]]>"
5541                 errors: 2
5542                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"foo\"\n"
5543         }, {
5544                 name: "tests21.dat #2"
5545                 html: "<math><![CDATA[foo]]>"
5546                 errors: 2
5547                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       \"foo\"\n"
5548         }, {
5549                 name: "tests21.dat #3"
5550                 html: "<div><![CDATA[foo]]>"
5551                 errors: 3
5552                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <!-- [CDATA[foo]] -->\n"
5553         }, {
5554                 name: "tests21.dat #4"
5555                 html: "<svg><![CDATA[foo"
5556                 errors: 2
5557                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"foo\"\n"
5558         }, {
5559                 name: "tests21.dat #5"
5560                 html: "<svg><![CDATA[foo"
5561                 errors: 2
5562                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"foo\"\n"
5563         }, {
5564                 name: "tests21.dat #6"
5565                 html: "<svg><![CDATA["
5566                 errors: 2
5567                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n"
5568         }, {
5569                 name: "tests21.dat #7"
5570                 html: "<svg><![CDATA[]]>"
5571                 errors: 2
5572                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n"
5573         }, {
5574                 name: "tests21.dat #8"
5575                 html: "<svg><![CDATA[]] >]]>"
5576                 errors: 2
5577                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"]] >\"\n"
5578         }, {
5579                 name: "tests21.dat #9"
5580                 html: "<svg><![CDATA[]] >]]>"
5581                 errors: 2
5582                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"]] >\"\n"
5583         }, {
5584                 name: "tests21.dat #10"
5585                 html: "<svg><![CDATA[]]"
5586                 errors: 2
5587                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"]]\"\n"
5588         }, {
5589                 name: "tests21.dat #11"
5590                 html: "<svg><![CDATA[]"
5591                 errors: 2
5592                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"]\"\n"
5593         }, {
5594                 name: "tests21.dat #12"
5595                 html: "<svg><![CDATA[]>a"
5596                 errors: 2
5597                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"]>a\"\n"
5598         }, {
5599                 name: "tests21.dat #13"
5600                 html: "<!DOCTYPE html><svg><![CDATA[foo]]]>"
5601                 errors: 1
5602                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"foo]\"\n"
5603         }, {
5604                 name: "tests21.dat #14"
5605                 html: "<!DOCTYPE html><svg><![CDATA[foo]]]]>"
5606                 errors: 1
5607                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"foo]]\"\n"
5608         }, {
5609                 name: "tests21.dat #15"
5610                 html: "<!DOCTYPE html><svg><![CDATA[foo]]]]]>"
5611                 errors: 1
5612                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"foo]]]\"\n"
5613         }, {
5614                 name: "tests21.dat #16"
5615                 html: "<svg><foreignObject><div><![CDATA[foo]]>"
5616                 errors: 3
5617                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg foreignObject>\n|         <div>\n|           <!-- [CDATA[foo]] -->\n"
5618         }, {
5619                 name: "tests21.dat #17"
5620                 html: "<svg><![CDATA[<svg>]]>"
5621                 errors: 2
5622                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"<svg>\"\n"
5623         }, {
5624                 name: "tests21.dat #18"
5625                 html: "<svg><![CDATA[</svg>a]]>"
5626                 errors: 2
5627                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"</svg>a\"\n"
5628         }, {
5629                 name: "tests21.dat #19"
5630                 html: "<svg><![CDATA[<svg>a"
5631                 errors: 2
5632                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"<svg>a\"\n"
5633         }, {
5634                 name: "tests21.dat #20"
5635                 html: "<svg><![CDATA[</svg>a"
5636                 errors: 2
5637                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"</svg>a\"\n"
5638         }, {
5639                 name: "tests21.dat #21"
5640                 html: "<svg><![CDATA[<svg>]]><path>"
5641                 errors: 2
5642                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"<svg>\"\n|       <svg path>\n"
5643         }, {
5644                 name: "tests21.dat #22"
5645                 html: "<svg><![CDATA[<svg>]]></path>"
5646                 errors: 4
5647                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"<svg>\"\n"
5648         }, {
5649                 name: "tests21.dat #23"
5650                 html: "<svg><![CDATA[<svg>]]><!--path-->"
5651                 errors: 2
5652                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"<svg>\"\n|       <!-- path -->\n"
5653         }, {
5654                 name: "tests21.dat #24"
5655                 html: "<svg><![CDATA[<svg>]]>path"
5656                 errors: 2
5657                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"<svg>path\"\n"
5658         }, {
5659                 name: "tests21.dat #25"
5660                 html: "<svg><![CDATA[<!--svg-->]]>"
5661                 errors: 2
5662                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       \"<!--svg-->\"\n"
5663         }, {
5664                 name: "tests22.dat #1"
5665                 html: "<a><b><big><em><strong><div>X</a>"
5666                 errors: 3
5667                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       <b>\n|         <big>\n|           <em>\n|             <strong>\n|     <big>\n|       <em>\n|         <strong>\n|           <div>\n|             <a>\n|               \"X\"\n"
5668         }, {
5669                 name: "tests22.dat #2"
5670                 html: "<a><b><div id=1><div id=2><div id=3><div id=4><div id=5><div id=6><div id=7><div id=8>A</a>"
5671                 errors: 10
5672                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       <b>\n|     <b>\n|       <div>\n|         id=\"1\"\n|         <a>\n|         <div>\n|           id=\"2\"\n|           <a>\n|           <div>\n|             id=\"3\"\n|             <a>\n|             <div>\n|               id=\"4\"\n|               <a>\n|               <div>\n|                 id=\"5\"\n|                 <a>\n|                 <div>\n|                   id=\"6\"\n|                   <a>\n|                   <div>\n|                     id=\"7\"\n|                     <a>\n|                     <div>\n|                       id=\"8\"\n|                       <a>\n|                         \"A\"\n"
5673         }, {
5674                 name: "tests22.dat #3"
5675                 html: "<a><b><div id=1><div id=2><div id=3><div id=4><div id=5><div id=6><div id=7><div id=8><div id=9>A</a>"
5676                 errors: 10
5677                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       <b>\n|     <b>\n|       <div>\n|         id=\"1\"\n|         <a>\n|         <div>\n|           id=\"2\"\n|           <a>\n|           <div>\n|             id=\"3\"\n|             <a>\n|             <div>\n|               id=\"4\"\n|               <a>\n|               <div>\n|                 id=\"5\"\n|                 <a>\n|                 <div>\n|                   id=\"6\"\n|                   <a>\n|                   <div>\n|                     id=\"7\"\n|                     <a>\n|                     <div>\n|                       id=\"8\"\n|                       <a>\n|                         <div>\n|                           id=\"9\"\n|                           \"A\"\n"
5678         }, {
5679                 name: "tests22.dat #4"
5680                 html: "<a><b><div id=1><div id=2><div id=3><div id=4><div id=5><div id=6><div id=7><div id=8><div id=9><div id=10>A</a>"
5681                 errors: 10
5682                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       <b>\n|     <b>\n|       <div>\n|         id=\"1\"\n|         <a>\n|         <div>\n|           id=\"2\"\n|           <a>\n|           <div>\n|             id=\"3\"\n|             <a>\n|             <div>\n|               id=\"4\"\n|               <a>\n|               <div>\n|                 id=\"5\"\n|                 <a>\n|                 <div>\n|                   id=\"6\"\n|                   <a>\n|                   <div>\n|                     id=\"7\"\n|                     <a>\n|                     <div>\n|                       id=\"8\"\n|                       <a>\n|                         <div>\n|                           id=\"9\"\n|                           <div>\n|                             id=\"10\"\n|                             \"A\"\n"
5683         }, {
5684                 name: "tests22.dat #5"
5685                 html: "<cite><b><cite><i><cite><i><cite><i><div>X</b>TEST"
5686                 errors: 3
5687                 expected: "| <html>\n|   <head>\n|   <body>\n|     <cite>\n|       <b>\n|         <cite>\n|           <i>\n|             <cite>\n|               <i>\n|                 <cite>\n|                   <i>\n|       <i>\n|         <i>\n|           <div>\n|             <b>\n|               \"X\"\n|             \"TEST\"\n"
5688         }, {
5689                 name: "tests23.dat #1"
5690                 html: "<p><font size=4><font color=red><font size=4><font size=4><font size=4><font size=4><font size=4><font color=red><p>X"
5691                 errors: 3
5692                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <font>\n|         size=\"4\"\n|         <font>\n|           color=\"red\"\n|           <font>\n|             size=\"4\"\n|             <font>\n|               size=\"4\"\n|               <font>\n|                 size=\"4\"\n|                 <font>\n|                   size=\"4\"\n|                   <font>\n|                     size=\"4\"\n|                     <font>\n|                       color=\"red\"\n|     <p>\n|       <font>\n|         color=\"red\"\n|         <font>\n|           size=\"4\"\n|           <font>\n|             size=\"4\"\n|             <font>\n|               size=\"4\"\n|               <font>\n|                 color=\"red\"\n|                 \"X\"\n"
5693         }, {
5694                 name: "tests23.dat #2"
5695                 html: "<p><font size=4><font size=4><font size=4><font size=4><p>X"
5696                 errors: 3
5697                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <font>\n|         size=\"4\"\n|         <font>\n|           size=\"4\"\n|           <font>\n|             size=\"4\"\n|             <font>\n|               size=\"4\"\n|     <p>\n|       <font>\n|         size=\"4\"\n|         <font>\n|           size=\"4\"\n|           <font>\n|             size=\"4\"\n|             \"X\"\n"
5698         }, {
5699                 name: "tests23.dat #3"
5700                 html: "<p><font size=4><font size=4><font size=4><font size=\"5\"><font size=4><p>X"
5701                 errors: 3
5702                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <font>\n|         size=\"4\"\n|         <font>\n|           size=\"4\"\n|           <font>\n|             size=\"4\"\n|             <font>\n|               size=\"5\"\n|               <font>\n|                 size=\"4\"\n|     <p>\n|       <font>\n|         size=\"4\"\n|         <font>\n|           size=\"4\"\n|           <font>\n|             size=\"5\"\n|             <font>\n|               size=\"4\"\n|               \"X\"\n"
5703         }, {
5704                 name: "tests23.dat #4"
5705                 html: "<p><font size=4 id=a><font size=4 id=b><font size=4><font size=4><p>X"
5706                 errors: 3
5707                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <font>\n|         id=\"a\"\n|         size=\"4\"\n|         <font>\n|           id=\"b\"\n|           size=\"4\"\n|           <font>\n|             size=\"4\"\n|             <font>\n|               size=\"4\"\n|     <p>\n|       <font>\n|         id=\"a\"\n|         size=\"4\"\n|         <font>\n|           id=\"b\"\n|           size=\"4\"\n|           <font>\n|             size=\"4\"\n|             <font>\n|               size=\"4\"\n|               \"X\"\n"
5708         }, {
5709                 name: "tests23.dat #5"
5710                 html: "<p><b id=a><b id=a><b id=a><b><object><b id=a><b id=a>X</object><p>Y"
5711                 errors: 4
5712                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <b>\n|         id=\"a\"\n|         <b>\n|           id=\"a\"\n|           <b>\n|             id=\"a\"\n|             <b>\n|               <object>\n|                 <b>\n|                   id=\"a\"\n|                   <b>\n|                     id=\"a\"\n|                     \"X\"\n|     <p>\n|       <b>\n|         id=\"a\"\n|         <b>\n|           id=\"a\"\n|           <b>\n|             id=\"a\"\n|             <b>\n|               \"Y\"\n"
5713         }, {
5714                 name: "tests24.dat #1"
5715                 html: "<!DOCTYPE html>&NotEqualTilde;"
5716                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"≂̸\"\n"
5717         }, {
5718                 name: "tests24.dat #2"
5719                 html: "<!DOCTYPE html>&NotEqualTilde;A"
5720                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"≂̸A\"\n"
5721         }, {
5722                 name: "tests24.dat #3"
5723                 html: "<!DOCTYPE html>&ThickSpace;"
5724                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"  \"\n"
5725         }, {
5726                 name: "tests24.dat #4"
5727                 html: "<!DOCTYPE html>&ThickSpace;A"
5728                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"  A\"\n"
5729         }, {
5730                 name: "tests24.dat #5"
5731                 html: "<!DOCTYPE html>&NotSubset;"
5732                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"⊂⃒\"\n"
5733         }, {
5734                 name: "tests24.dat #6"
5735                 html: "<!DOCTYPE html>&NotSubset;A"
5736                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"⊂⃒A\"\n"
5737         }, {
5738                 name: "tests24.dat #7"
5739                 html: "<!DOCTYPE html>&Gopf;"
5740                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"𝔾\"\n"
5741         }, {
5742                 name: "tests24.dat #8"
5743                 html: "<!DOCTYPE html>&Gopf;A"
5744                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"𝔾A\"\n"
5745         }, {
5746                 name: "tests25.dat #1"
5747                 html: "<!DOCTYPE html><body><foo>A"
5748                 errors: 1
5749                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <foo>\n|       \"A\"\n"
5750         }, {
5751                 name: "tests25.dat #2"
5752                 html: "<!DOCTYPE html><body><area>A"
5753                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <area>\n|     \"A\"\n"
5754         }, {
5755                 name: "tests25.dat #3"
5756                 html: "<!DOCTYPE html><body><base>A"
5757                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <base>\n|     \"A\"\n"
5758         }, {
5759                 name: "tests25.dat #4"
5760                 html: "<!DOCTYPE html><body><basefont>A"
5761                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <basefont>\n|     \"A\"\n"
5762         }, {
5763                 name: "tests25.dat #5"
5764                 html: "<!DOCTYPE html><body><bgsound>A"
5765                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <bgsound>\n|     \"A\"\n"
5766         }, {
5767                 name: "tests25.dat #6"
5768                 html: "<!DOCTYPE html><body><br>A"
5769                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <br>\n|     \"A\"\n"
5770         }, {
5771                 name: "tests25.dat #7"
5772                 html: "<!DOCTYPE html><body><col>A"
5773                 errors: 1
5774                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"A\"\n"
5775         }, {
5776                 name: "tests25.dat #8"
5777                 html: "<!DOCTYPE html><body><command>A"
5778                 errors: 1
5779                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <command>\n|       \"A\"\n"
5780         }, {
5781                 name: "tests25.dat #9"
5782                 html: "<!DOCTYPE html><body><menuitem>A"
5783                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <menuitem>\n|     \"A\"\n"
5784         }, {
5785                 name: "tests25.dat #10"
5786                 html: "<!DOCTYPE html><body><embed>A"
5787                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <embed>\n|     \"A\"\n"
5788         }, {
5789                 name: "tests25.dat #11"
5790                 html: "<!DOCTYPE html><body><frame>A"
5791                 errors: 1
5792                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"A\"\n"
5793         }, {
5794                 name: "tests25.dat #12"
5795                 html: "<!DOCTYPE html><body><hr>A"
5796                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <hr>\n|     \"A\"\n"
5797         }, {
5798                 name: "tests25.dat #13"
5799                 html: "<!DOCTYPE html><body><img>A"
5800                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <img>\n|     \"A\"\n"
5801         }, {
5802                 name: "tests25.dat #14"
5803                 html: "<!DOCTYPE html><body><input>A"
5804                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <input>\n|     \"A\"\n"
5805         }, {
5806                 name: "tests25.dat #15"
5807                 html: "<!DOCTYPE html><body><keygen>A"
5808                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <keygen>\n|     \"A\"\n"
5809         }, {
5810                 name: "tests25.dat #16"
5811                 html: "<!DOCTYPE html><body><link>A"
5812                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <link>\n|     \"A\"\n"
5813         }, {
5814                 name: "tests25.dat #17"
5815                 html: "<!DOCTYPE html><body><meta>A"
5816                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <meta>\n|     \"A\"\n"
5817         }, {
5818                 name: "tests25.dat #18"
5819                 html: "<!DOCTYPE html><body><param>A"
5820                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <param>\n|     \"A\"\n"
5821         }, {
5822                 name: "tests25.dat #19"
5823                 html: "<!DOCTYPE html><body><source>A"
5824                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <source>\n|     \"A\"\n"
5825         }, {
5826                 name: "tests25.dat #20"
5827                 html: "<!DOCTYPE html><body><track>A"
5828                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <track>\n|     \"A\"\n"
5829         }, {
5830                 name: "tests25.dat #21"
5831                 html: "<!DOCTYPE html><body><wbr>A"
5832                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <wbr>\n|     \"A\"\n"
5833         }, {
5834                 name: "tests26.dat #1"
5835                 html: "<!DOCTYPE html><body><a href='#1'><nobr>1<nobr></a><br><a href='#2'><nobr>2<nobr></a><br><a href='#3'><nobr>3<nobr></a>"
5836                 errors: 10
5837                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <a>\n|       href=\"#1\"\n|       <nobr>\n|         \"1\"\n|       <nobr>\n|     <nobr>\n|       <br>\n|       <a>\n|         href=\"#2\"\n|     <a>\n|       href=\"#2\"\n|       <nobr>\n|         \"2\"\n|       <nobr>\n|     <nobr>\n|       <br>\n|       <a>\n|         href=\"#3\"\n|     <a>\n|       href=\"#3\"\n|       <nobr>\n|         \"3\"\n|       <nobr>\n"
5838         }, {
5839                 name: "tests26.dat #2"
5840                 html: "<!DOCTYPE html><body><b><nobr>1<nobr></b><i><nobr>2<nobr></i>3"
5841                 errors: 7
5842                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <nobr>\n|         \"1\"\n|       <nobr>\n|     <nobr>\n|       <i>\n|     <i>\n|       <nobr>\n|         \"2\"\n|       <nobr>\n|     <nobr>\n|       \"3\"\n"
5843         }, {
5844                 name: "tests26.dat #3"
5845                 html: "<!DOCTYPE html><body><b><nobr>1<table><nobr></b><i><nobr>2<nobr></i>3"
5846                 errors: 14
5847                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <nobr>\n|         \"1\"\n|         <nobr>\n|           <i>\n|         <i>\n|           <nobr>\n|             \"2\"\n|           <nobr>\n|         <nobr>\n|           \"3\"\n|         <table>\n"
5848         }, {
5849                 name: "tests26.dat #4"
5850                 html: "<!DOCTYPE html><body><b><nobr>1<table><tr><td><nobr></b><i><nobr>2<nobr></i>3"
5851                 errors: 6
5852                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <nobr>\n|         \"1\"\n|         <table>\n|           <tbody>\n|             <tr>\n|               <td>\n|                 <nobr>\n|                   <i>\n|                 <i>\n|                   <nobr>\n|                     \"2\"\n|                   <nobr>\n|                 <nobr>\n|                   \"3\"\n"
5853         }, {
5854                 name: "tests26.dat #5"
5855                 html: "<!DOCTYPE html><body><b><nobr>1<div><nobr></b><i><nobr>2<nobr></i>3"
5856                 errors: 9
5857                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <nobr>\n|         \"1\"\n|     <div>\n|       <b>\n|         <nobr>\n|         <nobr>\n|       <nobr>\n|         <i>\n|       <i>\n|         <nobr>\n|           \"2\"\n|         <nobr>\n|       <nobr>\n|         \"3\"\n"
5858         }, {
5859                 name: "tests26.dat #6"
5860                 html: "<!DOCTYPE html><body><b><nobr>1<nobr></b><div><i><nobr>2<nobr></i>3"
5861                 errors: 7
5862                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <nobr>\n|         \"1\"\n|       <nobr>\n|     <div>\n|       <nobr>\n|         <i>\n|       <i>\n|         <nobr>\n|           \"2\"\n|         <nobr>\n|       <nobr>\n|         \"3\"\n"
5863         }, {
5864                 name: "tests26.dat #7"
5865                 html: "<!DOCTYPE html><body><b><nobr>1<nobr><ins></b><i><nobr>"
5866                 errors: 5
5867                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <nobr>\n|         \"1\"\n|       <nobr>\n|         <ins>\n|     <nobr>\n|       <i>\n|     <i>\n|       <nobr>\n"
5868         }, {
5869                 name: "tests26.dat #8"
5870                 html: "<!DOCTYPE html><body><b><nobr>1<ins><nobr></b><i>2"
5871                 errors: 4
5872                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <nobr>\n|         \"1\"\n|         <ins>\n|       <nobr>\n|     <nobr>\n|       <i>\n|         \"2\"\n"
5873         }, {
5874                 name: "tests26.dat #9"
5875                 html: "<!DOCTYPE html><body><b>1<nobr></b><i><nobr>2</i>"
5876                 errors: 4
5877                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <b>\n|       \"1\"\n|       <nobr>\n|     <nobr>\n|       <i>\n|     <i>\n|       <nobr>\n|         \"2\"\n"
5878         }, {
5879                 name: "tests26.dat #10"
5880                 html: "<p><code x</code></p>\n"
5881                 errors: 5
5882                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <code>\n|         code=\"\"\n|         x<=\"\"\n|     <code>\n|       code=\"\"\n|       x<=\"\"\n|       \"\n\"\n"
5883         }, {
5884                 name: "tests26.dat #11"
5885                 html: "<!DOCTYPE html><svg><foreignObject><p><i></p>a"
5886                 errors: 2
5887                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg foreignObject>\n|         <p>\n|           <i>\n|         <i>\n|           \"a\"\n"
5888         }, {
5889                 name: "tests26.dat #12"
5890                 html: "<!DOCTYPE html><table><tr><td><svg><foreignObject><p><i></p>a"
5891                 errors: 2
5892                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <svg svg>\n|               <svg foreignObject>\n|                 <p>\n|                   <i>\n|                 <i>\n|                   \"a\"\n"
5893         }, {
5894                 name: "tests26.dat #13"
5895                 html: "<!DOCTYPE html><math><mtext><p><i></p>a"
5896                 errors: 2
5897                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mtext>\n|         <p>\n|           <i>\n|         <i>\n|           \"a\"\n"
5898         }, {
5899                 name: "tests26.dat #14"
5900                 html: "<!DOCTYPE html><table><tr><td><math><mtext><p><i></p>a"
5901                 errors: 2
5902                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <math math>\n|               <math mtext>\n|                 <p>\n|                   <i>\n|                 <i>\n|                   \"a\"\n"
5903         }, {
5904                 name: "tests26.dat #15"
5905                 html: "<!DOCTYPE html><body><div><!/div>a"
5906                 errors: 2
5907                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <!-- /div -->\n|       \"a\"\n"
5908         }, {
5909                 name: "tests26.dat #16"
5910                 html: "<button><p><button>"
5911                 errors: 3
5912                 expected: "| <html>\n|   <head>\n|   <body>\n|     <button>\n|       <p>\n|     <button>\n"
5913         }, {
5914                 name: "tests2.dat #1"
5915                 html: "<!DOCTYPE html>Test"
5916                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"Test\"\n"
5917         }, {
5918                 name: "tests2.dat #2"
5919                 html: "<textarea>test</div>test"
5920                 errors: 2
5921                 expected: "| <html>\n|   <head>\n|   <body>\n|     <textarea>\n|       \"test</div>test\"\n"
5922         }, {
5923                 name: "tests2.dat #3"
5924                 html: "<table><td>"
5925                 errors: 3
5926                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n"
5927         }, {
5928                 name: "tests2.dat #4"
5929                 html: "<table><td>test</tbody></table>"
5930                 errors: 2
5931                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             \"test\"\n"
5932         }, {
5933                 name: "tests2.dat #5"
5934                 html: "<frame>test"
5935                 errors: 2
5936                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"test\"\n"
5937         }, {
5938                 name: "tests2.dat #6"
5939                 html: "<!DOCTYPE html><frameset>test"
5940                 errors: 5
5941                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n"
5942         }, {
5943                 name: "tests2.dat #7"
5944                 html: "<!DOCTYPE html><frameset> te st"
5945                 errors: 5
5946                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n|     \"  \"\n"
5947         }, {
5948                 name: "tests2.dat #8"
5949                 html: "<!DOCTYPE html><frameset></frameset> te st"
5950                 errors: 4
5951                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n|   \"  \"\n"
5952         }, {
5953                 name: "tests2.dat #9"
5954                 html: "<!DOCTYPE html><frameset><!DOCTYPE html>"
5955                 errors: 2
5956                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n"
5957         }, {
5958                 name: "tests2.dat #10"
5959                 html: "<!DOCTYPE html><font><p><b>test</font>"
5960                 errors: 2
5961                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <font>\n|     <p>\n|       <font>\n|         <b>\n|           \"test\"\n"
5962         }, {
5963                 name: "tests2.dat #11"
5964                 html: "<!DOCTYPE html><dt><div><dd>"
5965                 errors: 1
5966                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <dt>\n|       <div>\n|     <dd>\n"
5967         }, {
5968                 name: "tests2.dat #12"
5969                 html: "<script></x"
5970                 errors: 2
5971                 expected: "| <html>\n|   <head>\n|     <script>\n|       \"</x\"\n|   <body>\n"
5972         }, {
5973                 name: "tests2.dat #13"
5974                 html: "<table><plaintext><td>"
5975                 errors: 7
5976                 expected: "| <html>\n|   <head>\n|   <body>\n|     <plaintext>\n|       \"<td>\"\n|     <table>\n"
5977         }, {
5978                 name: "tests2.dat #14"
5979                 html: "<plaintext></plaintext>"
5980                 errors: 2
5981                 expected: "| <html>\n|   <head>\n|   <body>\n|     <plaintext>\n|       \"</plaintext>\"\n"
5982         }, {
5983                 name: "tests2.dat #15"
5984                 html: "<!DOCTYPE html><table><tr>TEST"
5985                 errors: 5
5986                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"TEST\"\n|     <table>\n|       <tbody>\n|         <tr>\n"
5987         }, {
5988                 name: "tests2.dat #16"
5989                 html: "<!DOCTYPE html><body t1=1><body t2=2><body t3=3 t4=4>"
5990                 errors: 2
5991                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     t1=\"1\"\n|     t2=\"2\"\n|     t3=\"3\"\n|     t4=\"4\"\n"
5992         }, {
5993                 name: "tests2.dat #17"
5994                 html: "</b test"
5995                 errors: 2
5996                 expected: "| <html>\n|   <head>\n|   <body>\n"
5997         }, {
5998                 name: "tests2.dat #18"
5999                 html: "<!DOCTYPE html></b test<b &=&amp>X"
6000                 errors: 4
6001                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"X\"\n"
6002         }, {
6003                 name: "tests2.dat #19"
6004                 html: "<!doctypehtml><scrIPt type=text/x-foobar;baz>X</SCRipt"
6005                 errors: 2
6006                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       type=\"text/x-foobar;baz\"\n|       \"X</SCRipt\"\n|   <body>\n"
6007         }, {
6008                 name: "tests2.dat #20"
6009                 html: "&"
6010                 errors: 1
6011                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"&\"\n"
6012         }, {
6013                 name: "tests2.dat #21"
6014                 html: "&#"
6015                 errors: 2
6016                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"&#\"\n"
6017         }, {
6018                 name: "tests2.dat #22"
6019                 html: "&#X"
6020                 errors: 2
6021                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"&#X\"\n"
6022         }, {
6023                 name: "tests2.dat #23"
6024                 html: "&#x"
6025                 errors: 2
6026                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"&#x\"\n"
6027         }, {
6028                 name: "tests2.dat #24"
6029                 html: "&#45"
6030                 errors: 2
6031                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"-\"\n"
6032         }, {
6033                 name: "tests2.dat #25"
6034                 html: "&x-test"
6035                 errors: 1
6036                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"&x-test\"\n"
6037         }, {
6038                 name: "tests2.dat #26"
6039                 html: "<!doctypehtml><p><li>"
6040                 errors: 1
6041                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|     <li>\n"
6042         }, {
6043                 name: "tests2.dat #27"
6044                 html: "<!doctypehtml><p><dt>"
6045                 errors: 1
6046                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|     <dt>\n"
6047         }, {
6048                 name: "tests2.dat #28"
6049                 html: "<!doctypehtml><p><dd>"
6050                 errors: 1
6051                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|     <dd>\n"
6052         }, {
6053                 name: "tests2.dat #29"
6054                 html: "<!doctypehtml><p><form>"
6055                 errors: 2
6056                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|     <form>\n"
6057         }, {
6058                 name: "tests2.dat #30"
6059                 html: "<!DOCTYPE html><p></P>X"
6060                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|     \"X\"\n"
6061         }, {
6062                 name: "tests2.dat #31"
6063                 html: "&AMP"
6064                 errors: 2
6065                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"&\"\n"
6066         }, {
6067                 name: "tests2.dat #32"
6068                 html: "&AMp;"
6069                 errors: 2
6070                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"&AMp;\"\n"
6071         }, {
6072                 name: "tests2.dat #33"
6073                 html: "<!DOCTYPE html><html><head></head><body><thisISasillyTESTelementNameToMakeSureCrazyTagNamesArePARSEDcorrectLY>"
6074                 errors: 1
6075                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly>\n"
6076         }, {
6077                 name: "tests2.dat #34"
6078                 html: "<!DOCTYPE html>X</body>X"
6079                 errors: 1
6080                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"XX\"\n"
6081         }, {
6082                 name: "tests2.dat #35"
6083                 html: "<!DOCTYPE html><!-- X"
6084                 errors: 1
6085                 expected: "| <!DOCTYPE html>\n| <!--  X -->\n| <html>\n|   <head>\n|   <body>\n"
6086         }, {
6087                 name: "tests2.dat #36"
6088                 html: "<!DOCTYPE html><table><caption>test TEST</caption><td>test"
6089                 errors: 2
6090                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n|         \"test TEST\"\n|       <tbody>\n|         <tr>\n|           <td>\n|             \"test\"\n"
6091         }, {
6092                 name: "tests2.dat #37"
6093                 html: "<!DOCTYPE html><select><option><optgroup>"
6094                 errors: 1
6095                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <option>\n|       <optgroup>\n"
6096         }, {
6097                 name: "tests2.dat #38"
6098                 html: "<!DOCTYPE html><select><optgroup><option></optgroup><option><select><option>"
6099                 errors: 2
6100                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <optgroup>\n|         <option>\n|       <option>\n|     <option>\n"
6101         }, {
6102                 name: "tests2.dat #39"
6103                 html: "<!DOCTYPE html><select><optgroup><option><optgroup>"
6104                 errors: 1
6105                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <optgroup>\n|         <option>\n|       <optgroup>\n"
6106         }, {
6107                 name: "tests2.dat #40"
6108                 html: "<!DOCTYPE html><datalist><option>foo</datalist>bar"
6109                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <datalist>\n|       <option>\n|         \"foo\"\n|     \"bar\"\n"
6110         }, {
6111                 name: "tests2.dat #41"
6112                 html: "<!DOCTYPE html><font><input><input></font>"
6113                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <font>\n|       <input>\n|       <input>\n"
6114         }, {
6115                 name: "tests2.dat #42"
6116                 html: "<!DOCTYPE html><!-- XXX - XXX -->"
6117                 expected: "| <!DOCTYPE html>\n| <!--  XXX - XXX  -->\n| <html>\n|   <head>\n|   <body>\n"
6118         }, {
6119                 name: "tests2.dat #43"
6120                 html: "<!DOCTYPE html><!-- XXX - XXX"
6121                 errors: 1
6122                 expected: "| <!DOCTYPE html>\n| <!--  XXX - XXX -->\n| <html>\n|   <head>\n|   <body>\n"
6123         }, {
6124                 name: "tests2.dat #44"
6125                 html: "<!DOCTYPE html><!-- XXX - XXX - XXX -->"
6126                 expected: "| <!DOCTYPE html>\n| <!--  XXX - XXX - XXX  -->\n| <html>\n|   <head>\n|   <body>\n"
6127         }, {
6128                 name: "tests2.dat #45"
6129                 html: "<isindex test=x name=x>"
6130                 errors: 2
6131                 expected: "| <html>\n|   <head>\n|   <body>\n|     <form>\n|       <hr>\n|       <label>\n|         \"This is a searchable index. Enter search keywords: \"\n|         <input>\n|           name=\"isindex\"\n|           test=\"x\"\n|       <hr>\n"
6132         }, {
6133                 name: "tests2.dat #46"
6134                 html: "test\ntest"
6135                 errors: 1
6136                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"test\ntest\"\n"
6137         }, {
6138                 name: "tests2.dat #47"
6139                 html: "<!DOCTYPE html><body><title>test</body></title>"
6140                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <title>\n|       \"test</body>\"\n"
6141         }, {
6142                 name: "tests2.dat #48"
6143                 html: "<!DOCTYPE html><body><title>X</title><meta name=z><link rel=foo><style>\nx { content:\"</style\" } </style>"
6144                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <title>\n|       \"X\"\n|     <meta>\n|       name=\"z\"\n|     <link>\n|       rel=\"foo\"\n|     <style>\n|       \"\nx { content:\"</style\" } \"\n"
6145         }, {
6146                 name: "tests2.dat #49"
6147                 html: "<!DOCTYPE html><select><optgroup></optgroup></select>"
6148                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <optgroup>\n"
6149         }, {
6150                 name: "tests2.dat #50"
6151                 html: " \n "
6152                 errors: 1
6153                 expected: "| <html>\n|   <head>\n|   <body>\n"
6154         }, {
6155                 name: "tests2.dat #51"
6156                 html: "<!DOCTYPE html>  <html>"
6157                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n"
6158         }, {
6159                 name: "tests2.dat #52"
6160                 html: "<!DOCTYPE html><script>\n</script>  <title>x</title>  </head>"
6161                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <script>\n|       \"\n\"\n|     \"  \"\n|     <title>\n|       \"x\"\n|     \"  \"\n|   <body>\n"
6162         }, {
6163                 name: "tests2.dat #53"
6164                 html: "<!DOCTYPE html><html><body><html id=x>"
6165                 errors: 1
6166                 expected: "| <!DOCTYPE html>\n| <html>\n|   id=\"x\"\n|   <head>\n|   <body>\n"
6167         }, {
6168                 name: "tests2.dat #54"
6169                 html: "<!DOCTYPE html>X</body><html id=\"x\">"
6170                 errors: 1
6171                 expected: "| <!DOCTYPE html>\n| <html>\n|   id=\"x\"\n|   <head>\n|   <body>\n|     \"X\"\n"
6172         }, {
6173                 name: "tests2.dat #55"
6174                 html: "<!DOCTYPE html><head><html id=x>"
6175                 errors: 1
6176                 expected: "| <!DOCTYPE html>\n| <html>\n|   id=\"x\"\n|   <head>\n|   <body>\n"
6177         }, {
6178                 name: "tests2.dat #56"
6179                 html: "<!DOCTYPE html>X</html>X"
6180                 errors: 1
6181                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"XX\"\n"
6182         }, {
6183                 name: "tests2.dat #57"
6184                 html: "<!DOCTYPE html>X</html> "
6185                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"X \"\n"
6186         }, {
6187                 name: "tests2.dat #58"
6188                 html: "<!DOCTYPE html>X</html><p>X"
6189                 errors: 1
6190                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"X\"\n|     <p>\n|       \"X\"\n"
6191         }, {
6192                 name: "tests2.dat #59"
6193                 html: "<!DOCTYPE html>X<p/x/y/z>"
6194                 errors: 3
6195                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"X\"\n|     <p>\n|       x=\"\"\n|       y=\"\"\n|       z=\"\"\n"
6196         }, {
6197                 name: "tests2.dat #60"
6198                 html: "<!DOCTYPE html><!--x--"
6199                 errors: 1
6200                 expected: "| <!DOCTYPE html>\n| <!-- x -->\n| <html>\n|   <head>\n|   <body>\n"
6201         }, {
6202                 name: "tests2.dat #61"
6203                 html: "<!DOCTYPE html><table><tr><td></p></table>"
6204                 errors: 1
6205                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <p>\n"
6206         }, {
6207                 name: "tests2.dat #62"
6208                 html: "<!DOCTYPE <!DOCTYPE HTML>><!--<!--x-->-->"
6209                 errors: 3
6210                 expected: "| <!DOCTYPE <!doctype>\n| <html>\n|   <head>\n|   <body>\n|     \">\"\n|     <!-- <!--x -->\n|     \"-->\"\n"
6211         }, {
6212                 name: "tests2.dat #63"
6213                 html: "<!doctype html><div><form></form><div></div></div>"
6214                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <form>\n|       <div>\n"
6215         }, {
6216                 name: "tests3.dat #1"
6217                 html: "<head></head><style></style>"
6218                 errors: 2
6219                 expected: "| <html>\n|   <head>\n|     <style>\n|   <body>\n"
6220         }, {
6221                 name: "tests3.dat #2"
6222                 html: "<head></head><script></script>"
6223                 errors: 2
6224                 expected: "| <html>\n|   <head>\n|     <script>\n|   <body>\n"
6225         }, {
6226                 name: "tests3.dat #3"
6227                 html: "<head></head><!-- --><style></style><!-- --><script></script>"
6228                 errors: 3
6229                 expected: "| <html>\n|   <head>\n|     <style>\n|     <script>\n|   <!--   -->\n|   <!--   -->\n|   <body>\n"
6230         }, {
6231                 name: "tests3.dat #4"
6232                 html: "<head></head><!-- -->x<style></style><!-- --><script></script>"
6233                 errors: 1
6234                 expected: "| <html>\n|   <head>\n|   <!--   -->\n|   <body>\n|     \"x\"\n|     <style>\n|     <!--   -->\n|     <script>\n"
6235         }, {
6236                 name: "tests3.dat #5"
6237                 html: "<!DOCTYPE html><html><head></head><body><pre>\n</pre></body></html>"
6238                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <pre>\n"
6239         }, {
6240                 name: "tests3.dat #6"
6241                 html: "<!DOCTYPE html><html><head></head><body><pre>\nfoo</pre></body></html>"
6242                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <pre>\n|       \"foo\"\n"
6243         }, {
6244                 name: "tests3.dat #7"
6245                 html: "<!DOCTYPE html><html><head></head><body><pre>\n\nfoo</pre></body></html>"
6246                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <pre>\n|       \"\nfoo\"\n"
6247         }, {
6248                 name: "tests3.dat #8"
6249                 html: "<!DOCTYPE html><html><head></head><body><pre>\nfoo\n</pre></body></html>"
6250                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <pre>\n|       \"foo\n\"\n"
6251         }, {
6252                 name: "tests3.dat #9"
6253                 html: "<!DOCTYPE html><html><head></head><body><pre>x</pre><span>\n</span></body></html>"
6254                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <pre>\n|       \"x\"\n|     <span>\n|       \"\n\"\n"
6255         }, {
6256                 name: "tests3.dat #10"
6257                 html: "<!DOCTYPE html><html><head></head><body><pre>x\ny</pre></body></html>"
6258                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <pre>\n|       \"x\ny\"\n"
6259         }, {
6260                 name: "tests3.dat #11"
6261                 html: "<!DOCTYPE html><html><head></head><body><pre>x<div>\ny</pre></body></html>"
6262                 errors: 1
6263                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <pre>\n|       \"x\"\n|       <div>\n|         \"\ny\"\n"
6264         }, {
6265                 name: "tests3.dat #12"
6266                 html: "<!DOCTYPE html><pre>&#x0a;&#x0a;A</pre>"
6267                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <pre>\n|       \"\nA\"\n"
6268         }, {
6269                 name: "tests3.dat #13"
6270                 html: "<!DOCTYPE html><HTML><META><HEAD></HEAD></HTML>"
6271                 errors: 1
6272                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <meta>\n|   <body>\n"
6273         }, {
6274                 name: "tests3.dat #14"
6275                 html: "<!DOCTYPE html><HTML><HEAD><head></HEAD></HTML>"
6276                 errors: 1
6277                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n"
6278         }, {
6279                 name: "tests3.dat #15"
6280                 html: "<textarea>foo<span>bar</span><i>baz"
6281                 errors: 2
6282                 expected: "| <html>\n|   <head>\n|   <body>\n|     <textarea>\n|       \"foo<span>bar</span><i>baz\"\n"
6283         }, {
6284                 name: "tests3.dat #16"
6285                 html: "<title>foo<span>bar</em><i>baz"
6286                 errors: 2
6287                 expected: "| <html>\n|   <head>\n|     <title>\n|       \"foo<span>bar</em><i>baz\"\n|   <body>\n"
6288         }, {
6289                 name: "tests3.dat #17"
6290                 html: "<!DOCTYPE html><textarea>\n</textarea>"
6291                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <textarea>\n"
6292         }, {
6293                 name: "tests3.dat #18"
6294                 html: "<!DOCTYPE html><textarea>\nfoo</textarea>"
6295                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <textarea>\n|       \"foo\"\n"
6296         }, {
6297                 name: "tests3.dat #19"
6298                 html: "<!DOCTYPE html><textarea>\n\nfoo</textarea>"
6299                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <textarea>\n|       \"\nfoo\"\n"
6300         }, {
6301                 name: "tests3.dat #20"
6302                 html: "<!DOCTYPE html><html><head></head><body><ul><li><div><p><li></ul></body></html>"
6303                 errors: 1
6304                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <ul>\n|       <li>\n|         <div>\n|           <p>\n|       <li>\n"
6305         }, {
6306                 name: "tests3.dat #21"
6307                 html: "<!doctype html><nobr><nobr><nobr>"
6308                 errors: 3
6309                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <nobr>\n|     <nobr>\n|     <nobr>\n"
6310         }, {
6311                 name: "tests3.dat #22"
6312                 html: "<!doctype html><nobr><nobr></nobr><nobr>"
6313                 errors: 2
6314                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <nobr>\n|     <nobr>\n|     <nobr>\n"
6315         }, {
6316                 name: "tests3.dat #23"
6317                 html: "<!doctype html><html><body><p><table></table></body></html>"
6318                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|     <table>\n"
6319         }, {
6320                 name: "tests3.dat #24"
6321                 html: "<p><table></table>"
6322                 errors: 1
6323                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <table>\n"
6324         }, {
6325                 name: "tests4.dat #1"
6326                 html: "direct div content"
6327                 fragment: "div"
6328                 expected: "| \"direct div content\"\n"
6329         }, {
6330                 name: "tests4.dat #2"
6331                 html: "direct textarea content"
6332                 fragment: "textarea"
6333                 expected: "| \"direct textarea content\"\n"
6334         }, {
6335                 name: "tests4.dat #3"
6336                 html: "textarea content with <em>pseudo</em> <foo>markup"
6337                 fragment: "textarea"
6338                 expected: "| \"textarea content with <em>pseudo</em> <foo>markup\"\n"
6339         }, {
6340                 name: "tests4.dat #4"
6341                 html: "this is &#x0043;DATA inside a <style> element"
6342                 fragment: "style"
6343                 expected: "| \"this is &#x0043;DATA inside a <style> element\"\n"
6344         }, {
6345                 name: "tests4.dat #5"
6346                 html: "</plaintext>"
6347                 fragment: "plaintext"
6348                 expected: "| \"</plaintext>\"\n"
6349         }, {
6350                 name: "tests4.dat #6"
6351                 html: "setting html's innerHTML"
6352                 fragment: "html"
6353                 expected: "| <head>\n| <body>\n|   \"setting html's innerHTML\"\n"
6354         }, {
6355                 name: "tests4.dat #7"
6356                 html: "<title>setting head's innerHTML</title>"
6357                 fragment: "head"
6358                 expected: "| <title>\n|   \"setting head's innerHTML\"\n"
6359         }, {
6360                 name: "tests5.dat #1"
6361                 html: "<style> <!-- </style>x"
6362                 errors: 1
6363                 expected: "| <html>\n|   <head>\n|     <style>\n|       \" <!-- \"\n|   <body>\n|     \"x\"\n"
6364         }, {
6365                 name: "tests5.dat #2"
6366                 html: "<style> <!-- </style> --> </style>x"
6367                 errors: 2
6368                 expected: "| <html>\n|   <head>\n|     <style>\n|       \" <!-- \"\n|     \" \"\n|   <body>\n|     \"--> x\"\n"
6369         }, {
6370                 name: "tests5.dat #3"
6371                 html: "<style> <!--> </style>x"
6372                 errors: 1
6373                 expected: "| <html>\n|   <head>\n|     <style>\n|       \" <!--> \"\n|   <body>\n|     \"x\"\n"
6374         }, {
6375                 name: "tests5.dat #4"
6376                 html: "<style> <!---> </style>x"
6377                 errors: 1
6378                 expected: "| <html>\n|   <head>\n|     <style>\n|       \" <!---> \"\n|   <body>\n|     \"x\"\n"
6379         }, {
6380                 name: "tests5.dat #5"
6381                 html: "<iframe> <!---> </iframe>x"
6382                 errors: 1
6383                 expected: "| <html>\n|   <head>\n|   <body>\n|     <iframe>\n|       \" <!---> \"\n|     \"x\"\n"
6384         }, {
6385                 name: "tests5.dat #6"
6386                 html: "<iframe> <!--- </iframe>->x</iframe> --> </iframe>x"
6387                 errors: 3
6388                 expected: "| <html>\n|   <head>\n|   <body>\n|     <iframe>\n|       \" <!--- \"\n|     \"->x --> x\"\n"
6389         }, {
6390                 name: "tests5.dat #7"
6391                 html: "<script> <!-- </script> --> </script>x"
6392                 errors: 2
6393                 expected: "| <html>\n|   <head>\n|     <script>\n|       \" <!-- \"\n|     \" \"\n|   <body>\n|     \"--> x\"\n"
6394         }, {
6395                 name: "tests5.dat #8"
6396                 html: "<title> <!-- </title> --> </title>x"
6397                 errors: 2
6398                 expected: "| <html>\n|   <head>\n|     <title>\n|       \" <!-- \"\n|     \" \"\n|   <body>\n|     \"--> x\"\n"
6399         }, {
6400                 name: "tests5.dat #9"
6401                 html: "<textarea> <!--- </textarea>->x</textarea> --> </textarea>x"
6402                 errors: 3
6403                 expected: "| <html>\n|   <head>\n|   <body>\n|     <textarea>\n|       \" <!--- \"\n|     \"->x --> x\"\n"
6404         }, {
6405                 name: "tests5.dat #10"
6406                 html: "<style> <!</-- </style>x"
6407                 errors: 1
6408                 expected: "| <html>\n|   <head>\n|     <style>\n|       \" <!</-- \"\n|   <body>\n|     \"x\"\n"
6409         }, {
6410                 name: "tests5.dat #11"
6411                 html: "<p><xmp></xmp>"
6412                 errors: 1
6413                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|     <xmp>\n"
6414         }, {
6415                 name: "tests5.dat #12"
6416                 html: "<xmp> <!-- > --> </xmp>"
6417                 errors: 1
6418                 expected: "| <html>\n|   <head>\n|   <body>\n|     <xmp>\n|       \" <!-- > --> \"\n"
6419         }, {
6420                 name: "tests5.dat #13"
6421                 html: "<title>&amp;</title>"
6422                 errors: 1
6423                 expected: "| <html>\n|   <head>\n|     <title>\n|       \"&\"\n|   <body>\n"
6424         }, {
6425                 name: "tests5.dat #14"
6426                 html: "<title><!--&amp;--></title>"
6427                 errors: 1
6428                 expected: "| <html>\n|   <head>\n|     <title>\n|       \"<!--&-->\"\n|   <body>\n"
6429         }, {
6430                 name: "tests5.dat #15"
6431                 html: "<title><!--</title>"
6432                 errors: 1
6433                 expected: "| <html>\n|   <head>\n|     <title>\n|       \"<!--\"\n|   <body>\n"
6434         }, {
6435                 name: "tests5.dat #16"
6436                 html: "<noscript><!--</noscript>--></noscript>"
6437                 scripting: true
6438                 errors: 2
6439                 expected: "| <html>\n|   <head>\n|     <noscript>\n|       \"<!--\"\n|   <body>\n|     \"-->\"\n"
6440         }, {
6441                 name: "tests5.dat #17"
6442                 html: "<noscript><!--</noscript>--></noscript>"
6443                 scripting: false
6444                 errors: 1
6445                 expected: "| <html>\n|   <head>\n|     <noscript>\n|       <!-- </noscript> -->\n|   <body>\n"
6446         }, {
6447                 name: "tests6.dat #1"
6448                 html: "<!doctype html></head> <head>"
6449                 errors: 1
6450                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   \" \"\n|   <body>\n"
6451         }, {
6452                 name: "tests6.dat #2"
6453                 html: "<!doctype html><form><div></form><div>"
6454                 errors: 2
6455                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <form>\n|       <div>\n|         <div>\n"
6456         }, {
6457                 name: "tests6.dat #3"
6458                 html: "<!doctype html><title>&amp;</title>"
6459                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <title>\n|       \"&\"\n|   <body>\n"
6460         }, {
6461                 name: "tests6.dat #4"
6462                 html: "<!doctype html><title><!--&amp;--></title>"
6463                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <title>\n|       \"<!--&-->\"\n|   <body>\n"
6464         }, {
6465                 name: "tests6.dat #5"
6466                 html: "<!doctype>"
6467                 errors: 3
6468                 expected: "| <!DOCTYPE >\n| <html>\n|   <head>\n|   <body>\n"
6469         }, {
6470                 name: "tests6.dat #6"
6471                 html: "<!---x"
6472                 errors: 2
6473                 expected: "| <!-- -x -->\n| <html>\n|   <head>\n|   <body>\n"
6474         }, {
6475                 name: "tests6.dat #7"
6476                 html: "<body>\n<div>"
6477                 errors: 2
6478                 fragment: "div"
6479                 expected: "| \"\n\"\n| <div>\n"
6480         }, {
6481                 name: "tests6.dat #8"
6482                 html: "<frameset></frameset>\nfoo"
6483                 errors: 4
6484                 expected: "| <html>\n|   <head>\n|   <frameset>\n|   \"\n\"\n"
6485         }, {
6486                 name: "tests6.dat #9"
6487                 html: "<frameset></frameset>\n<noframes>"
6488                 errors: 2
6489                 expected: "| <html>\n|   <head>\n|   <frameset>\n|   \"\n\"\n|   <noframes>\n"
6490         }, {
6491                 name: "tests6.dat #10"
6492                 html: "<frameset></frameset>\n<div>"
6493                 errors: 2
6494                 expected: "| <html>\n|   <head>\n|   <frameset>\n|   \"\n\"\n"
6495         }, {
6496                 name: "tests6.dat #11"
6497                 html: "<frameset></frameset>\n</html>"
6498                 errors: 1
6499                 expected: "| <html>\n|   <head>\n|   <frameset>\n|   \"\n\"\n"
6500         }, {
6501                 name: "tests6.dat #12"
6502                 html: "<frameset></frameset>\n</div>"
6503                 errors: 2
6504                 expected: "| <html>\n|   <head>\n|   <frameset>\n|   \"\n\"\n"
6505         }, {
6506                 name: "tests6.dat #13"
6507                 html: "<form><form>"
6508                 errors: 3
6509                 expected: "| <html>\n|   <head>\n|   <body>\n|     <form>\n"
6510         }, {
6511                 name: "tests6.dat #14"
6512                 html: "<button><button>"
6513                 errors: 3
6514                 expected: "| <html>\n|   <head>\n|   <body>\n|     <button>\n|     <button>\n"
6515         }, {
6516                 name: "tests6.dat #15"
6517                 html: "<table><tr><td></th>"
6518                 errors: 3
6519                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n"
6520         }, {
6521                 name: "tests6.dat #16"
6522                 html: "<table><caption><td>"
6523                 errors: 3
6524                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n|       <tbody>\n|         <tr>\n|           <td>\n"
6525         }, {
6526                 name: "tests6.dat #17"
6527                 html: "<table><caption><div>"
6528                 errors: 2
6529                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n|         <div>\n"
6530         }, {
6531                 name: "tests6.dat #18"
6532                 html: "</caption><div>"
6533                 errors: 2
6534                 fragment: "caption"
6535                 expected: "| <div>\n"
6536         }, {
6537                 name: "tests6.dat #19"
6538                 html: "<table><caption><div></caption>"
6539                 errors: 3
6540                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n|         <div>\n"
6541         }, {
6542                 name: "tests6.dat #20"
6543                 html: "<table><caption></table>"
6544                 errors: 1
6545                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n"
6546         }, {
6547                 name: "tests6.dat #21"
6548                 html: "</table><div>"
6549                 errors: 2
6550                 fragment: "caption"
6551                 expected: "| <div>\n"
6552         }, {
6553                 name: "tests6.dat #22"
6554                 html: "<table><caption></body></col></colgroup></html></tbody></td></tfoot></th></thead></tr>"
6555                 errors: 12
6556                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n"
6557         }, {
6558                 name: "tests6.dat #23"
6559                 html: "<table><caption><div></div>"
6560                 errors: 2
6561                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n|         <div>\n"
6562         }, {
6563                 name: "tests6.dat #24"
6564                 html: "<table><tr><td></body></caption></col></colgroup></html>"
6565                 errors: 7
6566                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n"
6567         }, {
6568                 name: "tests6.dat #25"
6569                 html: "</table></tbody></tfoot></thead></tr><div>"
6570                 errors: 6
6571                 fragment: "td"
6572                 expected: "| <div>\n"
6573         }, {
6574                 name: "tests6.dat #26"
6575                 html: "<table><colgroup>foo"
6576                 errors: 5
6577                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"foo\"\n|     <table>\n|       <colgroup>\n"
6578         }, {
6579                 name: "tests6.dat #27"
6580                 html: "foo<col>"
6581                 errors: 3
6582                 fragment: "colgroup"
6583                 expected: "| <col>\n"
6584         }, {
6585                 name: "tests6.dat #28"
6586                 html: "<table><colgroup></col>"
6587                 errors: 3
6588                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <colgroup>\n"
6589         }, {
6590                 name: "tests6.dat #29"
6591                 html: "<frameset><div>"
6592                 errors: 3
6593                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
6594         }, {
6595                 name: "tests6.dat #30"
6596                 html: "</frameset><frame>"
6597                 errors: 1
6598                 fragment: "frameset"
6599                 expected: "| <frame>\n"
6600         }, {
6601                 name: "tests6.dat #31"
6602                 html: "<frameset></div>"
6603                 errors: 3
6604                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
6605         }, {
6606                 name: "tests6.dat #32"
6607                 html: "</body><div>"
6608                 errors: 2
6609                 fragment: "body"
6610                 expected: "| <div>\n"
6611         }, {
6612                 name: "tests6.dat #33"
6613                 html: "<table><tr><div>"
6614                 errors: 3
6615                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|     <table>\n|       <tbody>\n|         <tr>\n"
6616         }, {
6617                 name: "tests6.dat #34"
6618                 html: "</tr><td>"
6619                 errors: 1
6620                 fragment: "tr"
6621                 expected: "| <td>\n"
6622         }, {
6623                 name: "tests6.dat #35"
6624                 html: "</tbody></tfoot></thead><td>"
6625                 errors: 3
6626                 fragment: "tr"
6627                 expected: "| <td>\n"
6628         }, {
6629                 name: "tests6.dat #36"
6630                 html: "<table><tr><div><td>"
6631                 errors: 3
6632                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n"
6633         }, {
6634                 name: "tests6.dat #37"
6635                 html: "<caption><col><colgroup><tbody><tfoot><thead><tr>"
6636                 errors: 6
6637                 fragment: "tbody"
6638                 expected: "| <tr>\n"
6639         }, {
6640                 name: "tests6.dat #38"
6641                 html: "<table><tbody></thead>"
6642                 errors: 3
6643                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n"
6644         }, {
6645                 name: "tests6.dat #39"
6646                 html: "</table><tr>"
6647                 errors: 1
6648                 fragment: "tbody"
6649                 expected: "| <tr>\n"
6650         }, {
6651                 name: "tests6.dat #40"
6652                 html: "<table><tbody></body></caption></col></colgroup></html></td></th></tr>"
6653                 errors: 10
6654                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n"
6655         }, {
6656                 name: "tests6.dat #41"
6657                 html: "<table><tbody></div>"
6658                 errors: 4
6659                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n"
6660         }, {
6661                 name: "tests6.dat #42"
6662                 html: "<table><table>"
6663                 errors: 3
6664                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|     <table>\n"
6665         }, {
6666                 name: "tests6.dat #43"
6667                 html: "<table></body></caption></col></colgroup></html></tbody></td></tfoot></th></thead></tr>"
6668                 errors: 13
6669                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n"
6670         }, {
6671                 name: "tests6.dat #44"
6672                 html: "</table><tr>"
6673                 errors: 1
6674                 fragment: "table"
6675                 expected: "| <tbody>\n|   <tr>\n"
6676         }, {
6677                 name: "tests6.dat #45"
6678                 html: "<body></body></html>"
6679                 errors: 1
6680                 fragment: "html"
6681                 expected: "| <head>\n| <body>\n"
6682         }, {
6683                 name: "tests6.dat #46"
6684                 html: "<html><frameset></frameset></html> "
6685                 errors: 1
6686                 expected: "| <html>\n|   <head>\n|   <frameset>\n|   \" \"\n"
6687         }, {
6688                 name: "tests6.dat #47"
6689                 html: "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\"><html></html>"
6690                 expected: "| <!DOCTYPE html \"-//W3C//DTD HTML 4.01//EN\" \"\">\n| <html>\n|   <head>\n|   <body>\n"
6691         }, {
6692                 name: "tests6.dat #48"
6693                 html: "<param><frameset></frameset>"
6694                 errors: 2
6695                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
6696         }, {
6697                 name: "tests6.dat #49"
6698                 html: "<source><frameset></frameset>"
6699                 errors: 2
6700                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
6701         }, {
6702                 name: "tests6.dat #50"
6703                 html: "<track><frameset></frameset>"
6704                 errors: 2
6705                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
6706         }, {
6707                 name: "tests6.dat #51"
6708                 html: "</html><frameset></frameset>"
6709                 errors: 3
6710                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
6711         }, {
6712                 name: "tests6.dat #52"
6713                 html: "</body><frameset></frameset>"
6714                 errors: 3
6715                 expected: "| <html>\n|   <head>\n|   <frameset>\n"
6716         }, {
6717                 name: "tests7.dat #1"
6718                 html: "<!doctype html><body><title>X</title>"
6719                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <title>\n|       \"X\"\n"
6720         }, {
6721                 name: "tests7.dat #2"
6722                 html: "<!doctype html><table><title>X</title></table>"
6723                 errors: 1
6724                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <title>\n|       \"X\"\n|     <table>\n"
6725         }, {
6726                 name: "tests7.dat #3"
6727                 html: "<!doctype html><head></head><title>X</title>"
6728                 errors: 1
6729                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <title>\n|       \"X\"\n|   <body>\n"
6730         }, {
6731                 name: "tests7.dat #4"
6732                 html: "<!doctype html></head><title>X</title>"
6733                 errors: 1
6734                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|     <title>\n|       \"X\"\n|   <body>\n"
6735         }, {
6736                 name: "tests7.dat #5"
6737                 html: "<!doctype html><table><meta></table>"
6738                 errors: 1
6739                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <meta>\n|     <table>\n"
6740         }, {
6741                 name: "tests7.dat #6"
6742                 html: "<!doctype html><table>X<tr><td><table> <meta></table></table>"
6743                 errors: 2
6744                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"X\"\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <meta>\n|             <table>\n|               \" \"\n"
6745         }, {
6746                 name: "tests7.dat #7"
6747                 html: "<!doctype html><html> <head>"
6748                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n"
6749         }, {
6750                 name: "tests7.dat #8"
6751                 html: "<!doctype html> <head>"
6752                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n"
6753         }, {
6754                 name: "tests7.dat #9"
6755                 html: "<!doctype html><table><style> <tr>x </style> </table>"
6756                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <style>\n|         \" <tr>x \"\n|       \" \"\n"
6757         }, {
6758                 name: "tests7.dat #10"
6759                 html: "<!doctype html><table><TBODY><script> <tr>x </script> </table>"
6760                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <script>\n|           \" <tr>x \"\n|         \" \"\n"
6761         }, {
6762                 name: "tests7.dat #11"
6763                 html: "<!doctype html><p><applet><p>X</p></applet>"
6764                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <applet>\n|         <p>\n|           \"X\"\n"
6765         }, {
6766                 name: "tests7.dat #12"
6767                 html: "<!doctype html><p><object type=\"application/x-non-existant-plugin\"><p>X</p></object>"
6768                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <object>\n|         type=\"application/x-non-existant-plugin\"\n|         <p>\n|           \"X\"\n"
6769         }, {
6770                 name: "tests7.dat #13"
6771                 html: "<!doctype html><listing>\nX</listing>"
6772                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <listing>\n|       \"X\"\n"
6773         }, {
6774                 name: "tests7.dat #14"
6775                 html: "<!doctype html><select><input>X"
6776                 errors: 1
6777                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|     <input>\n|     \"X\"\n"
6778         }, {
6779                 name: "tests7.dat #15"
6780                 html: "<!doctype html><select><select>X"
6781                 errors: 1
6782                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|     \"X\"\n"
6783         }, {
6784                 name: "tests7.dat #16"
6785                 html: "<!doctype html><table><input type=hidDEN></table>"
6786                 errors: 1
6787                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <input>\n|         type=\"hidDEN\"\n"
6788         }, {
6789                 name: "tests7.dat #17"
6790                 html: "<!doctype html><table>X<input type=hidDEN></table>"
6791                 errors: 2
6792                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     \"X\"\n|     <table>\n|       <input>\n|         type=\"hidDEN\"\n"
6793         }, {
6794                 name: "tests7.dat #18"
6795                 html: "<!doctype html><table>  <input type=hidDEN></table>"
6796                 errors: 1
6797                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       \"  \"\n|       <input>\n|         type=\"hidDEN\"\n"
6798         }, {
6799                 name: "tests7.dat #19"
6800                 html: "<!doctype html><table>  <input type='hidDEN'></table>"
6801                 errors: 1
6802                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       \"  \"\n|       <input>\n|         type=\"hidDEN\"\n"
6803         }, {
6804                 name: "tests7.dat #20"
6805                 html: "<!doctype html><table><input type=\" hidden\"><input type=hidDEN></table>"
6806                 errors: 2
6807                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <input>\n|       type=\" hidden\"\n|     <table>\n|       <input>\n|         type=\"hidDEN\"\n"
6808         }, {
6809                 name: "tests7.dat #21"
6810                 html: "<!doctype html><table><select>X<tr>"
6811                 errors: 3
6812                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       \"X\"\n|     <table>\n|       <tbody>\n|         <tr>\n"
6813         }, {
6814                 name: "tests7.dat #22"
6815                 html: "<!doctype html><select>X</select>"
6816                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       \"X\"\n"
6817         }, {
6818                 name: "tests7.dat #23"
6819                 html: "<!DOCTYPE hTmL><html></html>"
6820                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n"
6821         }, {
6822                 name: "tests7.dat #24"
6823                 html: "<!DOCTYPE HTML><html></html>"
6824                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n"
6825         }, {
6826                 name: "tests7.dat #25"
6827                 html: "<body>X</body></body>"
6828                 errors: 1
6829                 fragment: "html"
6830                 expected: "| <head>\n| <body>\n|   \"X\"\n"
6831         }, {
6832                 name: "tests7.dat #26"
6833                 html: "<div><p>a</x> b"
6834                 errors: 3
6835                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <p>\n|         \"a b\"\n"
6836         }, {
6837                 name: "tests7.dat #27"
6838                 html: "<table><tr><td><code></code> </table>"
6839                 errors: 1
6840                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <code>\n|             \" \"\n"
6841         }, {
6842                 name: "tests7.dat #28"
6843                 html: "<table><b><tr><td>aaa</td></tr>bbb</table>ccc"
6844                 errors: 6
6845                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|     <b>\n|       \"bbb\"\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             \"aaa\"\n|     <b>\n|       \"ccc\"\n"
6846         }, {
6847                 name: "tests7.dat #29"
6848                 html: "A<table><tr> B</tr> B</table>"
6849                 errors: 5
6850                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"A B B\"\n|     <table>\n|       <tbody>\n|         <tr>\n"
6851         }, {
6852                 name: "tests7.dat #30"
6853                 html: "A<table><tr> B</tr> </em>C</table>"
6854                 errors: 6
6855                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"A BC\"\n|     <table>\n|       <tbody>\n|         <tr>\n|         \" \"\n"
6856         }, {
6857                 name: "tests7.dat #31"
6858                 html: "<select><keygen>"
6859                 errors: 2
6860                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|     <keygen>\n"
6861         }, {
6862                 name: "tests8.dat #1"
6863                 html: "<div>\n<div></div>\n</span>x"
6864                 errors: 3
6865                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"\n\"\n|       <div>\n|       \"\nx\"\n"
6866         }, {
6867                 name: "tests8.dat #2"
6868                 html: "<div>x<div></div>\n</span>x"
6869                 errors: 3
6870                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"x\"\n|       <div>\n|       \"\nx\"\n"
6871         }, {
6872                 name: "tests8.dat #3"
6873                 html: "<div>x<div></div>x</span>x"
6874                 errors: 3
6875                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"x\"\n|       <div>\n|       \"xx\"\n"
6876         }, {
6877                 name: "tests8.dat #4"
6878                 html: "<div>x<div></div>y</span>z"
6879                 errors: 3
6880                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"x\"\n|       <div>\n|       \"yz\"\n"
6881         }, {
6882                 name: "tests8.dat #5"
6883                 html: "<table><div>x<div></div>x</span>x"
6884                 errors: 10
6885                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"x\"\n|       <div>\n|       \"xx\"\n|     <table>\n"
6886         }, {
6887                 name: "tests8.dat #6"
6888                 html: "x<table>x"
6889                 errors: 3
6890                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"xx\"\n|     <table>\n"
6891         }, {
6892                 name: "tests8.dat #7"
6893                 html: "x<table><table>x"
6894                 errors: 4
6895                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"x\"\n|     <table>\n|     \"x\"\n|     <table>\n"
6896         }, {
6897                 name: "tests8.dat #8"
6898                 html: "<b>a<div></div><div></b>y"
6899                 errors: 3
6900                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       \"a\"\n|       <div>\n|     <div>\n|       <b>\n|       \"y\"\n"
6901         }, {
6902                 name: "tests8.dat #9"
6903                 html: "<a><div><p></a>"
6904                 errors: 4
6905                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|     <div>\n|       <a>\n|       <p>\n|         <a>\n"
6906         }, {
6907                 name: "tests9.dat #1"
6908                 html: "<!DOCTYPE html><math></math>"
6909                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n"
6910         }, {
6911                 name: "tests9.dat #2"
6912                 html: "<!DOCTYPE html><body><math></math>"
6913                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n"
6914         }, {
6915                 name: "tests9.dat #3"
6916                 html: "<!DOCTYPE html><math><mi>"
6917                 errors: 1
6918                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mi>\n"
6919         }, {
6920                 name: "tests9.dat #4"
6921                 html: "<!DOCTYPE html><math><annotation-xml><svg><u>"
6922                 errors: 2
6923                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math annotation-xml>\n|         <svg svg>\n|     <u>\n"
6924         }, {
6925                 name: "tests9.dat #5"
6926                 html: "<!DOCTYPE html><body><select><math></math></select>"
6927                 errors: 2
6928                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n"
6929         }, {
6930                 name: "tests9.dat #6"
6931                 html: "<!DOCTYPE html><body><select><option><math></math></option></select>"
6932                 errors: 2
6933                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <option>\n"
6934         }, {
6935                 name: "tests9.dat #7"
6936                 html: "<!DOCTYPE html><body><table><math></math></table>"
6937                 errors: 1
6938                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|     <table>\n"
6939         }, {
6940                 name: "tests9.dat #8"
6941                 html: "<!DOCTYPE html><body><table><math><mi>foo</mi></math></table>"
6942                 errors: 4
6943                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mi>\n|         \"foo\"\n|     <table>\n"
6944         }, {
6945                 name: "tests9.dat #9"
6946                 html: "<!DOCTYPE html><body><table><math><mi>foo</mi><mi>bar</mi></math></table>"
6947                 errors: 7
6948                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mi>\n|         \"foo\"\n|       <math mi>\n|         \"bar\"\n|     <table>\n"
6949         }, {
6950                 name: "tests9.dat #10"
6951                 html: "<!DOCTYPE html><body><table><tbody><math><mi>foo</mi><mi>bar</mi></math></tbody></table>"
6952                 errors: 7
6953                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mi>\n|         \"foo\"\n|       <math mi>\n|         \"bar\"\n|     <table>\n|       <tbody>\n"
6954         }, {
6955                 name: "tests9.dat #11"
6956                 html: "<!DOCTYPE html><body><table><tbody><tr><math><mi>foo</mi><mi>bar</mi></math></tr></tbody></table>"
6957                 errors: 7
6958                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mi>\n|         \"foo\"\n|       <math mi>\n|         \"bar\"\n|     <table>\n|       <tbody>\n|         <tr>\n"
6959         }, {
6960                 name: "tests9.dat #12"
6961                 html: "<!DOCTYPE html><body><table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math></td></tr></tbody></table>"
6962                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <math math>\n|               <math mi>\n|                 \"foo\"\n|               <math mi>\n|                 \"bar\"\n"
6963         }, {
6964                 name: "tests9.dat #13"
6965                 html: "<!DOCTYPE html><body><table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math><p>baz</td></tr></tbody></table>"
6966                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <math math>\n|               <math mi>\n|                 \"foo\"\n|               <math mi>\n|                 \"bar\"\n|             <p>\n|               \"baz\"\n"
6967         }, {
6968                 name: "tests9.dat #14"
6969                 html: "<!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi></math><p>baz</caption></table>"
6970                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n|         <math math>\n|           <math mi>\n|             \"foo\"\n|           <math mi>\n|             \"bar\"\n|         <p>\n|           \"baz\"\n"
6971         }, {
6972                 name: "tests9.dat #15"
6973                 html: "<!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux"
6974                 errors: 1
6975                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n|         <math math>\n|           <math mi>\n|             \"foo\"\n|           <math mi>\n|             \"bar\"\n|         <p>\n|           \"baz\"\n|     <p>\n|       \"quux\"\n"
6976         }, {
6977                 name: "tests9.dat #16"
6978                 html: "<!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi>baz</table><p>quux"
6979                 errors: 2
6980                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <caption>\n|         <math math>\n|           <math mi>\n|             \"foo\"\n|           <math mi>\n|             \"bar\"\n|           \"baz\"\n|     <p>\n|       \"quux\"\n"
6981         }, {
6982                 name: "tests9.dat #17"
6983                 html: "<!DOCTYPE html><body><table><colgroup><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux"
6984                 errors: 12
6985                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mi>\n|         \"foo\"\n|       <math mi>\n|         \"bar\"\n|     <p>\n|       \"baz\"\n|     <table>\n|       <colgroup>\n|     <p>\n|       \"quux\"\n"
6986         }, {
6987                 name: "tests9.dat #18"
6988                 html: "<!DOCTYPE html><body><table><tr><td><select><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux"
6989                 errors: 7
6990                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <select>\n|               \"foobarbaz\"\n|     <p>\n|       \"quux\"\n"
6991         }, {
6992                 name: "tests9.dat #19"
6993                 html: "<!DOCTYPE html><body><table><select><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux"
6994                 errors: 8
6995                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <select>\n|       \"foobarbaz\"\n|     <table>\n|     <p>\n|       \"quux\"\n"
6996         }, {
6997                 name: "tests9.dat #20"
6998                 html: "<!DOCTYPE html><body></body></html><math><mi>foo</mi><mi>bar</mi><p>baz"
6999                 errors: 2
7000                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mi>\n|         \"foo\"\n|       <math mi>\n|         \"bar\"\n|     <p>\n|       \"baz\"\n"
7001         }, {
7002                 name: "tests9.dat #21"
7003                 html: "<!DOCTYPE html><body></body><math><mi>foo</mi><mi>bar</mi><p>baz"
7004                 errors: 2
7005                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mi>\n|         \"foo\"\n|       <math mi>\n|         \"bar\"\n|     <p>\n|       \"baz\"\n"
7006         }, {
7007                 name: "tests9.dat #22"
7008                 html: "<!DOCTYPE html><frameset><math><mi></mi><mi></mi><p><span>"
7009                 errors: 8
7010                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n"
7011         }, {
7012                 name: "tests9.dat #23"
7013                 html: "<!DOCTYPE html><frameset></frameset><math><mi></mi><mi></mi><p><span>"
7014                 errors: 7
7015                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n"
7016         }, {
7017                 name: "tests9.dat #24"
7018                 html: "<!DOCTYPE html><body xlink:href=foo><math xlink:href=foo></math>"
7019                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     xlink:href=\"foo\"\n|     <math math>\n|       xlink href=\"foo\"\n"
7020         }, {
7021                 name: "tests9.dat #25"
7022                 html: "<!DOCTYPE html><body xlink:href=foo xml:lang=en><math><mi xml:lang=en xlink:href=foo></mi></math>"
7023                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     xlink:href=\"foo\"\n|     xml:lang=\"en\"\n|     <math math>\n|       <math mi>\n|         xlink href=\"foo\"\n|         xml lang=\"en\"\n"
7024         }, {
7025                 name: "tests9.dat #26"
7026                 html: "<!DOCTYPE html><body xlink:href=foo xml:lang=en><math><mi xml:lang=en xlink:href=foo /></math>"
7027                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     xlink:href=\"foo\"\n|     xml:lang=\"en\"\n|     <math math>\n|       <math mi>\n|         xlink href=\"foo\"\n|         xml lang=\"en\"\n"
7028         }, {
7029                 name: "tests9.dat #27"
7030                 html: "<!DOCTYPE html><body xlink:href=foo xml:lang=en><math><mi xml:lang=en xlink:href=foo />bar</math>"
7031                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     xlink:href=\"foo\"\n|     xml:lang=\"en\"\n|     <math math>\n|       <math mi>\n|         xlink href=\"foo\"\n|         xml lang=\"en\"\n|       \"bar\"\n"
7032         }, {
7033                 name: "tests_innerHTML_1.dat #1"
7034                 html: "<body><span>"
7035                 errors: 2
7036                 fragment: "body"
7037                 expected: "| <span>\n"
7038         }, {
7039                 name: "tests_innerHTML_1.dat #2"
7040                 html: "<span><body>"
7041                 errors: 2
7042                 fragment: "body"
7043                 expected: "| <span>\n"
7044         }, {
7045                 name: "tests_innerHTML_1.dat #3"
7046                 html: "<span><body>"
7047                 errors: 2
7048                 fragment: "div"
7049                 expected: "| <span>\n"
7050         }, {
7051                 name: "tests_innerHTML_1.dat #4"
7052                 html: "<body><span>"
7053                 errors: 1
7054                 fragment: "html"
7055                 expected: "| <head>\n| <body>\n|   <span>\n"
7056         }, {
7057                 name: "tests_innerHTML_1.dat #5"
7058                 html: "<frameset><span>"
7059                 errors: 2
7060                 fragment: "body"
7061                 expected: "| <span>\n"
7062         }, {
7063                 name: "tests_innerHTML_1.dat #6"
7064                 html: "<span><frameset>"
7065                 errors: 2
7066                 fragment: "body"
7067                 expected: "| <span>\n"
7068         }, {
7069                 name: "tests_innerHTML_1.dat #7"
7070                 html: "<span><frameset>"
7071                 errors: 2
7072                 fragment: "div"
7073                 expected: "| <span>\n"
7074         }, {
7075                 name: "tests_innerHTML_1.dat #8"
7076                 html: "<frameset><span>"
7077                 errors: 2
7078                 fragment: "html"
7079                 expected: "| <head>\n| <frameset>\n"
7080         }, {
7081                 name: "tests_innerHTML_1.dat #9"
7082                 html: "<table><tr>"
7083                 errors: 1
7084                 fragment: "table"
7085                 expected: "| <tbody>\n|   <tr>\n"
7086         }, {
7087                 name: "tests_innerHTML_1.dat #10"
7088                 html: "</table><tr>"
7089                 errors: 1
7090                 fragment: "table"
7091                 expected: "| <tbody>\n|   <tr>\n"
7092         }, {
7093                 name: "tests_innerHTML_1.dat #11"
7094                 html: "<a>"
7095                 errors: 2
7096                 fragment: "table"
7097                 expected: "| <a>\n"
7098         }, {
7099                 name: "tests_innerHTML_1.dat #12"
7100                 html: "<a>"
7101                 errors: 2
7102                 fragment: "table"
7103                 expected: "| <a>\n"
7104         }, {
7105                 name: "tests_innerHTML_1.dat #13"
7106                 html: "<a><caption>a"
7107                 errors: 2
7108                 fragment: "table"
7109                 expected: "| <a>\n| <caption>\n|   \"a\"\n"
7110         }, {
7111                 name: "tests_innerHTML_1.dat #14"
7112                 html: "<a><colgroup><col>"
7113                 errors: 2
7114                 fragment: "table"
7115                 expected: "| <a>\n| <colgroup>\n|   <col>\n"
7116         }, {
7117                 name: "tests_innerHTML_1.dat #15"
7118                 html: "<a><tbody><tr>"
7119                 errors: 1
7120                 fragment: "table"
7121                 expected: "| <a>\n| <tbody>\n|   <tr>\n"
7122         }, {
7123                 name: "tests_innerHTML_1.dat #16"
7124                 html: "<a><tfoot><tr>"
7125                 errors: 1
7126                 fragment: "table"
7127                 expected: "| <a>\n| <tfoot>\n|   <tr>\n"
7128         }, {
7129                 name: "tests_innerHTML_1.dat #17"
7130                 html: "<a><thead><tr>"
7131                 errors: 1
7132                 fragment: "table"
7133                 expected: "| <a>\n| <thead>\n|   <tr>\n"
7134         }, {
7135                 name: "tests_innerHTML_1.dat #18"
7136                 html: "<a><tr>"
7137                 errors: 1
7138                 fragment: "table"
7139                 expected: "| <a>\n| <tbody>\n|   <tr>\n"
7140         }, {
7141                 name: "tests_innerHTML_1.dat #19"
7142                 html: "<a><th>"
7143                 errors: 2
7144                 fragment: "table"
7145                 expected: "| <a>\n| <tbody>\n|   <tr>\n|     <th>\n"
7146         }, {
7147                 name: "tests_innerHTML_1.dat #20"
7148                 html: "<a><td>"
7149                 errors: 2
7150                 fragment: "table"
7151                 expected: "| <a>\n| <tbody>\n|   <tr>\n|     <td>\n"
7152         }, {
7153                 name: "tests_innerHTML_1.dat #21"
7154                 html: "<table></table><tbody>"
7155                 errors: 1
7156                 fragment: "caption"
7157                 expected: "| <table>\n"
7158         }, {
7159                 name: "tests_innerHTML_1.dat #22"
7160                 html: "</table><span>"
7161                 errors: 2
7162                 fragment: "caption"
7163                 expected: "| <span>\n"
7164         }, {
7165                 name: "tests_innerHTML_1.dat #23"
7166                 html: "<span></table>"
7167                 errors: 2
7168                 fragment: "caption"
7169                 expected: "| <span>\n"
7170         }, {
7171                 name: "tests_innerHTML_1.dat #24"
7172                 html: "</caption><span>"
7173                 errors: 2
7174                 fragment: "caption"
7175                 expected: "| <span>\n"
7176         }, {
7177                 name: "tests_innerHTML_1.dat #25"
7178                 html: "<span></caption><span>"
7179                 errors: 2
7180                 fragment: "caption"
7181                 expected: "| <span>\n|   <span>\n"
7182         }, {
7183                 name: "tests_innerHTML_1.dat #26"
7184                 html: "<span><caption><span>"
7185                 errors: 2
7186                 fragment: "caption"
7187                 expected: "| <span>\n|   <span>\n"
7188         }, {
7189                 name: "tests_innerHTML_1.dat #27"
7190                 html: "<span><col><span>"
7191                 errors: 2
7192                 fragment: "caption"
7193                 expected: "| <span>\n|   <span>\n"
7194         }, {
7195                 name: "tests_innerHTML_1.dat #28"
7196                 html: "<span><colgroup><span>"
7197                 errors: 2
7198                 fragment: "caption"
7199                 expected: "| <span>\n|   <span>\n"
7200         }, {
7201                 name: "tests_innerHTML_1.dat #29"
7202                 html: "<span><html><span>"
7203                 errors: 2
7204                 fragment: "caption"
7205                 expected: "| <span>\n|   <span>\n"
7206         }, {
7207                 name: "tests_innerHTML_1.dat #30"
7208                 html: "<span><tbody><span>"
7209                 errors: 2
7210                 fragment: "caption"
7211                 expected: "| <span>\n|   <span>\n"
7212         }, {
7213                 name: "tests_innerHTML_1.dat #31"
7214                 html: "<span><td><span>"
7215                 errors: 2
7216                 fragment: "caption"
7217                 expected: "| <span>\n|   <span>\n"
7218         }, {
7219                 name: "tests_innerHTML_1.dat #32"
7220                 html: "<span><tfoot><span>"
7221                 errors: 2
7222                 fragment: "caption"
7223                 expected: "| <span>\n|   <span>\n"
7224         }, {
7225                 name: "tests_innerHTML_1.dat #33"
7226                 html: "<span><thead><span>"
7227                 errors: 2
7228                 fragment: "caption"
7229                 expected: "| <span>\n|   <span>\n"
7230         }, {
7231                 name: "tests_innerHTML_1.dat #34"
7232                 html: "<span><th><span>"
7233                 errors: 2
7234                 fragment: "caption"
7235                 expected: "| <span>\n|   <span>\n"
7236         }, {
7237                 name: "tests_innerHTML_1.dat #35"
7238                 html: "<span><tr><span>"
7239                 errors: 2
7240                 fragment: "caption"
7241                 expected: "| <span>\n|   <span>\n"
7242         }, {
7243                 name: "tests_innerHTML_1.dat #36"
7244                 html: "<span></table><span>"
7245                 errors: 2
7246                 fragment: "caption"
7247                 expected: "| <span>\n|   <span>\n"
7248         }, {
7249                 name: "tests_innerHTML_1.dat #37"
7250                 html: "</colgroup><col>"
7251                 errors: 1
7252                 fragment: "colgroup"
7253                 expected: "| <col>\n"
7254         }, {
7255                 name: "tests_innerHTML_1.dat #38"
7256                 html: "<a><col>"
7257                 errors: 1
7258                 fragment: "colgroup"
7259                 expected: "| <col>\n"
7260         }, {
7261                 name: "tests_innerHTML_1.dat #39"
7262                 html: "<caption><a>"
7263                 errors: 3
7264                 fragment: "tbody"
7265                 expected: "| <a>\n"
7266         }, {
7267                 name: "tests_innerHTML_1.dat #40"
7268                 html: "<col><a>"
7269                 errors: 3
7270                 fragment: "tbody"
7271                 expected: "| <a>\n"
7272         }, {
7273                 name: "tests_innerHTML_1.dat #41"
7274                 html: "<colgroup><a>"
7275                 errors: 3
7276                 fragment: "tbody"
7277                 expected: "| <a>\n"
7278         }, {
7279                 name: "tests_innerHTML_1.dat #42"
7280                 html: "<tbody><a>"
7281                 errors: 3
7282                 fragment: "tbody"
7283                 expected: "| <a>\n"
7284         }, {
7285                 name: "tests_innerHTML_1.dat #43"
7286                 html: "<tfoot><a>"
7287                 errors: 3
7288                 fragment: "tbody"
7289                 expected: "| <a>\n"
7290         }, {
7291                 name: "tests_innerHTML_1.dat #44"
7292                 html: "<thead><a>"
7293                 errors: 3
7294                 fragment: "tbody"
7295                 expected: "| <a>\n"
7296         }, {
7297                 name: "tests_innerHTML_1.dat #45"
7298                 html: "</table><a>"
7299                 errors: 3
7300                 fragment: "tbody"
7301                 expected: "| <a>\n"
7302         }, {
7303                 name: "tests_innerHTML_1.dat #46"
7304                 html: "<a><tr>"
7305                 errors: 1
7306                 fragment: "tbody"
7307                 expected: "| <a>\n| <tr>\n"
7308         }, {
7309                 name: "tests_innerHTML_1.dat #47"
7310                 html: "<a><td>"
7311                 errors: 2
7312                 fragment: "tbody"
7313                 expected: "| <a>\n| <tr>\n|   <td>\n"
7314         }, {
7315                 name: "tests_innerHTML_1.dat #48"
7316                 html: "<a><td>"
7317                 errors: 2
7318                 fragment: "tbody"
7319                 expected: "| <a>\n| <tr>\n|   <td>\n"
7320         }, {
7321                 name: "tests_innerHTML_1.dat #49"
7322                 html: "<a><td>"
7323                 errors: 2
7324                 fragment: "tbody"
7325                 expected: "| <a>\n| <tr>\n|   <td>\n"
7326         }, {
7327                 name: "tests_innerHTML_1.dat #50"
7328                 html: "<td><table><tbody><a><tr>"
7329                 errors: 3
7330                 fragment: "tbody"
7331                 expected: "| <tr>\n|   <td>\n|     <a>\n|     <table>\n|       <tbody>\n|         <tr>\n"
7332         }, {
7333                 name: "tests_innerHTML_1.dat #51"
7334                 html: "</tr><td>"
7335                 errors: 1
7336                 fragment: "tr"
7337                 expected: "| <td>\n"
7338         }, {
7339                 name: "tests_innerHTML_1.dat #52"
7340                 html: "<td><table><a><tr></tr><tr>"
7341                 errors: 2
7342                 fragment: "tr"
7343                 expected: "| <td>\n|   <a>\n|   <table>\n|     <tbody>\n|       <tr>\n|       <tr>\n"
7344         }, {
7345                 name: "tests_innerHTML_1.dat #53"
7346                 html: "<caption><td>"
7347                 errors: 1
7348                 fragment: "tr"
7349                 expected: "| <td>\n"
7350         }, {
7351                 name: "tests_innerHTML_1.dat #54"
7352                 html: "<col><td>"
7353                 errors: 1
7354                 fragment: "tr"
7355                 expected: "| <td>\n"
7356         }, {
7357                 name: "tests_innerHTML_1.dat #55"
7358                 html: "<colgroup><td>"
7359                 errors: 1
7360                 fragment: "tr"
7361                 expected: "| <td>\n"
7362         }, {
7363                 name: "tests_innerHTML_1.dat #56"
7364                 html: "<tbody><td>"
7365                 errors: 1
7366                 fragment: "tr"
7367                 expected: "| <td>\n"
7368         }, {
7369                 name: "tests_innerHTML_1.dat #57"
7370                 html: "<tfoot><td>"
7371                 errors: 1
7372                 fragment: "tr"
7373                 expected: "| <td>\n"
7374         }, {
7375                 name: "tests_innerHTML_1.dat #58"
7376                 html: "<thead><td>"
7377                 errors: 1
7378                 fragment: "tr"
7379                 expected: "| <td>\n"
7380         }, {
7381                 name: "tests_innerHTML_1.dat #59"
7382                 html: "<tr><td>"
7383                 errors: 1
7384                 fragment: "tr"
7385                 expected: "| <td>\n"
7386         }, {
7387                 name: "tests_innerHTML_1.dat #60"
7388                 html: "</table><td>"
7389                 errors: 1
7390                 fragment: "tr"
7391                 expected: "| <td>\n"
7392         }, {
7393                 name: "tests_innerHTML_1.dat #61"
7394                 html: "<td><table></table><td>"
7395                 fragment: "tr"
7396                 expected: "| <td>\n|   <table>\n| <td>\n"
7397         }, {
7398                 name: "tests_innerHTML_1.dat #62"
7399                 html: "<td><table></table><td>"
7400                 fragment: "tr"
7401                 expected: "| <td>\n|   <table>\n| <td>\n"
7402         }, {
7403                 name: "tests_innerHTML_1.dat #63"
7404                 html: "<caption><a>"
7405                 errors: 2
7406                 fragment: "td"
7407                 expected: "| <a>\n"
7408         }, {
7409                 name: "tests_innerHTML_1.dat #64"
7410                 html: "<col><a>"
7411                 errors: 2
7412                 fragment: "td"
7413                 expected: "| <a>\n"
7414         }, {
7415                 name: "tests_innerHTML_1.dat #65"
7416                 html: "<colgroup><a>"
7417                 errors: 2
7418                 fragment: "td"
7419                 expected: "| <a>\n"
7420         }, {
7421                 name: "tests_innerHTML_1.dat #66"
7422                 html: "<tbody><a>"
7423                 errors: 2
7424                 fragment: "td"
7425                 expected: "| <a>\n"
7426         }, {
7427                 name: "tests_innerHTML_1.dat #67"
7428                 html: "<tfoot><a>"
7429                 errors: 2
7430                 fragment: "td"
7431                 expected: "| <a>\n"
7432         }, {
7433                 name: "tests_innerHTML_1.dat #68"
7434                 html: "<th><a>"
7435                 errors: 2
7436                 fragment: "td"
7437                 expected: "| <a>\n"
7438         }, {
7439                 name: "tests_innerHTML_1.dat #69"
7440                 html: "<thead><a>"
7441                 errors: 2
7442                 fragment: "td"
7443                 expected: "| <a>\n"
7444         }, {
7445                 name: "tests_innerHTML_1.dat #70"
7446                 html: "<tr><a>"
7447                 errors: 2
7448                 fragment: "td"
7449                 expected: "| <a>\n"
7450         }, {
7451                 name: "tests_innerHTML_1.dat #71"
7452                 html: "</table><a>"
7453                 errors: 2
7454                 fragment: "td"
7455                 expected: "| <a>\n"
7456         }, {
7457                 name: "tests_innerHTML_1.dat #72"
7458                 html: "</tbody><a>"
7459                 errors: 2
7460                 fragment: "td"
7461                 expected: "| <a>\n"
7462         }, {
7463                 name: "tests_innerHTML_1.dat #73"
7464                 html: "</td><a>"
7465                 errors: 2
7466                 fragment: "td"
7467                 expected: "| <a>\n"
7468         }, {
7469                 name: "tests_innerHTML_1.dat #74"
7470                 html: "</tfoot><a>"
7471                 errors: 2
7472                 fragment: "td"
7473                 expected: "| <a>\n"
7474         }, {
7475                 name: "tests_innerHTML_1.dat #75"
7476                 html: "</thead><a>"
7477                 errors: 2
7478                 fragment: "td"
7479                 expected: "| <a>\n"
7480         }, {
7481                 name: "tests_innerHTML_1.dat #76"
7482                 html: "</th><a>"
7483                 errors: 2
7484                 fragment: "td"
7485                 expected: "| <a>\n"
7486         }, {
7487                 name: "tests_innerHTML_1.dat #77"
7488                 html: "</tr><a>"
7489                 errors: 2
7490                 fragment: "td"
7491                 expected: "| <a>\n"
7492         }, {
7493                 name: "tests_innerHTML_1.dat #78"
7494                 html: "<table><td><td>"
7495                 errors: 2
7496                 fragment: "td"
7497                 expected: "| <table>\n|   <tbody>\n|     <tr>\n|       <td>\n|       <td>\n"
7498         }, {
7499                 name: "tests_innerHTML_1.dat #79"
7500                 html: "</select><option>"
7501                 errors: 2
7502                 fragment: "select"
7503                 expected: "| <option>\n"
7504         }, {
7505                 name: "tests_innerHTML_1.dat #80"
7506                 html: "<input><option>"
7507                 errors: 2
7508                 fragment: "select"
7509                 expected: "| <option>\n"
7510         }, {
7511                 name: "tests_innerHTML_1.dat #81"
7512                 html: "<keygen><option>"
7513                 errors: 2
7514                 fragment: "select"
7515                 expected: "| <option>\n"
7516         }, {
7517                 name: "tests_innerHTML_1.dat #82"
7518                 html: "<textarea><option>"
7519                 errors: 2
7520                 fragment: "select"
7521                 expected: "| <option>\n"
7522         }, {
7523                 name: "tests_innerHTML_1.dat #83"
7524                 html: "</html><!--abc-->"
7525                 errors: 1
7526                 fragment: "html"
7527                 expected: "| <head>\n| <body>\n| <!-- abc -->\n"
7528         }, {
7529                 name: "tests_innerHTML_1.dat #84"
7530                 html: "</frameset><frame>"
7531                 errors: 1
7532                 fragment: "frameset"
7533                 expected: "| <frame>\n"
7534         }, {
7535                 name: "tests_innerHTML_1.dat #85"
7536                 html: ""
7537                 fragment: "html"
7538                 expected: "| <head>\n| <body>\n"
7539         }, {
7540                 name: "tricky01.dat #1"
7541                 html: "<b><p>Bold </b> Not bold</p>\nAlso not bold."
7542                 errors: 2
7543                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|     <p>\n|       <b>\n|         \"Bold \"\n|       \" Not bold\"\n|     \"\nAlso not bold.\"\n"
7544         }, {
7545                 name: "tricky01.dat #2"
7546                 html: "<html>\n<font color=red><i>Italic and Red<p>Italic and Red </font> Just italic.</p> Italic only.</i> Plain\n<p>I should not be red. <font color=red>Red. <i>Italic and red.</p>\n<p>Italic and red. </i> Red.</font> I should not be red.</p>\n<b>Bold <i>Bold and italic</b> Only Italic </i> Plain"
7547                 errors: 6
7548                 expected: "| <html>\n|   <head>\n|   <body>\n|     <font>\n|       color=\"red\"\n|       <i>\n|         \"Italic and Red\"\n|     <i>\n|       <p>\n|         <font>\n|           color=\"red\"\n|           \"Italic and Red \"\n|         \" Just italic.\"\n|       \" Italic only.\"\n|     \" Plain\n\"\n|     <p>\n|       \"I should not be red. \"\n|       <font>\n|         color=\"red\"\n|         \"Red. \"\n|         <i>\n|           \"Italic and red.\"\n|     <font>\n|       color=\"red\"\n|       <i>\n|         \"\n\"\n|     <p>\n|       <font>\n|         color=\"red\"\n|         <i>\n|           \"Italic and red. \"\n|         \" Red.\"\n|       \" I should not be red.\"\n|     \"\n\"\n|     <b>\n|       \"Bold \"\n|       <i>\n|         \"Bold and italic\"\n|     <i>\n|       \" Only Italic \"\n|     \" Plain\"\n"
7549         }, {
7550                 name: "tricky01.dat #3"
7551                 html: "<html><body>\n<p><font size=\"7\">First paragraph.</p>\n<p>Second paragraph.</p></font>\n<b><p><i>Bold and Italic</b> Italic</p>"
7552                 errors: 5
7553                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"\n\"\n|     <p>\n|       <font>\n|         size=\"7\"\n|         \"First paragraph.\"\n|     <font>\n|       size=\"7\"\n|       \"\n\"\n|       <p>\n|         \"Second paragraph.\"\n|     \"\n\"\n|     <b>\n|     <p>\n|       <b>\n|         <i>\n|           \"Bold and Italic\"\n|       <i>\n|         \" Italic\"\n"
7554         }, {
7555                 name: "tricky01.dat #4"
7556                 html: "<html>\n<dl>\n<dt><b>Boo\n<dd>Goo?\n</dl>\n</html>"
7557                 errors: 4
7558                 expected: "| <html>\n|   <head>\n|   <body>\n|     <dl>\n|       \"\n\"\n|       <dt>\n|         <b>\n|           \"Boo\n\"\n|       <dd>\n|         <b>\n|           \"Goo?\n\"\n|     <b>\n|       \"\n\"\n"
7559         }, {
7560                 name: "tricky01.dat #5"
7561                 html: "<html><body>\n<label><a><div>Hello<div>World</div></a></label>  \n</body></html>"
7562                 errors: 4
7563                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"\n\"\n|     <label>\n|       <a>\n|       <div>\n|         <a>\n|           \"Hello\"\n|           <div>\n|             \"World\"\n|         \"  \n\"\n"
7564         }, {
7565                 name: "tricky01.dat #6"
7566                 html: "<table><center> <font>a</center> <img> <tr><td> </td> </tr> </table>"
7567                 errors: 9
7568                 expected: "| <html>\n|   <head>\n|   <body>\n|     <center>\n|       \" \"\n|       <font>\n|         \"a\"\n|     <font>\n|       <img>\n|       \" \"\n|     <table>\n|       \" \"\n|       <tbody>\n|         <tr>\n|           <td>\n|             \" \"\n|           \" \"\n|         \" \"\n"
7569         }, {
7570                 name: "tricky01.dat #7"
7571                 html: "<table><tr><p><a><p>You should see this text."
7572                 errors: 31
7573                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       <a>\n|     <p>\n|       <a>\n|         \"You should see this text.\"\n|     <table>\n|       <tbody>\n|         <tr>\n"
7574         }, {
7575                 name: "tricky01.dat #8"
7576                 html: "<TABLE>\n<TR>\n<CENTER><CENTER><TD></TD></TR><TR>\n<FONT>\n<TABLE><tr></tr></TABLE>\n</P>\n<a></font><font></a>\nThis page contains an insanely badly-nested tag sequence."
7577                 errors: 10
7578                 expected: "| <html>\n|   <head>\n|   <body>\n|     <center>\n|       <center>\n|     <font>\n|       \"\n\"\n|     <table>\n|       \"\n\"\n|       <tbody>\n|         <tr>\n|           \"\n\"\n|           <td>\n|         <tr>\n|           \"\n\"\n|     <table>\n|       <tbody>\n|         <tr>\n|     <font>\n|       \"\n\"\n|       <p>\n|       \"\n\"\n|       <a>\n|     <a>\n|       <font>\n|     <font>\n|       \"\nThis page contains an insanely badly-nested tag sequence.\"\n"
7579         }, {
7580                 name: "tricky01.dat #9"
7581                 html: "<html>\n<body>\n<b><nobr><div>This text is in a div inside a nobr</nobr>More text that should not be in the nobr, i.e., the\nnobr should have closed the div inside it implicitly. </b><pre>A pre tag outside everything else.</pre>\n</body>\n</html>"
7582                 errors: 4
7583                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"\n\"\n|     <b>\n|       <nobr>\n|     <div>\n|       <b>\n|         <nobr>\n|           \"This text is in a div inside a nobr\"\n|         \"More text that should not be in the nobr, i.e., the\nnobr should have closed the div inside it implicitly. \"\n|       <pre>\n|         \"A pre tag outside everything else.\"\n|       \"\n\n\"\n"
7584         }, {
7585                 name: "webkit01.dat #1"
7586                 html: "Test"
7587                 errors: 1
7588                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"Test\"\n"
7589         }, {
7590                 name: "webkit01.dat #2"
7591                 html: "<div></div>"
7592                 errors: 1
7593                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n"
7594         }, {
7595                 name: "webkit01.dat #3"
7596                 html: "<div>Test</div>"
7597                 errors: 1
7598                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"Test\"\n"
7599         }, {
7600                 name: "webkit01.dat #4"
7601                 html: "<di"
7602                 errors: 2
7603                 expected: "| <html>\n|   <head>\n|   <body>\n"
7604         }, {
7605                 name: "webkit01.dat #5"
7606                 html: "<div>Hello</div>\n<script>\nconsole.log(\"PASS\");\n</script>\n<div>Bye</div>"
7607                 errors: 1
7608                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"Hello\"\n|     \"\n\"\n|     <script>\n|       \"\nconsole.log(\"PASS\");\n\"\n|     \"\n\"\n|     <div>\n|       \"Bye\"\n"
7609         }, {
7610                 name: "webkit01.dat #6"
7611                 html: "<div foo=\"bar\">Hello</div>"
7612                 errors: 1
7613                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       foo=\"bar\"\n|       \"Hello\"\n"
7614         }, {
7615                 name: "webkit01.dat #7"
7616                 html: "<div>Hello</div>\n<script>\nconsole.log(\"FOO<span>BAR</span>BAZ\");\n</script>\n<div>Bye</div>"
7617                 errors: 1
7618                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       \"Hello\"\n|     \"\n\"\n|     <script>\n|       \"\nconsole.log(\"FOO<span>BAR</span>BAZ\");\n\"\n|     \"\n\"\n|     <div>\n|       \"Bye\"\n"
7619         }, {
7620                 name: "webkit01.dat #8"
7621                 html: "<foo bar=\"baz\"></foo><potato quack=\"duck\"></potato>"
7622                 errors: 1
7623                 expected: "| <html>\n|   <head>\n|   <body>\n|     <foo>\n|       bar=\"baz\"\n|     <potato>\n|       quack=\"duck\"\n"
7624         }, {
7625                 name: "webkit01.dat #9"
7626                 html: "<foo bar=\"baz\"><potato quack=\"duck\"></potato></foo>"
7627                 errors: 1
7628                 expected: "| <html>\n|   <head>\n|   <body>\n|     <foo>\n|       bar=\"baz\"\n|       <potato>\n|         quack=\"duck\"\n"
7629         }, {
7630                 name: "webkit01.dat #10"
7631                 html: "<foo></foo bar=\"baz\"><potato></potato quack=\"duck\">"
7632                 errors: 3
7633                 expected: "| <html>\n|   <head>\n|   <body>\n|     <foo>\n|     <potato>\n"
7634         }, {
7635                 name: "webkit01.dat #11"
7636                 html: "</ tttt>"
7637                 errors: 2
7638                 expected: "| <!--  tttt -->\n| <html>\n|   <head>\n|   <body>\n"
7639         }, {
7640                 name: "webkit01.dat #12"
7641                 html: "<div FOO ><img><img></div>"
7642                 errors: 1
7643                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       foo=\"\"\n|       <img>\n|       <img>\n"
7644         }, {
7645                 name: "webkit01.dat #13"
7646                 html: "<p>Test</p<p>Test2</p>"
7647                 errors: 2
7648                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       \"TestTest2\"\n"
7649         }, {
7650                 name: "webkit01.dat #14"
7651                 html: "<rdar://problem/6869687>"
7652                 errors: 5
7653                 expected: "| <html>\n|   <head>\n|   <body>\n|     <rdar:>\n|       6869687=\"\"\n|       problem=\"\"\n"
7654         }, {
7655                 name: "webkit01.dat #15"
7656                 html: "<A>test< /A>"
7657                 errors: 3
7658                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|       \"test< /A>\"\n"
7659         }, {
7660                 name: "webkit01.dat #16"
7661                 html: "&lt;"
7662                 errors: 1
7663                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"<\"\n"
7664         }, {
7665                 name: "webkit01.dat #17"
7666                 html: "<body foo='bar'><body foo='baz' yo='mama'>"
7667                 errors: 2
7668                 expected: "| <html>\n|   <head>\n|   <body>\n|     foo=\"bar\"\n|     yo=\"mama\"\n"
7669         }, {
7670                 name: "webkit01.dat #18"
7671                 html: "<body></br foo=\"bar\"></body>"
7672                 errors: 3
7673                 expected: "| <html>\n|   <head>\n|   <body>\n|     <br>\n"
7674         }, {
7675                 name: "webkit01.dat #19"
7676                 html: "<bdy><br foo=\"bar\"></body>"
7677                 errors: 2
7678                 expected: "| <html>\n|   <head>\n|   <body>\n|     <bdy>\n|       <br>\n|         foo=\"bar\"\n"
7679         }, {
7680                 name: "webkit01.dat #20"
7681                 html: "<body></body></br foo=\"bar\">"
7682                 errors: 4
7683                 expected: "| <html>\n|   <head>\n|   <body>\n|     <br>\n"
7684         }, {
7685                 name: "webkit01.dat #21"
7686                 html: "<bdy></body><br foo=\"bar\">"
7687                 errors: 4
7688                 expected: "| <html>\n|   <head>\n|   <body>\n|     <bdy>\n|       <br>\n|         foo=\"bar\"\n"
7689         }, {
7690                 name: "webkit01.dat #22"
7691                 html: "<html><body></body></html><!-- Hi there -->"
7692                 errors: 1
7693                 expected: "| <html>\n|   <head>\n|   <body>\n| <!--  Hi there  -->\n"
7694         }, {
7695                 name: "webkit01.dat #23"
7696                 html: "<html><body></body></html>x<!-- Hi there -->"
7697                 errors: 2
7698                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"x\"\n|     <!--  Hi there  -->\n"
7699         }, {
7700                 name: "webkit01.dat #24"
7701                 html: "<html><body></body></html>x<!-- Hi there --></html><!-- Again -->"
7702                 errors: 2
7703                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"x\"\n|     <!--  Hi there  -->\n| <!--  Again  -->\n"
7704         }, {
7705                 name: "webkit01.dat #25"
7706                 html: "<html><body></body></html>x<!-- Hi there --></body></html><!-- Again -->"
7707                 errors: 2
7708                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"x\"\n|     <!--  Hi there  -->\n| <!--  Again  -->\n"
7709         }, {
7710                 name: "webkit01.dat #26"
7711                 html: "<html><body><ruby><div><rp>xx</rp></div></ruby></body></html>"
7712                 errors: 2
7713                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       <div>\n|         <rp>\n|           \"xx\"\n"
7714         }, {
7715                 name: "webkit01.dat #27"
7716                 html: "<html><body><ruby><div><rt>xx</rt></div></ruby></body></html>"
7717                 errors: 2
7718                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ruby>\n|       <div>\n|         <rt>\n|           \"xx\"\n"
7719         }, {
7720                 name: "webkit01.dat #28"
7721                 html: "<html><frameset><!--1--><noframes>A</noframes><!--2--></frameset><!--3--><noframes>B</noframes><!--4--></html><!--5--><noframes>C</noframes><!--6-->"
7722                 errors: 1
7723                 expected: "| <html>\n|   <head>\n|   <frameset>\n|     <!-- 1 -->\n|     <noframes>\n|       \"A\"\n|     <!-- 2 -->\n|   <!-- 3 -->\n|   <noframes>\n|     \"B\"\n|   <!-- 4 -->\n|   <noframes>\n|     \"C\"\n| <!-- 5 -->\n| <!-- 6 -->\n"
7724         }, {
7725                 name: "webkit01.dat #29"
7726                 html: "<select><option>A<select><option>B<select><option>C<select><option>D<select><option>E<select><option>F<select><option>G<select>"
7727                 errors: 6
7728                 expected: "| <html>\n|   <head>\n|   <body>\n|     <select>\n|       <option>\n|         \"A\"\n|     <option>\n|       \"B\"\n|       <select>\n|         <option>\n|           \"C\"\n|     <option>\n|       \"D\"\n|       <select>\n|         <option>\n|           \"E\"\n|     <option>\n|       \"F\"\n|       <select>\n|         <option>\n|           \"G\"\n"
7729         }, {
7730                 name: "webkit01.dat #30"
7731                 html: "<dd><dd><dt><dt><dd><li><li>"
7732                 errors: 1
7733                 expected: "| <html>\n|   <head>\n|   <body>\n|     <dd>\n|     <dd>\n|     <dt>\n|     <dt>\n|     <dd>\n|       <li>\n|       <li>\n"
7734         }, {
7735                 name: "webkit01.dat #31"
7736                 html: "<div><b></div><div><nobr>a<nobr>"
7737                 errors: 4
7738                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <b>\n|     <div>\n|       <b>\n|         <nobr>\n|           \"a\"\n|         <nobr>\n"
7739         }, {
7740                 name: "webkit01.dat #32"
7741                 html: "<head></head>\n<body></body>"
7742                 errors: 1
7743                 expected: "| <html>\n|   <head>\n|   \"\n\"\n|   <body>\n"
7744         }, {
7745                 name: "webkit01.dat #33"
7746                 html: "<head></head> <style></style>ddd"
7747                 errors: 2
7748                 expected: "| <html>\n|   <head>\n|     <style>\n|   \" \"\n|   <body>\n|     \"ddd\"\n"
7749         }, {
7750                 name: "webkit01.dat #34"
7751                 html: "<kbd><table></kbd><col><select><tr>"
7752                 errors: 6
7753                 expected: "| <html>\n|   <head>\n|   <body>\n|     <kbd>\n|       <select>\n|       <table>\n|         <colgroup>\n|           <col>\n|         <tbody>\n|           <tr>\n"
7754         }, {
7755                 name: "webkit01.dat #35"
7756                 html: "<kbd><table></kbd><col><select><tr></table><div>"
7757                 errors: 6
7758                 expected: "| <html>\n|   <head>\n|   <body>\n|     <kbd>\n|       <select>\n|       <table>\n|         <colgroup>\n|           <col>\n|         <tbody>\n|           <tr>\n|       <div>\n"
7759         }, {
7760                 name: "webkit01.dat #36"
7761                 html: "<a><li><style></style><title></title></a>"
7762                 errors: 2
7763                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|     <li>\n|       <a>\n|         <style>\n|         <title>\n"
7764         }, {
7765                 name: "webkit01.dat #37"
7766                 html: "<font></p><p><meta><title></title></font>"
7767                 errors: 3
7768                 expected: "| <html>\n|   <head>\n|   <body>\n|     <font>\n|       <p>\n|     <p>\n|       <font>\n|         <meta>\n|         <title>\n"
7769         }, {
7770                 name: "webkit01.dat #38"
7771                 html: "<a><center><title></title><a>"
7772                 errors: 4
7773                 expected: "| <html>\n|   <head>\n|   <body>\n|     <a>\n|     <center>\n|       <a>\n|         <title>\n|       <a>\n"
7774         }, {
7775                 name: "webkit01.dat #39"
7776                 html: "<svg><title><div>"
7777                 errors: 2
7778                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg title>\n|         <div>\n"
7779         }, {
7780                 name: "webkit01.dat #40"
7781                 html: "<svg><title><rect><div>"
7782                 errors: 2
7783                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg title>\n|         <rect>\n|           <div>\n"
7784         }, {
7785                 name: "webkit01.dat #41"
7786                 html: "<svg><title><svg><div>"
7787                 errors: 3
7788                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg title>\n|         <svg svg>\n|         <div>\n"
7789         }, {
7790                 name: "webkit01.dat #42"
7791                 html: "<img <=\"\" FAIL>"
7792                 errors: 2
7793                 expected: "| <html>\n|   <head>\n|   <body>\n|     <img>\n|       <=\"\"\n|       fail=\"\"\n"
7794         }, {
7795                 name: "webkit01.dat #43"
7796                 html: "<ul><li><div id='foo'/>A</li><li>B<div>C</div></li></ul>"
7797                 errors: 3
7798                 expected: "| <html>\n|   <head>\n|   <body>\n|     <ul>\n|       <li>\n|         <div>\n|           id=\"foo\"\n|           \"A\"\n|       <li>\n|         \"B\"\n|         <div>\n|           \"C\"\n"
7799         }, {
7800                 name: "webkit01.dat #44"
7801                 html: "<svg><em><desc></em>"
7802                 errors: 3
7803                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|     <em>\n|       <desc>\n"
7804         }, {
7805                 name: "webkit01.dat #45"
7806                 html: "<table><tr><td><svg><desc><td></desc><circle>"
7807                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             <svg svg>\n|               <svg desc>\n|           <td>\n|             <circle>\n"
7808         }, {
7809                 name: "webkit01.dat #46"
7810                 html: "<svg><tfoot></mi><td>"
7811                 errors: 4
7812                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg tfoot>\n|         <svg td>\n"
7813         }, {
7814                 name: "webkit01.dat #47"
7815                 html: "<math><mrow><mrow><mn>1</mn></mrow><mi>a</mi></mrow></math>"
7816                 errors: 1
7817                 expected: "| <html>\n|   <head>\n|   <body>\n|     <math math>\n|       <math mrow>\n|         <math mrow>\n|           <math mn>\n|             \"1\"\n|         <math mi>\n|           \"a\"\n"
7818         }, {
7819                 name: "webkit01.dat #48"
7820                 html: "<!doctype html><input type=\"hidden\"><frameset>"
7821                 errors: 2
7822                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <frameset>\n"
7823         }, {
7824                 name: "webkit01.dat #49"
7825                 html: "<!doctype html><input type=\"button\"><frameset>"
7826                 errors: 1
7827                 expected: "| <!DOCTYPE html>\n| <html>\n|   <head>\n|   <body>\n|     <input>\n|       type=\"button\"\n"
7828         }, {
7829                 name: "webkit02.dat #1"
7830                 html: "<foo bar=qux/>"
7831                 errors: 2
7832                 expected: "| <html>\n|   <head>\n|   <body>\n|     <foo>\n|       bar=\"qux/\"\n"
7833         }, {
7834                 name: "webkit02.dat #2"
7835                 html: "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>"
7836                 scripting: true
7837                 errors: 1
7838                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       id=\"status\"\n|       <noscript>\n|         \"<strong>A</strong>\"\n|       <span>\n|         \"B\"\n"
7839         }, {
7840                 name: "webkit02.dat #3"
7841                 html: "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>"
7842                 scripting: false
7843                 errors: 1
7844                 expected: "| <html>\n|   <head>\n|   <body>\n|     <p>\n|       id=\"status\"\n|       <noscript>\n|         <strong>\n|           \"A\"\n|       <span>\n|         \"B\"\n"
7845         }, {
7846                 name: "webkit02.dat #4"
7847                 html: "<div><sarcasm><div></div></sarcasm></div>"
7848                 errors: 1
7849                 expected: "| <html>\n|   <head>\n|   <body>\n|     <div>\n|       <sarcasm>\n|         <div>\n"
7850         }, {
7851                 name: "webkit02.dat #5"
7852                 html: "<html><body><img src=\"\" border=\"0\" alt=\"><div>A</div></body></html>"
7853                 errors: 2
7854                 expected: "| <html>\n|   <head>\n|   <body>\n"
7855         }, {
7856                 name: "webkit02.dat #6"
7857                 html: "<table><td></tbody>A"
7858                 errors: 4
7859                 expected: "| <html>\n|   <head>\n|   <body>\n|     \"A\"\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n"
7860         }, {
7861                 name: "webkit02.dat #7"
7862                 html: "<table><td></thead>A"
7863                 errors: 4
7864                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             \"A\"\n"
7865         }, {
7866                 name: "webkit02.dat #8"
7867                 html: "<table><td></tfoot>A"
7868                 errors: 4
7869                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <tbody>\n|         <tr>\n|           <td>\n|             \"A\"\n"
7870         }, {
7871                 name: "webkit02.dat #9"
7872                 html: "<table><thead><td></tbody>A"
7873                 errors: 4
7874                 expected: "| <html>\n|   <head>\n|   <body>\n|     <table>\n|       <thead>\n|         <tr>\n|           <td>\n|             \"A\"\n"
7875         }, {
7876                 name: "webkit02.dat #10"
7877                 html: "<legend>test</legend>"
7878                 expected: "| <html>\n|   <head>\n|   <body>\n|     <legend>\n|       \"test\"\n"
7879         }, {
7880                 name: "webkit02.dat #11"
7881                 html: "<table><input>"
7882                 expected: "| <html>\n|   <head>\n|   <body>\n|     <input>\n|     <table>\n"
7883         }, {
7884                 name: "webkit02.dat #12"
7885                 html: "<b><em><foo><foo><aside></b>"
7886                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <em>\n|         <foo>\n|           <foo>\n|     <em>\n|       <aside>\n|         <b>\n"
7887         }, {
7888                 name: "webkit02.dat #13"
7889                 html: "<b><em><foo><foo><aside></b></em>"
7890                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <em>\n|         <foo>\n|           <foo>\n|     <em>\n|     <aside>\n|       <em>\n|         <b>\n"
7891         }, {
7892                 name: "webkit02.dat #14"
7893                 html: "<b><em><foo><foo><foo><aside></b>"
7894                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <em>\n|         <foo>\n|           <foo>\n|             <foo>\n|     <aside>\n|       <b>\n"
7895         }, {
7896                 name: "webkit02.dat #15"
7897                 html: "<b><em><foo><foo><foo><aside></b></em>"
7898                 expected: "| <html>\n|   <head>\n|   <body>\n|     <b>\n|       <em>\n|         <foo>\n|           <foo>\n|             <foo>\n|     <aside>\n|       <b>\n"
7899         }, {
7900                 name: "webkit02.dat #16"
7901                 html: "<b><em><foo><foo><foo><foo><foo><foo><foo><foo><foo><foo><aside></b></em>"
7902                 fragment: "div"
7903                 expected: "| <b>\n|   <em>\n|     <foo>\n|       <foo>\n|         <foo>\n|           <foo>\n|             <foo>\n|               <foo>\n|                 <foo>\n|                   <foo>\n|                     <foo>\n|                       <foo>\n| <aside>\n|   <b>\n"
7904         }, {
7905                 name: "webkit02.dat #17"
7906                 html: "<b><em><foo><foob><foob><foob><foob><fooc><fooc><fooc><fooc><food><aside></b></em>"
7907                 fragment: "div"
7908                 expected: "| <b>\n|   <em>\n|     <foo>\n|       <foob>\n|         <foob>\n|           <foob>\n|             <foob>\n|               <fooc>\n|                 <fooc>\n|                   <fooc>\n|                     <fooc>\n|                       <food>\n| <aside>\n|   <b>\n"
7909         }, {
7910                 name: "webkit02.dat #18"
7911                 html: "<isindex action=\"x\">"
7912                 fragment: "table"
7913                 expected: "| <form>\n|   action=\"x\"\n|   <hr>\n|   <label>\n|     \"This is a searchable index. Enter search keywords: \"\n|     <input>\n|       name=\"isindex\"\n|   <hr>\n"
7914         }, {
7915                 name: "webkit02.dat #19"
7916                 html: "<option><XH<optgroup></optgroup>"
7917                 fragment: "select"
7918                 expected: "| <option>\n"
7919         }, {
7920                 name: "webkit02.dat #20"
7921                 html: "<svg><foreignObject><div>foo</div><plaintext></foreignObject></svg><div>bar</div>"
7922                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg foreignObject>\n|         <div>\n|           \"foo\"\n|         <plaintext>\n|           \"</foreignObject></svg><div>bar</div>\"\n"
7923         }, {
7924                 name: "webkit02.dat #21"
7925                 html: "<svg><foreignObject></foreignObject><title></svg>foo"
7926                 expected: "| <html>\n|   <head>\n|   <body>\n|     <svg svg>\n|       <svg foreignObject>\n|       <svg title>\n|     \"foo\"\n"
7927         }, {
7928                 name: "webkit02.dat #22"
7929                 html: "</foreignObject><plaintext><div>foo</div>"
7930                 expected: "| <html>\n|   <head>\n|   <body>\n|     <plaintext>\n|       \"<div>foo</div>\"\n"
7931         }
7932 ]
7933
7934 if typeof module isnt 'undefined' and module.exports?
7935         peach_parser = require './parser.coffee'
7936 else
7937         peach_parser = window.peach_parser
7938
7939 serialize_els = (els, prefix = '| ') ->
7940         ret = ''
7941         for el in els
7942                 switch el.type
7943                         when peach_parser.TYPE_TAG
7944                                 ret += "#{prefix}<"
7945                                 if el.namespace is peach_parser.NS_MATHML
7946                                         ret += "math "
7947                                 if el.namespace is peach_parser.NS_SVG
7948                                         ret += "svg "
7949                                 ret += "#{el.name}>\n"
7950                                 attr_keys = []
7951                                 for k of el.attrs
7952                                         attr_keys.push k
7953                                 attr_keys.sort() # TODO this should be "lexicographically by UTF-16 code unit"
7954                                 for k in attr_keys
7955                                         ret += "#{prefix}  #{k}=\"#{el.attrs[k]}\"\n"
7956                                 if el.name is 'template' and el.namespace is peach_parser.NS_HTML
7957                                         ret += "#{prefix}  content\n"
7958                                         ret += serialize_els el.children, "#{prefix}    "
7959                                 else
7960                                         ret += serialize_els el.children, "#{prefix}  "
7961                         when peach_parser.TYPE_TEXT
7962                                 ret += "#{prefix}\"#{el.text}\"\n"
7963                         when peach_parser.TYPE_COMMENT
7964                                 ret += "#{prefix}<!-- #{el.text} -->\n"
7965                         when peach_parser.TYPE_DOCTYPE
7966                                 ret += "#{prefix}<!DOCTYPE #{el.name}"
7967                                 if (el.public_identifier? and el.public_identifier.length > 0) or (el.system_identifier? and el.system_identifier.length > 0)
7968                                         ret += " \"#{el.public_identifier ? ''}\""
7969                                         ret += " \"#{el.system_identifier ? ''}\""
7970                                 ret += ">\n"
7971                         else
7972                                 ret += "#{prefix}UNKNOWN TAG TYPE #{el.type}"
7973         return ret
7974
7975 test_results = passed: 0, failed: 0
7976 test_parser = (args) ->
7977         peach_parser.debug_log_reset()
7978         parse_errors = []
7979         args.error_cb = (i) ->
7980                 parse_errors.push i
7981         prev_node_id = 0 # reset counter
7982         parsed = peach_parser.parse args.html, args
7983         serialized = serialize_els parsed
7984         if serialized isnt args.expected
7985                 test_results.failed += 1
7986                 if test_results.failed is 1
7987                         peach_parser.debug_log_each (str) ->
7988                                 console.log str
7989                         console.log "FAILED: \"#{args.name}\""
7990                         console.log "      Input: #{args.html}"
7991                         if args.fragment?
7992                                 console.log "   Fragment: #{args.fragment}"
7993                         console.log "    Correct: #{args.expected}"
7994                         console.log "     Output: #{serialized}"
7995                         if parse_errors.length > 0
7996                                 console.log " parse errs: #{JSON.stringify parse_errors}"
7997                         else
7998                                 console.log "   No parse errors"
7999         else
8000                 test_results.passed += 1
8001                 # console.log "passed \"#{args.name}\""
8002 test_summary = ->
8003         console.log "Tests passed: #{test_results.passed}, Failed: #{test_results.failed}"
8004
8005
8006 next_test = 0
8007 run_tests_and_breathe = ->
8008         start_time = new Date()
8009         loop
8010                 if next_test >= tests.length
8011                         test_summary()
8012                         return
8013                 test_parser tests[next_test]
8014                 next_test += 1
8015                 now = new Date()
8016                 if now - start_time > 100 # miliseconds
8017                         break
8018         setTimeout run_tests_and_breathe, 1
8019 run_tests_and_breathe()