@tkeron/html-parser 0.1.5 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +1 -7
  2. package/bun.lock +8 -3
  3. package/index.ts +4 -0
  4. package/package.json +13 -6
  5. package/src/css-selector.ts +45 -27
  6. package/src/dom-simulator.ts +162 -20
  7. package/src/encoding.ts +39 -0
  8. package/src/index.ts +9 -0
  9. package/src/parser.ts +478 -183
  10. package/src/serializer.ts +450 -0
  11. package/src/tokenizer.ts +59 -139
  12. package/tests/advanced.test.ts +119 -106
  13. package/tests/custom-elements.test.ts +172 -162
  14. package/tests/dom-extended.test.ts +12 -12
  15. package/tests/dom-manipulation.test.ts +637 -0
  16. package/tests/dom.test.ts +32 -27
  17. package/tests/helpers/tokenizer-adapter.test.ts +70 -0
  18. package/tests/helpers/tokenizer-adapter.ts +65 -0
  19. package/tests/helpers/tree-adapter.test.ts +39 -0
  20. package/tests/helpers/tree-adapter.ts +43 -0
  21. package/tests/html5lib-data/tokenizer/namedEntities.test +42422 -0
  22. package/tests/html5lib-data/tokenizer/pendingSpecChanges.test +9 -0
  23. package/tests/html5lib-data/tree-construction/adoption01.dat +354 -0
  24. package/tests/html5lib-data/tree-construction/adoption02.dat +39 -0
  25. package/tests/html5lib-data/tree-construction/domjs-unsafe.dat +0 -0
  26. package/tests/html5lib-data/tree-construction/entities02.dat +309 -0
  27. package/tests/html5lib-data/tree-construction/html5test-com.dat +301 -0
  28. package/tests/html5lib-data/tree-construction/math.dat +104 -0
  29. package/tests/html5lib-data/tree-construction/namespace-sensitivity.dat +22 -0
  30. package/tests/html5lib-data/tree-construction/noscript01.dat +237 -0
  31. package/tests/html5lib-data/tree-construction/ruby.dat +302 -0
  32. package/tests/html5lib-data/tree-construction/scriptdata01.dat +372 -0
  33. package/tests/html5lib-data/tree-construction/svg.dat +104 -0
  34. package/tests/html5lib-data/tree-construction/template.dat +1673 -0
  35. package/tests/html5lib-data/tree-construction/tests10.dat +853 -0
  36. package/tests/html5lib-data/tree-construction/tests11.dat +523 -0
  37. package/tests/html5lib-data/tree-construction/tests20.dat +842 -0
  38. package/tests/html5lib-data/tree-construction/tests21.dat +306 -0
  39. package/tests/html5lib-data/tree-construction/tests23.dat +168 -0
  40. package/tests/html5lib-data/tree-construction/tests24.dat +79 -0
  41. package/tests/html5lib-data/tree-construction/tests5.dat +210 -0
  42. package/tests/html5lib-data/tree-construction/tests6.dat +663 -0
  43. package/tests/html5lib-data/tree-construction/tests_innerHTML_1.dat +844 -0
  44. package/tests/parser.test.ts +172 -193
  45. package/tests/selectors.test.ts +64 -1
  46. package/tests/serializer-core.test.ts +16 -0
  47. package/tests/serializer-data/core.test +125 -0
  48. package/tests/serializer-data/injectmeta.test +66 -0
  49. package/tests/serializer-data/optionaltags.test +965 -0
  50. package/tests/serializer-data/options.test +60 -0
  51. package/tests/serializer-data/whitespace.test +51 -0
  52. package/tests/serializer-injectmeta.test.ts +16 -0
  53. package/tests/serializer-optionaltags.test.ts +16 -0
  54. package/tests/serializer-options.test.ts +16 -0
  55. package/tests/serializer-whitespace.test.ts +16 -0
  56. package/tests/tokenizer-namedEntities.test.ts +20 -0
  57. package/tests/tokenizer-pendingSpecChanges.test.ts +20 -0
  58. package/tests/tokenizer.test.ts +83 -0
  59. package/tests/tree-construction-adoption01.test.ts +37 -0
  60. package/tests/tree-construction-adoption02.test.ts +34 -0
  61. package/tests/tree-construction-domjs-unsafe.test.ts +24 -0
  62. package/tests/tree-construction-entities02.test.ts +33 -0
  63. package/tests/tree-construction-html5test-com.test.ts +24 -0
  64. package/tests/tree-construction-math.test.ts +18 -0
  65. package/tests/tree-construction-namespace-sensitivity.test.ts +18 -0
  66. package/tests/tree-construction-noscript01.test.ts +18 -0
  67. package/tests/tree-construction-ruby.test.ts +21 -0
  68. package/tests/tree-construction-scriptdata01.test.ts +21 -0
  69. package/tests/tree-construction-svg.test.ts +21 -0
  70. package/tests/tree-construction-template.test.ts +21 -0
  71. package/tests/tree-construction-tests10.test.ts +21 -0
  72. package/tests/tree-construction-tests11.test.ts +21 -0
  73. package/tests/tree-construction-tests20.test.ts +18 -0
  74. package/tests/tree-construction-tests21.test.ts +18 -0
  75. package/tests/tree-construction-tests23.test.ts +18 -0
  76. package/tests/tree-construction-tests24.test.ts +18 -0
  77. package/tests/tree-construction-tests5.test.ts +21 -0
  78. package/tests/tree-construction-tests6.test.ts +21 -0
  79. package/tests/tree-construction-tests_innerHTML_1.test.ts +21 -0
  80. package/tests/void-elements.test.ts +471 -0
  81. package/tests/official/README.md +0 -87
  82. package/tests/official/acid/acid-tests.test.ts +0 -309
  83. package/tests/official/final-output/final-output.test.ts +0 -361
  84. package/tests/official/html5lib/tokenizer-utils.ts +0 -192
  85. package/tests/official/html5lib/tokenizer.test.ts +0 -171
  86. package/tests/official/html5lib/tree-construction-utils.ts +0 -194
  87. package/tests/official/html5lib/tree-construction.test.ts +0 -250
  88. package/tests/official/validator/validator-tests.test.ts +0 -237
  89. package/tests/official/validator-nu/validator-nu.test.ts +0 -335
  90. package/tests/official/whatwg/whatwg-tests.test.ts +0 -205
  91. package/tests/official/wpt/wpt-tests.test.ts +0 -409
@@ -0,0 +1,663 @@
1
+ #data
2
+ <!doctype html></head> <head>
3
+ #errors
4
+ (1,29): unexpected-start-tag
5
+ #document
6
+ | <!DOCTYPE html>
7
+ | <html>
8
+ | <head>
9
+ | " "
10
+ | <body>
11
+
12
+ #data
13
+ <!doctype html><form><div></form><div>
14
+ #errors
15
+ (1,33): end-tag-too-early-ignored
16
+ (1,38): expected-closing-tag-but-got-eof
17
+ #document
18
+ | <!DOCTYPE html>
19
+ | <html>
20
+ | <head>
21
+ | <body>
22
+ | <form>
23
+ | <div>
24
+ | <div>
25
+
26
+ #data
27
+ <!doctype html><title>&amp;</title>
28
+ #errors
29
+ #document
30
+ | <!DOCTYPE html>
31
+ | <html>
32
+ | <head>
33
+ | <title>
34
+ | "&"
35
+ | <body>
36
+
37
+ #data
38
+ <!doctype html><title><!--&amp;--></title>
39
+ #errors
40
+ #document
41
+ | <!DOCTYPE html>
42
+ | <html>
43
+ | <head>
44
+ | <title>
45
+ | "<!--&-->"
46
+ | <body>
47
+
48
+ #data
49
+ <!doctype>
50
+ #errors
51
+ (1,10): expected-doctype-name-but-got-right-bracket
52
+ (1,10): unknown-doctype
53
+ #new-errors
54
+ (1:10) missing-doctype-name
55
+ #document
56
+ | <!DOCTYPE >
57
+ | <html>
58
+ | <head>
59
+ | <body>
60
+
61
+ #data
62
+ <!---x
63
+ #errors
64
+ (1,6): eof-in-comment
65
+ (1,6): expected-doctype-but-got-eof
66
+ #new-errors
67
+ (1:7) eof-in-comment
68
+ #document
69
+ | <!-- -x -->
70
+ | <html>
71
+ | <head>
72
+ | <body>
73
+
74
+ #data
75
+ <body>
76
+ <div>
77
+ #errors
78
+ (1,6): unexpected-start-tag
79
+ (2,5): expected-closing-tag-but-got-eof
80
+ #document-fragment
81
+ div
82
+ #document
83
+ | "
84
+ "
85
+ | <div>
86
+
87
+ #data
88
+ <frameset></frameset>
89
+ foo
90
+ #errors
91
+ (1,10): expected-doctype-but-got-start-tag
92
+ (2,1): unexpected-char-after-frameset
93
+ (2,2): unexpected-char-after-frameset
94
+ (2,3): unexpected-char-after-frameset
95
+ #document
96
+ | <html>
97
+ | <head>
98
+ | <frameset>
99
+ | "
100
+ "
101
+
102
+ #data
103
+ <frameset></frameset>
104
+ <noframes>
105
+ #errors
106
+ (1,10): expected-doctype-but-got-start-tag
107
+ (2,10): expected-named-closing-tag-but-got-eof
108
+ #document
109
+ | <html>
110
+ | <head>
111
+ | <frameset>
112
+ | "
113
+ "
114
+ | <noframes>
115
+
116
+ #data
117
+ <frameset></frameset>
118
+ <div>
119
+ #errors
120
+ (1,10): expected-doctype-but-got-start-tag
121
+ (2,5): unexpected-start-tag-after-frameset
122
+ #document
123
+ | <html>
124
+ | <head>
125
+ | <frameset>
126
+ | "
127
+ "
128
+
129
+ #data
130
+ <frameset></frameset>
131
+ </html>
132
+ #errors
133
+ (1,10): expected-doctype-but-got-start-tag
134
+ #document
135
+ | <html>
136
+ | <head>
137
+ | <frameset>
138
+ | "
139
+ "
140
+
141
+ #data
142
+ <frameset></frameset>
143
+ </div>
144
+ #errors
145
+ (1,10): expected-doctype-but-got-start-tag
146
+ (2,6): unexpected-end-tag-after-frameset
147
+ #document
148
+ | <html>
149
+ | <head>
150
+ | <frameset>
151
+ | "
152
+ "
153
+
154
+ #data
155
+ <form><form>
156
+ #errors
157
+ (1,6): expected-doctype-but-got-start-tag
158
+ (1,12): unexpected-start-tag
159
+ (1,12): expected-closing-tag-but-got-eof
160
+ #document
161
+ | <html>
162
+ | <head>
163
+ | <body>
164
+ | <form>
165
+
166
+ #data
167
+ <button><button>
168
+ #errors
169
+ (1,8): expected-doctype-but-got-start-tag
170
+ (1,16): unexpected-start-tag-implies-end-tag
171
+ (1,16): expected-closing-tag-but-got-eof
172
+ #document
173
+ | <html>
174
+ | <head>
175
+ | <body>
176
+ | <button>
177
+ | <button>
178
+
179
+ #data
180
+ <table><tr><td></th>
181
+ #errors
182
+ (1,7): expected-doctype-but-got-start-tag
183
+ (1,20): unexpected-end-tag
184
+ (1,20): expected-closing-tag-but-got-eof
185
+ #document
186
+ | <html>
187
+ | <head>
188
+ | <body>
189
+ | <table>
190
+ | <tbody>
191
+ | <tr>
192
+ | <td>
193
+
194
+ #data
195
+ <table><caption><td>
196
+ #errors
197
+ (1,7): expected-doctype-but-got-start-tag
198
+ (1,20): unexpected-cell-in-table-body
199
+ (1,20): expected-closing-tag-but-got-eof
200
+ #document
201
+ | <html>
202
+ | <head>
203
+ | <body>
204
+ | <table>
205
+ | <caption>
206
+ | <tbody>
207
+ | <tr>
208
+ | <td>
209
+
210
+ #data
211
+ <table><caption><div>
212
+ #errors
213
+ (1,7): expected-doctype-but-got-start-tag
214
+ (1,21): expected-closing-tag-but-got-eof
215
+ #document
216
+ | <html>
217
+ | <head>
218
+ | <body>
219
+ | <table>
220
+ | <caption>
221
+ | <div>
222
+
223
+ #data
224
+ </caption><div>
225
+ #errors
226
+ (1,10): XXX-undefined-error
227
+ (1,15): expected-closing-tag-but-got-eof
228
+ #document-fragment
229
+ caption
230
+ #document
231
+ | <div>
232
+
233
+ #data
234
+ <table><caption><div></caption>
235
+ #errors
236
+ (1,7): expected-doctype-but-got-start-tag
237
+ (1,31): expected-one-end-tag-but-got-another
238
+ (1,31): eof-in-table
239
+ #document
240
+ | <html>
241
+ | <head>
242
+ | <body>
243
+ | <table>
244
+ | <caption>
245
+ | <div>
246
+
247
+ #data
248
+ <table><caption></table>
249
+ #errors
250
+ (1,7): expected-doctype-but-got-start-tag
251
+ #document
252
+ | <html>
253
+ | <head>
254
+ | <body>
255
+ | <table>
256
+ | <caption>
257
+
258
+ #data
259
+ </table><div>
260
+ #errors
261
+ (1,8): unexpected-end-tag
262
+ (1,13): expected-closing-tag-but-got-eof
263
+ #document-fragment
264
+ caption
265
+ #document
266
+ | <div>
267
+
268
+ #data
269
+ <table><caption></body></col></colgroup></html></tbody></td></tfoot></th></thead></tr>
270
+ #errors
271
+ (1,7): expected-doctype-but-got-start-tag
272
+ (1,23): unexpected-end-tag
273
+ (1,29): unexpected-end-tag
274
+ (1,40): unexpected-end-tag
275
+ (1,47): unexpected-end-tag
276
+ (1,55): unexpected-end-tag
277
+ (1,60): unexpected-end-tag
278
+ (1,68): unexpected-end-tag
279
+ (1,73): unexpected-end-tag
280
+ (1,81): unexpected-end-tag
281
+ (1,86): unexpected-end-tag
282
+ (1,86): expected-closing-tag-but-got-eof
283
+ #document
284
+ | <html>
285
+ | <head>
286
+ | <body>
287
+ | <table>
288
+ | <caption>
289
+
290
+ #data
291
+ <table><caption><div></div>
292
+ #errors
293
+ (1,7): expected-doctype-but-got-start-tag
294
+ (1,27): expected-closing-tag-but-got-eof
295
+ #document
296
+ | <html>
297
+ | <head>
298
+ | <body>
299
+ | <table>
300
+ | <caption>
301
+ | <div>
302
+
303
+ #data
304
+ <table><tr><td></body></caption></col></colgroup></html>
305
+ #errors
306
+ (1,7): expected-doctype-but-got-start-tag
307
+ (1,22): unexpected-end-tag
308
+ (1,32): unexpected-end-tag
309
+ (1,38): unexpected-end-tag
310
+ (1,49): unexpected-end-tag
311
+ (1,56): unexpected-end-tag
312
+ (1,56): expected-closing-tag-but-got-eof
313
+ #document
314
+ | <html>
315
+ | <head>
316
+ | <body>
317
+ | <table>
318
+ | <tbody>
319
+ | <tr>
320
+ | <td>
321
+
322
+ #data
323
+ </table></tbody></tfoot></thead></tr><div>
324
+ #errors
325
+ (1,8): unexpected-end-tag
326
+ (1,16): unexpected-end-tag
327
+ (1,24): unexpected-end-tag
328
+ (1,32): unexpected-end-tag
329
+ (1,37): unexpected-end-tag
330
+ (1,42): expected-closing-tag-but-got-eof
331
+ #document-fragment
332
+ td
333
+ #document
334
+ | <div>
335
+
336
+ #data
337
+ <table><colgroup>foo
338
+ #errors
339
+ (1,7): expected-doctype-but-got-start-tag
340
+ (1,18): foster-parenting-character-in-table
341
+ (1,19): foster-parenting-character-in-table
342
+ (1,20): foster-parenting-character-in-table
343
+ (1,20): eof-in-table
344
+ #document
345
+ | <html>
346
+ | <head>
347
+ | <body>
348
+ | "foo"
349
+ | <table>
350
+ | <colgroup>
351
+
352
+ #data
353
+ foo<col>
354
+ #errors
355
+ (1,1): unexpected-character-in-colgroup
356
+ (1,2): unexpected-character-in-colgroup
357
+ (1,3): unexpected-character-in-colgroup
358
+ #document-fragment
359
+ colgroup
360
+ #document
361
+ | <col>
362
+
363
+ #data
364
+ <table><colgroup></col>
365
+ #errors
366
+ (1,7): expected-doctype-but-got-start-tag
367
+ (1,23): no-end-tag
368
+ (1,23): eof-in-table
369
+ #document
370
+ | <html>
371
+ | <head>
372
+ | <body>
373
+ | <table>
374
+ | <colgroup>
375
+
376
+ #data
377
+ <frameset><div>
378
+ #errors
379
+ (1,10): expected-doctype-but-got-start-tag
380
+ (1,15): unexpected-start-tag-in-frameset
381
+ (1,15): eof-in-frameset
382
+ #document
383
+ | <html>
384
+ | <head>
385
+ | <frameset>
386
+
387
+ #data
388
+ </frameset><frame>
389
+ #errors
390
+ (1,11): unexpected-frameset-in-frameset-innerhtml
391
+ #document-fragment
392
+ frameset
393
+ #document
394
+ | <frame>
395
+
396
+ #data
397
+ <frameset></div>
398
+ #errors
399
+ (1,10): expected-doctype-but-got-start-tag
400
+ (1,16): unexpected-end-tag-in-frameset
401
+ (1,16): eof-in-frameset
402
+ #document
403
+ | <html>
404
+ | <head>
405
+ | <frameset>
406
+
407
+ #data
408
+ </body><div>
409
+ #errors
410
+ (1,7): unexpected-close-tag
411
+ (1,12): expected-closing-tag-but-got-eof
412
+ #document-fragment
413
+ body
414
+ #document
415
+ | <div>
416
+
417
+ #data
418
+ <table><tr><div>
419
+ #errors
420
+ (1,7): expected-doctype-but-got-start-tag
421
+ (1,16): unexpected-start-tag-implies-table-voodoo
422
+ (1,16): eof-in-table
423
+ #document
424
+ | <html>
425
+ | <head>
426
+ | <body>
427
+ | <div>
428
+ | <table>
429
+ | <tbody>
430
+ | <tr>
431
+
432
+ #data
433
+ </tr><td>
434
+ #errors
435
+ (1,5): unexpected-end-tag
436
+ #document-fragment
437
+ tr
438
+ #document
439
+ | <td>
440
+
441
+ #data
442
+ </tbody></tfoot></thead><td>
443
+ #errors
444
+ (1,8): unexpected-end-tag
445
+ (1,16): unexpected-end-tag
446
+ (1,24): unexpected-end-tag
447
+ #document-fragment
448
+ tr
449
+ #document
450
+ | <td>
451
+
452
+ #data
453
+ <table><tr><div><td>
454
+ #errors
455
+ (1,7): expected-doctype-but-got-start-tag
456
+ (1,16): foster-parenting-start-tag
457
+ (1,20): expected-closing-tag-but-got-eof
458
+ #document
459
+ | <html>
460
+ | <head>
461
+ | <body>
462
+ | <div>
463
+ | <table>
464
+ | <tbody>
465
+ | <tr>
466
+ | <td>
467
+
468
+ #data
469
+ <caption><col><colgroup><tbody><tfoot><thead><tr>
470
+ #errors
471
+ (1,9): unexpected-start-tag
472
+ (1,14): unexpected-start-tag
473
+ (1,24): unexpected-start-tag
474
+ (1,31): unexpected-start-tag
475
+ (1,38): unexpected-start-tag
476
+ (1,45): unexpected-start-tag
477
+ #document-fragment
478
+ tbody
479
+ #document
480
+ | <tr>
481
+
482
+ #data
483
+ <table><tbody></thead>
484
+ #errors
485
+ (1,7): expected-doctype-but-got-start-tag
486
+ (1,22): unexpected-end-tag-in-table-body
487
+ (1,22): eof-in-table
488
+ #document
489
+ | <html>
490
+ | <head>
491
+ | <body>
492
+ | <table>
493
+ | <tbody>
494
+
495
+ #data
496
+ </table><tr>
497
+ #errors
498
+ (1,8): unexpected-end-tag
499
+ #document-fragment
500
+ tbody
501
+ #document
502
+ | <tr>
503
+
504
+ #data
505
+ <table><tbody></body></caption></col></colgroup></html></td></th></tr>
506
+ #errors
507
+ (1,7): expected-doctype-but-got-start-tag
508
+ (1,21): unexpected-end-tag-in-table-body
509
+ (1,31): unexpected-end-tag-in-table-body
510
+ (1,37): unexpected-end-tag-in-table-body
511
+ (1,48): unexpected-end-tag-in-table-body
512
+ (1,55): unexpected-end-tag-in-table-body
513
+ (1,60): unexpected-end-tag-in-table-body
514
+ (1,65): unexpected-end-tag-in-table-body
515
+ (1,70): unexpected-end-tag-in-table-body
516
+ (1,70): eof-in-table
517
+ #document
518
+ | <html>
519
+ | <head>
520
+ | <body>
521
+ | <table>
522
+ | <tbody>
523
+
524
+ #data
525
+ <table><tbody></div>
526
+ #errors
527
+ (1,7): expected-doctype-but-got-start-tag
528
+ (1,20): unexpected-end-tag-implies-table-voodoo
529
+ (1,20): end-tag-too-early
530
+ (1,20): eof-in-table
531
+ #document
532
+ | <html>
533
+ | <head>
534
+ | <body>
535
+ | <table>
536
+ | <tbody>
537
+
538
+ #data
539
+ <table><table>
540
+ #errors
541
+ (1,7): expected-doctype-but-got-start-tag
542
+ (1,14): unexpected-start-tag-implies-end-tag
543
+ (1,14): eof-in-table
544
+ #document
545
+ | <html>
546
+ | <head>
547
+ | <body>
548
+ | <table>
549
+ | <table>
550
+
551
+ #data
552
+ <table></body></caption></col></colgroup></html></tbody></td></tfoot></th></thead></tr>
553
+ #errors
554
+ (1,7): expected-doctype-but-got-start-tag
555
+ (1,14): unexpected-end-tag
556
+ (1,24): unexpected-end-tag
557
+ (1,30): unexpected-end-tag
558
+ (1,41): unexpected-end-tag
559
+ (1,48): unexpected-end-tag
560
+ (1,56): unexpected-end-tag
561
+ (1,61): unexpected-end-tag
562
+ (1,69): unexpected-end-tag
563
+ (1,74): unexpected-end-tag
564
+ (1,82): unexpected-end-tag
565
+ (1,87): unexpected-end-tag
566
+ (1,87): eof-in-table
567
+ #document
568
+ | <html>
569
+ | <head>
570
+ | <body>
571
+ | <table>
572
+
573
+ #data
574
+ </table><tr>
575
+ #errors
576
+ (1,8): unexpected-end-tag
577
+ #document-fragment
578
+ table
579
+ #document
580
+ | <tbody>
581
+ | <tr>
582
+
583
+ #data
584
+ <body></body></html>
585
+ #errors
586
+ (1,20): unexpected-end-tag-after-body-innerhtml
587
+ #document-fragment
588
+ html
589
+ #document
590
+ | <head>
591
+ | <body>
592
+
593
+ #data
594
+ <html><frameset></frameset></html>
595
+ #errors
596
+ (1,6): expected-doctype-but-got-start-tag
597
+ #document
598
+ | <html>
599
+ | <head>
600
+ | <frameset>
601
+ | " "
602
+
603
+ #data
604
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"><html></html>
605
+ #errors
606
+ (1,50): doctype-has-public-identifier
607
+ #document
608
+ | <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "">
609
+ | <html>
610
+ | <head>
611
+ | <body>
612
+
613
+ #data
614
+ <param><frameset></frameset>
615
+ #errors
616
+ (1,7): expected-doctype-but-got-start-tag
617
+ (1,17): unexpected-start-tag
618
+ #document
619
+ | <html>
620
+ | <head>
621
+ | <frameset>
622
+
623
+ #data
624
+ <source><frameset></frameset>
625
+ #errors
626
+ (1,8): expected-doctype-but-got-start-tag
627
+ (1,18): unexpected-start-tag
628
+ #document
629
+ | <html>
630
+ | <head>
631
+ | <frameset>
632
+
633
+ #data
634
+ <track><frameset></frameset>
635
+ #errors
636
+ (1,7): expected-doctype-but-got-start-tag
637
+ (1,17): unexpected-start-tag
638
+ #document
639
+ | <html>
640
+ | <head>
641
+ | <frameset>
642
+
643
+ #data
644
+ </html><frameset></frameset>
645
+ #errors
646
+ (1,7): expected-doctype-but-got-end-tag
647
+ (1,17): expected-eof-but-got-start-tag
648
+ (1,17): unexpected-start-tag
649
+ #document
650
+ | <html>
651
+ | <head>
652
+ | <frameset>
653
+
654
+ #data
655
+ </body><frameset></frameset>
656
+ #errors
657
+ (1,7): expected-doctype-but-got-end-tag
658
+ (1,17): unexpected-start-tag-after-body
659
+ (1,17): unexpected-start-tag
660
+ #document
661
+ | <html>
662
+ | <head>
663
+ | <frameset>