• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2    "tests": [
3        {
4            "description": "<!doctype html></head> <head>",
5            "input": "<!doctype html></head> <head>",
6            "output": [
7                [
8                    "DOCTYPE",
9                    "html",
10                    null,
11                    null,
12                    true
13                ],
14                [
15                    "EndTag",
16                    "head"
17                ],
18                [
19                    "Character",
20                    " "
21                ],
22                [
23                    "StartTag",
24                    "head",
25                    {}
26                ]
27            ]
28        },
29        {
30            "description": "<!doctype html><form><div></form><div>",
31            "input": "<!doctype html><form><div></form><div>",
32            "output": [
33                [
34                    "DOCTYPE",
35                    "html",
36                    null,
37                    null,
38                    true
39                ],
40                [
41                    "StartTag",
42                    "form",
43                    {}
44                ],
45                [
46                    "StartTag",
47                    "div",
48                    {}
49                ],
50                [
51                    "EndTag",
52                    "form"
53                ],
54                [
55                    "StartTag",
56                    "div",
57                    {}
58                ]
59            ]
60        },
61        {
62            "description": "<!doctype html><title>&amp;</title>",
63            "input": "<!doctype html><title>&amp;</title>",
64            "output": [
65                [
66                    "DOCTYPE",
67                    "html",
68                    null,
69                    null,
70                    true
71                ],
72                [
73                    "StartTag",
74                    "title",
75                    {}
76                ],
77                [
78                    "Character",
79                    "&"
80                ],
81                [
82                    "EndTag",
83                    "title"
84                ]
85            ]
86        },
87        {
88            "description": "<!doctype html><title><!--&amp;--></title>",
89            "input": "<!doctype html><title><!--&amp;--></title>",
90            "output": [
91                [
92                    "DOCTYPE",
93                    "html",
94                    null,
95                    null,
96                    true
97                ],
98                [
99                    "StartTag",
100                    "title",
101                    {}
102                ],
103                [
104                    "Character",
105                    "<!--&-->"
106                ],
107                [
108                    "EndTag",
109                    "title"
110                ]
111            ]
112        },
113        {
114            "description": "<!doctype>",
115            "input": "<!doctype>",
116            "output": [
117                [
118                    "DOCTYPE",
119                    null,
120                    null,
121                    null,
122                    false
123                ]
124            ]
125        },
126        {
127            "description": "<!---x",
128            "input": "<!---x",
129            "output": [
130                [
131                    "Comment",
132                    "-x"
133                ]
134            ]
135        },
136        {
137            "description": "<frameset></frameset>\\r\\nfoo",
138            "input": "<frameset></frameset>\r\nfoo",
139            "output": [
140                [
141                    "StartTag",
142                    "frameset",
143                    {}
144                ],
145                [
146                    "EndTag",
147                    "frameset"
148                ],
149                [
150                    "Character",
151                    "\nfoo"
152                ]
153            ]
154        },
155        {
156            "description": "<frameset></frameset>\\r\\n<noframes>",
157            "input": "<frameset></frameset>\r\n<noframes>",
158            "output": [
159                [
160                    "StartTag",
161                    "frameset",
162                    {}
163                ],
164                [
165                    "EndTag",
166                    "frameset"
167                ],
168                [
169                    "Character",
170                    "\n"
171                ],
172                [
173                    "StartTag",
174                    "noframes",
175                    {}
176                ]
177            ]
178        },
179        {
180            "description": "<frameset></frameset>\\r\\n<div>",
181            "input": "<frameset></frameset>\r\n<div>",
182            "output": [
183                [
184                    "StartTag",
185                    "frameset",
186                    {}
187                ],
188                [
189                    "EndTag",
190                    "frameset"
191                ],
192                [
193                    "Character",
194                    "\n"
195                ],
196                [
197                    "StartTag",
198                    "div",
199                    {}
200                ]
201            ]
202        },
203        {
204            "description": "<frameset></frameset>\\r\\n</html>",
205            "input": "<frameset></frameset>\r\n</html>",
206            "output": [
207                [
208                    "StartTag",
209                    "frameset",
210                    {}
211                ],
212                [
213                    "EndTag",
214                    "frameset"
215                ],
216                [
217                    "Character",
218                    "\n"
219                ],
220                [
221                    "EndTag",
222                    "html"
223                ]
224            ]
225        },
226        {
227            "description": "<frameset></frameset>\\r\\n</div>",
228            "input": "<frameset></frameset>\r\n</div>",
229            "output": [
230                [
231                    "StartTag",
232                    "frameset",
233                    {}
234                ],
235                [
236                    "EndTag",
237                    "frameset"
238                ],
239                [
240                    "Character",
241                    "\n"
242                ],
243                [
244                    "EndTag",
245                    "div"
246                ]
247            ]
248        },
249        {
250            "description": "<form><form>",
251            "input": "<form><form>",
252            "output": [
253                [
254                    "StartTag",
255                    "form",
256                    {}
257                ],
258                [
259                    "StartTag",
260                    "form",
261                    {}
262                ]
263            ]
264        },
265        {
266            "description": "<button><button>",
267            "input": "<button><button>",
268            "output": [
269                [
270                    "StartTag",
271                    "button",
272                    {}
273                ],
274                [
275                    "StartTag",
276                    "button",
277                    {}
278                ]
279            ]
280        },
281        {
282            "description": "<table><tr><td></th>",
283            "input": "<table><tr><td></th>",
284            "output": [
285                [
286                    "StartTag",
287                    "table",
288                    {}
289                ],
290                [
291                    "StartTag",
292                    "tr",
293                    {}
294                ],
295                [
296                    "StartTag",
297                    "td",
298                    {}
299                ],
300                [
301                    "EndTag",
302                    "th"
303                ]
304            ]
305        },
306        {
307            "description": "<table><caption><td>",
308            "input": "<table><caption><td>",
309            "output": [
310                [
311                    "StartTag",
312                    "table",
313                    {}
314                ],
315                [
316                    "StartTag",
317                    "caption",
318                    {}
319                ],
320                [
321                    "StartTag",
322                    "td",
323                    {}
324                ]
325            ]
326        },
327        {
328            "description": "<table><caption><div>",
329            "input": "<table><caption><div>",
330            "output": [
331                [
332                    "StartTag",
333                    "table",
334                    {}
335                ],
336                [
337                    "StartTag",
338                    "caption",
339                    {}
340                ],
341                [
342                    "StartTag",
343                    "div",
344                    {}
345                ]
346            ]
347        },
348        {
349            "description": "<table><caption><div></caption>",
350            "input": "<table><caption><div></caption>",
351            "output": [
352                [
353                    "StartTag",
354                    "table",
355                    {}
356                ],
357                [
358                    "StartTag",
359                    "caption",
360                    {}
361                ],
362                [
363                    "StartTag",
364                    "div",
365                    {}
366                ],
367                [
368                    "EndTag",
369                    "caption"
370                ]
371            ]
372        },
373        {
374            "description": "<table><caption></table>",
375            "input": "<table><caption></table>",
376            "output": [
377                [
378                    "StartTag",
379                    "table",
380                    {}
381                ],
382                [
383                    "StartTag",
384                    "caption",
385                    {}
386                ],
387                [
388                    "EndTag",
389                    "table"
390                ]
391            ]
392        },
393        {
394            "description": "<table><caption></body></col></colgroup></html></tbody></td></tfoot></th></thead></tr>",
395            "input": "<table><caption></body></col></colgroup></html></tbody></td></tfoot></th></thead></tr>",
396            "output": [
397                [
398                    "StartTag",
399                    "table",
400                    {}
401                ],
402                [
403                    "StartTag",
404                    "caption",
405                    {}
406                ],
407                [
408                    "EndTag",
409                    "body"
410                ],
411                [
412                    "EndTag",
413                    "col"
414                ],
415                [
416                    "EndTag",
417                    "colgroup"
418                ],
419                [
420                    "EndTag",
421                    "html"
422                ],
423                [
424                    "EndTag",
425                    "tbody"
426                ],
427                [
428                    "EndTag",
429                    "td"
430                ],
431                [
432                    "EndTag",
433                    "tfoot"
434                ],
435                [
436                    "EndTag",
437                    "th"
438                ],
439                [
440                    "EndTag",
441                    "thead"
442                ],
443                [
444                    "EndTag",
445                    "tr"
446                ]
447            ]
448        },
449        {
450            "description": "<table><caption><div></div>",
451            "input": "<table><caption><div></div>",
452            "output": [
453                [
454                    "StartTag",
455                    "table",
456                    {}
457                ],
458                [
459                    "StartTag",
460                    "caption",
461                    {}
462                ],
463                [
464                    "StartTag",
465                    "div",
466                    {}
467                ],
468                [
469                    "EndTag",
470                    "div"
471                ]
472            ]
473        },
474        {
475            "description": "<table><tr><td></body></caption></col></colgroup></html>",
476            "input": "<table><tr><td></body></caption></col></colgroup></html>",
477            "output": [
478                [
479                    "StartTag",
480                    "table",
481                    {}
482                ],
483                [
484                    "StartTag",
485                    "tr",
486                    {}
487                ],
488                [
489                    "StartTag",
490                    "td",
491                    {}
492                ],
493                [
494                    "EndTag",
495                    "body"
496                ],
497                [
498                    "EndTag",
499                    "caption"
500                ],
501                [
502                    "EndTag",
503                    "col"
504                ],
505                [
506                    "EndTag",
507                    "colgroup"
508                ],
509                [
510                    "EndTag",
511                    "html"
512                ]
513            ]
514        },
515        {
516            "description": "<table><colgroup>foo",
517            "input": "<table><colgroup>foo",
518            "output": [
519                [
520                    "StartTag",
521                    "table",
522                    {}
523                ],
524                [
525                    "StartTag",
526                    "colgroup",
527                    {}
528                ],
529                [
530                    "Character",
531                    "foo"
532                ]
533            ]
534        },
535        {
536            "description": "<table><colgroup></col>",
537            "input": "<table><colgroup></col>",
538            "output": [
539                [
540                    "StartTag",
541                    "table",
542                    {}
543                ],
544                [
545                    "StartTag",
546                    "colgroup",
547                    {}
548                ],
549                [
550                    "EndTag",
551                    "col"
552                ]
553            ]
554        },
555        {
556            "description": "<frameset><div>",
557            "input": "<frameset><div>",
558            "output": [
559                [
560                    "StartTag",
561                    "frameset",
562                    {}
563                ],
564                [
565                    "StartTag",
566                    "div",
567                    {}
568                ]
569            ]
570        },
571        {
572            "description": "<frameset></div>",
573            "input": "<frameset></div>",
574            "output": [
575                [
576                    "StartTag",
577                    "frameset",
578                    {}
579                ],
580                [
581                    "EndTag",
582                    "div"
583                ]
584            ]
585        },
586        {
587            "description": "<table><tr><div>",
588            "input": "<table><tr><div>",
589            "output": [
590                [
591                    "StartTag",
592                    "table",
593                    {}
594                ],
595                [
596                    "StartTag",
597                    "tr",
598                    {}
599                ],
600                [
601                    "StartTag",
602                    "div",
603                    {}
604                ]
605            ]
606        },
607        {
608            "description": "<table><tr><div><td>",
609            "input": "<table><tr><div><td>",
610            "output": [
611                [
612                    "StartTag",
613                    "table",
614                    {}
615                ],
616                [
617                    "StartTag",
618                    "tr",
619                    {}
620                ],
621                [
622                    "StartTag",
623                    "div",
624                    {}
625                ],
626                [
627                    "StartTag",
628                    "td",
629                    {}
630                ]
631            ]
632        },
633        {
634            "description": "<table><tbody></thead>",
635            "input": "<table><tbody></thead>",
636            "output": [
637                [
638                    "StartTag",
639                    "table",
640                    {}
641                ],
642                [
643                    "StartTag",
644                    "tbody",
645                    {}
646                ],
647                [
648                    "EndTag",
649                    "thead"
650                ]
651            ]
652        },
653        {
654            "description": "<table><tbody></body></caption></col></colgroup></html></td></th></tr>",
655            "input": "<table><tbody></body></caption></col></colgroup></html></td></th></tr>",
656            "output": [
657                [
658                    "StartTag",
659                    "table",
660                    {}
661                ],
662                [
663                    "StartTag",
664                    "tbody",
665                    {}
666                ],
667                [
668                    "EndTag",
669                    "body"
670                ],
671                [
672                    "EndTag",
673                    "caption"
674                ],
675                [
676                    "EndTag",
677                    "col"
678                ],
679                [
680                    "EndTag",
681                    "colgroup"
682                ],
683                [
684                    "EndTag",
685                    "html"
686                ],
687                [
688                    "EndTag",
689                    "td"
690                ],
691                [
692                    "EndTag",
693                    "th"
694                ],
695                [
696                    "EndTag",
697                    "tr"
698                ]
699            ]
700        },
701        {
702            "description": "<table><tbody></div>",
703            "input": "<table><tbody></div>",
704            "output": [
705                [
706                    "StartTag",
707                    "table",
708                    {}
709                ],
710                [
711                    "StartTag",
712                    "tbody",
713                    {}
714                ],
715                [
716                    "EndTag",
717                    "div"
718                ]
719            ]
720        },
721        {
722            "description": "<table><table>",
723            "input": "<table><table>",
724            "output": [
725                [
726                    "StartTag",
727                    "table",
728                    {}
729                ],
730                [
731                    "StartTag",
732                    "table",
733                    {}
734                ]
735            ]
736        },
737        {
738            "description": "<table></body></caption></col></colgroup></html></tbody></td></tfoot></th></thead></tr>",
739            "input": "<table></body></caption></col></colgroup></html></tbody></td></tfoot></th></thead></tr>",
740            "output": [
741                [
742                    "StartTag",
743                    "table",
744                    {}
745                ],
746                [
747                    "EndTag",
748                    "body"
749                ],
750                [
751                    "EndTag",
752                    "caption"
753                ],
754                [
755                    "EndTag",
756                    "col"
757                ],
758                [
759                    "EndTag",
760                    "colgroup"
761                ],
762                [
763                    "EndTag",
764                    "html"
765                ],
766                [
767                    "EndTag",
768                    "tbody"
769                ],
770                [
771                    "EndTag",
772                    "td"
773                ],
774                [
775                    "EndTag",
776                    "tfoot"
777                ],
778                [
779                    "EndTag",
780                    "th"
781                ],
782                [
783                    "EndTag",
784                    "thead"
785                ],
786                [
787                    "EndTag",
788                    "tr"
789                ]
790            ]
791        },
792        {
793            "description": "<html><frameset></frameset></html> ",
794            "input": "<html><frameset></frameset></html> ",
795            "output": [
796                [
797                    "StartTag",
798                    "html",
799                    {}
800                ],
801                [
802                    "StartTag",
803                    "frameset",
804                    {}
805                ],
806                [
807                    "EndTag",
808                    "frameset"
809                ],
810                [
811                    "EndTag",
812                    "html"
813                ],
814                [
815                    "Character",
816                    " "
817                ]
818            ]
819        },
820        {
821            "description": "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\"><html></html>",
822            "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\"><html></html>",
823            "output": [
824                [
825                    "DOCTYPE",
826                    "html",
827                    "-//W3C//DTD HTML 4.01//EN",
828                    null,
829                    true
830                ],
831                [
832                    "StartTag",
833                    "html",
834                    {}
835                ],
836                [
837                    "EndTag",
838                    "html"
839                ]
840            ]
841        },
842        {
843            "description": "<param><frameset></frameset>",
844            "input": "<param><frameset></frameset>",
845            "output": [
846                [
847                    "StartTag",
848                    "param",
849                    {}
850                ],
851                [
852                    "StartTag",
853                    "frameset",
854                    {}
855                ],
856                [
857                    "EndTag",
858                    "frameset"
859                ]
860            ]
861        },
862        {
863            "description": "<source><frameset></frameset>",
864            "input": "<source><frameset></frameset>",
865            "output": [
866                [
867                    "StartTag",
868                    "source",
869                    {}
870                ],
871                [
872                    "StartTag",
873                    "frameset",
874                    {}
875                ],
876                [
877                    "EndTag",
878                    "frameset"
879                ]
880            ]
881        },
882        {
883            "description": "<track><frameset></frameset>",
884            "input": "<track><frameset></frameset>",
885            "output": [
886                [
887                    "StartTag",
888                    "track",
889                    {}
890                ],
891                [
892                    "StartTag",
893                    "frameset",
894                    {}
895                ],
896                [
897                    "EndTag",
898                    "frameset"
899                ]
900            ]
901        },
902        {
903            "description": "</html><frameset></frameset>",
904            "input": "</html><frameset></frameset>",
905            "output": [
906                [
907                    "EndTag",
908                    "html"
909                ],
910                [
911                    "StartTag",
912                    "frameset",
913                    {}
914                ],
915                [
916                    "EndTag",
917                    "frameset"
918                ]
919            ]
920        },
921        {
922            "description": "</body><frameset></frameset>",
923            "input": "</body><frameset></frameset>",
924            "output": [
925                [
926                    "EndTag",
927                    "body"
928                ],
929                [
930                    "StartTag",
931                    "frameset",
932                    {}
933                ],
934                [
935                    "EndTag",
936                    "frameset"
937                ]
938            ]
939        }
940    ]
941}