• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2    "tests": [
3        {
4            "description": "<!DOCTYPE html>Test",
5            "input": "<!DOCTYPE html>Test",
6            "output": [
7                [
8                    "DOCTYPE",
9                    "html",
10                    null,
11                    null,
12                    true
13                ],
14                [
15                    "Character",
16                    "Test"
17                ]
18            ]
19        },
20        {
21            "description": "<textarea>test</div>test",
22            "input": "<textarea>test</div>test",
23            "output": [
24                [
25                    "StartTag",
26                    "textarea",
27                    {}
28                ],
29                [
30                    "Character",
31                    "test</div>test"
32                ]
33            ]
34        },
35        {
36            "description": "<table><td>",
37            "input": "<table><td>",
38            "output": [
39                [
40                    "StartTag",
41                    "table",
42                    {}
43                ],
44                [
45                    "StartTag",
46                    "td",
47                    {}
48                ]
49            ]
50        },
51        {
52            "description": "<table><td>test</tbody></table>",
53            "input": "<table><td>test</tbody></table>",
54            "output": [
55                [
56                    "StartTag",
57                    "table",
58                    {}
59                ],
60                [
61                    "StartTag",
62                    "td",
63                    {}
64                ],
65                [
66                    "Character",
67                    "test"
68                ],
69                [
70                    "EndTag",
71                    "tbody"
72                ],
73                [
74                    "EndTag",
75                    "table"
76                ]
77            ]
78        },
79        {
80            "description": "<frame>test",
81            "input": "<frame>test",
82            "output": [
83                [
84                    "StartTag",
85                    "frame",
86                    {}
87                ],
88                [
89                    "Character",
90                    "test"
91                ]
92            ]
93        },
94        {
95            "description": "<!DOCTYPE html><frameset>test",
96            "input": "<!DOCTYPE html><frameset>test",
97            "output": [
98                [
99                    "DOCTYPE",
100                    "html",
101                    null,
102                    null,
103                    true
104                ],
105                [
106                    "StartTag",
107                    "frameset",
108                    {}
109                ],
110                [
111                    "Character",
112                    "test"
113                ]
114            ]
115        },
116        {
117            "description": "<!DOCTYPE html><frameset> te st",
118            "input": "<!DOCTYPE html><frameset> te st",
119            "output": [
120                [
121                    "DOCTYPE",
122                    "html",
123                    null,
124                    null,
125                    true
126                ],
127                [
128                    "StartTag",
129                    "frameset",
130                    {}
131                ],
132                [
133                    "Character",
134                    " te st"
135                ]
136            ]
137        },
138        {
139            "description": "<!DOCTYPE html><frameset></frameset> te st",
140            "input": "<!DOCTYPE html><frameset></frameset> te st",
141            "output": [
142                [
143                    "DOCTYPE",
144                    "html",
145                    null,
146                    null,
147                    true
148                ],
149                [
150                    "StartTag",
151                    "frameset",
152                    {}
153                ],
154                [
155                    "EndTag",
156                    "frameset"
157                ],
158                [
159                    "Character",
160                    " te st"
161                ]
162            ]
163        },
164        {
165            "description": "<!DOCTYPE html><frameset><!DOCTYPE html>",
166            "input": "<!DOCTYPE html><frameset><!DOCTYPE html>",
167            "output": [
168                [
169                    "DOCTYPE",
170                    "html",
171                    null,
172                    null,
173                    true
174                ],
175                [
176                    "StartTag",
177                    "frameset",
178                    {}
179                ],
180                [
181                    "DOCTYPE",
182                    "html",
183                    null,
184                    null,
185                    true
186                ]
187            ]
188        },
189        {
190            "description": "<!DOCTYPE html><font><p><b>test</font>",
191            "input": "<!DOCTYPE html><font><p><b>test</font>",
192            "output": [
193                [
194                    "DOCTYPE",
195                    "html",
196                    null,
197                    null,
198                    true
199                ],
200                [
201                    "StartTag",
202                    "font",
203                    {}
204                ],
205                [
206                    "StartTag",
207                    "p",
208                    {}
209                ],
210                [
211                    "StartTag",
212                    "b",
213                    {}
214                ],
215                [
216                    "Character",
217                    "test"
218                ],
219                [
220                    "EndTag",
221                    "font"
222                ]
223            ]
224        },
225        {
226            "description": "<!DOCTYPE html><dt><div><dd>",
227            "input": "<!DOCTYPE html><dt><div><dd>",
228            "output": [
229                [
230                    "DOCTYPE",
231                    "html",
232                    null,
233                    null,
234                    true
235                ],
236                [
237                    "StartTag",
238                    "dt",
239                    {}
240                ],
241                [
242                    "StartTag",
243                    "div",
244                    {}
245                ],
246                [
247                    "StartTag",
248                    "dd",
249                    {}
250                ]
251            ]
252        },
253        {
254            "description": "<script></x",
255            "input": "<script></x",
256            "output": [
257                [
258                    "StartTag",
259                    "script",
260                    {}
261                ],
262                [
263                    "Character",
264                    "</x"
265                ]
266            ]
267        },
268        {
269            "description": "<table><plaintext><td>",
270            "input": "<table><plaintext><td>",
271            "output": [
272                [
273                    "StartTag",
274                    "table",
275                    {}
276                ],
277                [
278                    "StartTag",
279                    "plaintext",
280                    {}
281                ],
282                [
283                    "Character",
284                    "<td>"
285                ]
286            ]
287        },
288        {
289            "description": "<plaintext></plaintext>",
290            "input": "<plaintext></plaintext>",
291            "output": [
292                [
293                    "StartTag",
294                    "plaintext",
295                    {}
296                ],
297                [
298                    "Character",
299                    "</plaintext>"
300                ]
301            ]
302        },
303        {
304            "description": "<!DOCTYPE html><table><tr>TEST",
305            "input": "<!DOCTYPE html><table><tr>TEST",
306            "output": [
307                [
308                    "DOCTYPE",
309                    "html",
310                    null,
311                    null,
312                    true
313                ],
314                [
315                    "StartTag",
316                    "table",
317                    {}
318                ],
319                [
320                    "StartTag",
321                    "tr",
322                    {}
323                ],
324                [
325                    "Character",
326                    "TEST"
327                ]
328            ]
329        },
330        {
331            "description": "<!DOCTYPE html><body t1=1><body t2=2><body t3=3 t4=4>",
332            "input": "<!DOCTYPE html><body t1=1><body t2=2><body t3=3 t4=4>",
333            "output": [
334                [
335                    "DOCTYPE",
336                    "html",
337                    null,
338                    null,
339                    true
340                ],
341                [
342                    "StartTag",
343                    "body",
344                    {
345                        "t1": "1"
346                    }
347                ],
348                [
349                    "StartTag",
350                    "body",
351                    {
352                        "t2": "2"
353                    }
354                ],
355                [
356                    "StartTag",
357                    "body",
358                    {
359                        "t3": "3",
360                        "t4": "4"
361                    }
362                ]
363            ]
364        },
365        {
366            "description": "</b test",
367            "input": "</b test",
368            "output": []
369        },
370        {
371            "description": "<!DOCTYPE html></b test<b &=&amp>X",
372            "input": "<!DOCTYPE html></b test<b &=&amp>X",
373            "output": [
374                [
375                    "DOCTYPE",
376                    "html",
377                    null,
378                    null,
379                    true
380                ],
381                [
382                    "EndTag",
383                    "b"
384                ],
385                [
386                    "Character",
387                    "X"
388                ]
389            ]
390        },
391        {
392            "description": "<!doctypehtml><scrIPt type=text/x-foobar;baz>X</SCRipt",
393            "input": "<!doctypehtml><scrIPt type=text/x-foobar;baz>X</SCRipt",
394            "output": [
395                [
396                    "DOCTYPE",
397                    "html",
398                    null,
399                    null,
400                    true
401                ],
402                [
403                    "StartTag",
404                    "script",
405                    {
406                        "type": "text/x-foobar;baz"
407                    }
408                ],
409                [
410                    "Character",
411                    "X</SCRipt"
412                ]
413            ]
414        },
415        {
416            "description": "&",
417            "input": "&",
418            "output": [
419                [
420                    "Character",
421                    "&"
422                ]
423            ]
424        },
425        {
426            "description": "&#",
427            "input": "&#",
428            "output": [
429                [
430                    "Character",
431                    "&#"
432                ]
433            ]
434        },
435        {
436            "description": "&#X",
437            "input": "&#X",
438            "output": [
439                [
440                    "Character",
441                    "&#X"
442                ]
443            ]
444        },
445        {
446            "description": "&#x",
447            "input": "&#x",
448            "output": [
449                [
450                    "Character",
451                    "&#x"
452                ]
453            ]
454        },
455        {
456            "description": "&#45",
457            "input": "&#45",
458            "output": [
459                [
460                    "Character",
461                    "-"
462                ]
463            ]
464        },
465        {
466            "description": "&x-test",
467            "input": "&x-test",
468            "output": [
469                [
470                    "Character",
471                    "&x-test"
472                ]
473            ]
474        },
475        {
476            "description": "<!doctypehtml><p><li>",
477            "input": "<!doctypehtml><p><li>",
478            "output": [
479                [
480                    "DOCTYPE",
481                    "html",
482                    null,
483                    null,
484                    true
485                ],
486                [
487                    "StartTag",
488                    "p",
489                    {}
490                ],
491                [
492                    "StartTag",
493                    "li",
494                    {}
495                ]
496            ]
497        },
498        {
499            "description": "<!doctypehtml><p><dt>",
500            "input": "<!doctypehtml><p><dt>",
501            "output": [
502                [
503                    "DOCTYPE",
504                    "html",
505                    null,
506                    null,
507                    true
508                ],
509                [
510                    "StartTag",
511                    "p",
512                    {}
513                ],
514                [
515                    "StartTag",
516                    "dt",
517                    {}
518                ]
519            ]
520        },
521        {
522            "description": "<!doctypehtml><p><dd>",
523            "input": "<!doctypehtml><p><dd>",
524            "output": [
525                [
526                    "DOCTYPE",
527                    "html",
528                    null,
529                    null,
530                    true
531                ],
532                [
533                    "StartTag",
534                    "p",
535                    {}
536                ],
537                [
538                    "StartTag",
539                    "dd",
540                    {}
541                ]
542            ]
543        },
544        {
545            "description": "<!doctypehtml><p><form>",
546            "input": "<!doctypehtml><p><form>",
547            "output": [
548                [
549                    "DOCTYPE",
550                    "html",
551                    null,
552                    null,
553                    true
554                ],
555                [
556                    "StartTag",
557                    "p",
558                    {}
559                ],
560                [
561                    "StartTag",
562                    "form",
563                    {}
564                ]
565            ]
566        },
567        {
568            "description": "<!DOCTYPE html><p></P>X",
569            "input": "<!DOCTYPE html><p></P>X",
570            "output": [
571                [
572                    "DOCTYPE",
573                    "html",
574                    null,
575                    null,
576                    true
577                ],
578                [
579                    "StartTag",
580                    "p",
581                    {}
582                ],
583                [
584                    "EndTag",
585                    "p"
586                ],
587                [
588                    "Character",
589                    "X"
590                ]
591            ]
592        },
593        {
594            "description": "&AMP",
595            "input": "&AMP",
596            "output": [
597                [
598                    "Character",
599                    "&"
600                ]
601            ]
602        },
603        {
604            "description": "&AMp;",
605            "input": "&AMp;",
606            "output": [
607                [
608                    "Character",
609                    "&AMp;"
610                ]
611            ]
612        },
613        {
614            "description": "<!DOCTYPE html><html><head></head><body><thisISasillyTESTelementNameToMakeSureCrazyTagNamesArePARSEDcorrectLY>",
615            "input": "<!DOCTYPE html><html><head></head><body><thisISasillyTESTelementNameToMakeSureCrazyTagNamesArePARSEDcorrectLY>",
616            "output": [
617                [
618                    "DOCTYPE",
619                    "html",
620                    null,
621                    null,
622                    true
623                ],
624                [
625                    "StartTag",
626                    "html",
627                    {}
628                ],
629                [
630                    "StartTag",
631                    "head",
632                    {}
633                ],
634                [
635                    "EndTag",
636                    "head"
637                ],
638                [
639                    "StartTag",
640                    "body",
641                    {}
642                ],
643                [
644                    "StartTag",
645                    "thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly",
646                    {}
647                ]
648            ]
649        },
650        {
651            "description": "<!DOCTYPE html>X</body>X",
652            "input": "<!DOCTYPE html>X</body>X",
653            "output": [
654                [
655                    "DOCTYPE",
656                    "html",
657                    null,
658                    null,
659                    true
660                ],
661                [
662                    "Character",
663                    "X"
664                ],
665                [
666                    "EndTag",
667                    "body"
668                ],
669                [
670                    "Character",
671                    "X"
672                ]
673            ]
674        },
675        {
676            "description": "<!DOCTYPE html><!-- X",
677            "input": "<!DOCTYPE html><!-- X",
678            "output": [
679                [
680                    "DOCTYPE",
681                    "html",
682                    null,
683                    null,
684                    true
685                ],
686                [
687                    "Comment",
688                    " X"
689                ]
690            ]
691        },
692        {
693            "description": "<!DOCTYPE html><table><caption>test TEST</caption><td>test",
694            "input": "<!DOCTYPE html><table><caption>test TEST</caption><td>test",
695            "output": [
696                [
697                    "DOCTYPE",
698                    "html",
699                    null,
700                    null,
701                    true
702                ],
703                [
704                    "StartTag",
705                    "table",
706                    {}
707                ],
708                [
709                    "StartTag",
710                    "caption",
711                    {}
712                ],
713                [
714                    "Character",
715                    "test TEST"
716                ],
717                [
718                    "EndTag",
719                    "caption"
720                ],
721                [
722                    "StartTag",
723                    "td",
724                    {}
725                ],
726                [
727                    "Character",
728                    "test"
729                ]
730            ]
731        },
732        {
733            "description": "<!DOCTYPE html><select><option><optgroup>",
734            "input": "<!DOCTYPE html><select><option><optgroup>",
735            "output": [
736                [
737                    "DOCTYPE",
738                    "html",
739                    null,
740                    null,
741                    true
742                ],
743                [
744                    "StartTag",
745                    "select",
746                    {}
747                ],
748                [
749                    "StartTag",
750                    "option",
751                    {}
752                ],
753                [
754                    "StartTag",
755                    "optgroup",
756                    {}
757                ]
758            ]
759        },
760        {
761            "description": "<!DOCTYPE html><select><optgroup><option></optgroup><option><select><option>",
762            "input": "<!DOCTYPE html><select><optgroup><option></optgroup><option><select><option>",
763            "output": [
764                [
765                    "DOCTYPE",
766                    "html",
767                    null,
768                    null,
769                    true
770                ],
771                [
772                    "StartTag",
773                    "select",
774                    {}
775                ],
776                [
777                    "StartTag",
778                    "optgroup",
779                    {}
780                ],
781                [
782                    "StartTag",
783                    "option",
784                    {}
785                ],
786                [
787                    "EndTag",
788                    "optgroup"
789                ],
790                [
791                    "StartTag",
792                    "option",
793                    {}
794                ],
795                [
796                    "StartTag",
797                    "select",
798                    {}
799                ],
800                [
801                    "StartTag",
802                    "option",
803                    {}
804                ]
805            ]
806        },
807        {
808            "description": "<!DOCTYPE html><select><optgroup><option><optgroup>",
809            "input": "<!DOCTYPE html><select><optgroup><option><optgroup>",
810            "output": [
811                [
812                    "DOCTYPE",
813                    "html",
814                    null,
815                    null,
816                    true
817                ],
818                [
819                    "StartTag",
820                    "select",
821                    {}
822                ],
823                [
824                    "StartTag",
825                    "optgroup",
826                    {}
827                ],
828                [
829                    "StartTag",
830                    "option",
831                    {}
832                ],
833                [
834                    "StartTag",
835                    "optgroup",
836                    {}
837                ]
838            ]
839        },
840        {
841            "description": "<!DOCTYPE html><datalist><option>foo</datalist>bar",
842            "input": "<!DOCTYPE html><datalist><option>foo</datalist>bar",
843            "output": [
844                [
845                    "DOCTYPE",
846                    "html",
847                    null,
848                    null,
849                    true
850                ],
851                [
852                    "StartTag",
853                    "datalist",
854                    {}
855                ],
856                [
857                    "StartTag",
858                    "option",
859                    {}
860                ],
861                [
862                    "Character",
863                    "foo"
864                ],
865                [
866                    "EndTag",
867                    "datalist"
868                ],
869                [
870                    "Character",
871                    "bar"
872                ]
873            ]
874        },
875        {
876            "description": "<!DOCTYPE html><font><input><input></font>",
877            "input": "<!DOCTYPE html><font><input><input></font>",
878            "output": [
879                [
880                    "DOCTYPE",
881                    "html",
882                    null,
883                    null,
884                    true
885                ],
886                [
887                    "StartTag",
888                    "font",
889                    {}
890                ],
891                [
892                    "StartTag",
893                    "input",
894                    {}
895                ],
896                [
897                    "StartTag",
898                    "input",
899                    {}
900                ],
901                [
902                    "EndTag",
903                    "font"
904                ]
905            ]
906        },
907        {
908            "description": "<!DOCTYPE html><!-- XXX - XXX -->",
909            "input": "<!DOCTYPE html><!-- XXX - XXX -->",
910            "output": [
911                [
912                    "DOCTYPE",
913                    "html",
914                    null,
915                    null,
916                    true
917                ],
918                [
919                    "Comment",
920                    " XXX - XXX "
921                ]
922            ]
923        },
924        {
925            "description": "<!DOCTYPE html><!-- XXX - XXX",
926            "input": "<!DOCTYPE html><!-- XXX - XXX",
927            "output": [
928                [
929                    "DOCTYPE",
930                    "html",
931                    null,
932                    null,
933                    true
934                ],
935                [
936                    "Comment",
937                    " XXX - XXX"
938                ]
939            ]
940        },
941        {
942            "description": "<!DOCTYPE html><!-- XXX - XXX - XXX -->",
943            "input": "<!DOCTYPE html><!-- XXX - XXX - XXX -->",
944            "output": [
945                [
946                    "DOCTYPE",
947                    "html",
948                    null,
949                    null,
950                    true
951                ],
952                [
953                    "Comment",
954                    " XXX - XXX - XXX "
955                ]
956            ]
957        },
958        {
959            "description": "test\\r\\ntest",
960            "input": "test\r\ntest",
961            "output": [
962                [
963                    "Character",
964                    "test\ntest"
965                ]
966            ]
967        },
968        {
969            "description": "<!DOCTYPE html><body><title>test</body></title>",
970            "input": "<!DOCTYPE html><body><title>test</body></title>",
971            "output": [
972                [
973                    "DOCTYPE",
974                    "html",
975                    null,
976                    null,
977                    true
978                ],
979                [
980                    "StartTag",
981                    "body",
982                    {}
983                ],
984                [
985                    "StartTag",
986                    "title",
987                    {}
988                ],
989                [
990                    "Character",
991                    "test</body>"
992                ],
993                [
994                    "EndTag",
995                    "title"
996                ]
997            ]
998        },
999        {
1000            "description": "<!DOCTYPE html><body><title>X</title><meta name=z><link rel=foo><style>\\r\\nx { content:\"</style\" } </style>",
1001            "input": "<!DOCTYPE html><body><title>X</title><meta name=z><link rel=foo><style>\r\nx { content:\"</style\" } </style>",
1002            "output": [
1003                [
1004                    "DOCTYPE",
1005                    "html",
1006                    null,
1007                    null,
1008                    true
1009                ],
1010                [
1011                    "StartTag",
1012                    "body",
1013                    {}
1014                ],
1015                [
1016                    "StartTag",
1017                    "title",
1018                    {}
1019                ],
1020                [
1021                    "Character",
1022                    "X"
1023                ],
1024                [
1025                    "EndTag",
1026                    "title"
1027                ],
1028                [
1029                    "StartTag",
1030                    "meta",
1031                    {
1032                        "name": "z"
1033                    }
1034                ],
1035                [
1036                    "StartTag",
1037                    "link",
1038                    {
1039                        "rel": "foo"
1040                    }
1041                ],
1042                [
1043                    "StartTag",
1044                    "style",
1045                    {}
1046                ],
1047                [
1048                    "Character",
1049                    "\nx { content:\"</style\" } "
1050                ],
1051                [
1052                    "EndTag",
1053                    "style"
1054                ]
1055            ]
1056        },
1057        {
1058            "description": "<!DOCTYPE html><select><optgroup></optgroup></select>",
1059            "input": "<!DOCTYPE html><select><optgroup></optgroup></select>",
1060            "output": [
1061                [
1062                    "DOCTYPE",
1063                    "html",
1064                    null,
1065                    null,
1066                    true
1067                ],
1068                [
1069                    "StartTag",
1070                    "select",
1071                    {}
1072                ],
1073                [
1074                    "StartTag",
1075                    "optgroup",
1076                    {}
1077                ],
1078                [
1079                    "EndTag",
1080                    "optgroup"
1081                ],
1082                [
1083                    "EndTag",
1084                    "select"
1085                ]
1086            ]
1087        },
1088        {
1089            "description": " \\r\\n ",
1090            "input": " \r\n ",
1091            "output": [
1092                [
1093                    "Character",
1094                    " \n "
1095                ]
1096            ]
1097        },
1098        {
1099            "description": "<!DOCTYPE html>  <html>",
1100            "input": "<!DOCTYPE html>  <html>",
1101            "output": [
1102                [
1103                    "DOCTYPE",
1104                    "html",
1105                    null,
1106                    null,
1107                    true
1108                ],
1109                [
1110                    "Character",
1111                    "  "
1112                ],
1113                [
1114                    "StartTag",
1115                    "html",
1116                    {}
1117                ]
1118            ]
1119        },
1120        {
1121            "description": "<!DOCTYPE html><script>\\r\\n</script>  <title>x</title>  </head>",
1122            "input": "<!DOCTYPE html><script>\r\n</script>  <title>x</title>  </head>",
1123            "output": [
1124                [
1125                    "DOCTYPE",
1126                    "html",
1127                    null,
1128                    null,
1129                    true
1130                ],
1131                [
1132                    "StartTag",
1133                    "script",
1134                    {}
1135                ],
1136                [
1137                    "Character",
1138                    "\n"
1139                ],
1140                [
1141                    "EndTag",
1142                    "script"
1143                ],
1144                [
1145                    "Character",
1146                    "  "
1147                ],
1148                [
1149                    "StartTag",
1150                    "title",
1151                    {}
1152                ],
1153                [
1154                    "Character",
1155                    "x"
1156                ],
1157                [
1158                    "EndTag",
1159                    "title"
1160                ],
1161                [
1162                    "Character",
1163                    "  "
1164                ],
1165                [
1166                    "EndTag",
1167                    "head"
1168                ]
1169            ]
1170        },
1171        {
1172            "description": "<!DOCTYPE html><html><body><html id=x>",
1173            "input": "<!DOCTYPE html><html><body><html id=x>",
1174            "output": [
1175                [
1176                    "DOCTYPE",
1177                    "html",
1178                    null,
1179                    null,
1180                    true
1181                ],
1182                [
1183                    "StartTag",
1184                    "html",
1185                    {}
1186                ],
1187                [
1188                    "StartTag",
1189                    "body",
1190                    {}
1191                ],
1192                [
1193                    "StartTag",
1194                    "html",
1195                    {
1196                        "id": "x"
1197                    }
1198                ]
1199            ]
1200        },
1201        {
1202            "description": "<!DOCTYPE html>X</body><html id=\"x\">",
1203            "input": "<!DOCTYPE html>X</body><html id=\"x\">",
1204            "output": [
1205                [
1206                    "DOCTYPE",
1207                    "html",
1208                    null,
1209                    null,
1210                    true
1211                ],
1212                [
1213                    "Character",
1214                    "X"
1215                ],
1216                [
1217                    "EndTag",
1218                    "body"
1219                ],
1220                [
1221                    "StartTag",
1222                    "html",
1223                    {
1224                        "id": "x"
1225                    }
1226                ]
1227            ]
1228        },
1229        {
1230            "description": "<!DOCTYPE html><head><html id=x>",
1231            "input": "<!DOCTYPE html><head><html id=x>",
1232            "output": [
1233                [
1234                    "DOCTYPE",
1235                    "html",
1236                    null,
1237                    null,
1238                    true
1239                ],
1240                [
1241                    "StartTag",
1242                    "head",
1243                    {}
1244                ],
1245                [
1246                    "StartTag",
1247                    "html",
1248                    {
1249                        "id": "x"
1250                    }
1251                ]
1252            ]
1253        },
1254        {
1255            "description": "<!DOCTYPE html>X</html>X",
1256            "input": "<!DOCTYPE html>X</html>X",
1257            "output": [
1258                [
1259                    "DOCTYPE",
1260                    "html",
1261                    null,
1262                    null,
1263                    true
1264                ],
1265                [
1266                    "Character",
1267                    "X"
1268                ],
1269                [
1270                    "EndTag",
1271                    "html"
1272                ],
1273                [
1274                    "Character",
1275                    "X"
1276                ]
1277            ]
1278        },
1279        {
1280            "description": "<!DOCTYPE html>X</html> ",
1281            "input": "<!DOCTYPE html>X</html> ",
1282            "output": [
1283                [
1284                    "DOCTYPE",
1285                    "html",
1286                    null,
1287                    null,
1288                    true
1289                ],
1290                [
1291                    "Character",
1292                    "X"
1293                ],
1294                [
1295                    "EndTag",
1296                    "html"
1297                ],
1298                [
1299                    "Character",
1300                    " "
1301                ]
1302            ]
1303        },
1304        {
1305            "description": "<!DOCTYPE html>X</html><p>X",
1306            "input": "<!DOCTYPE html>X</html><p>X",
1307            "output": [
1308                [
1309                    "DOCTYPE",
1310                    "html",
1311                    null,
1312                    null,
1313                    true
1314                ],
1315                [
1316                    "Character",
1317                    "X"
1318                ],
1319                [
1320                    "EndTag",
1321                    "html"
1322                ],
1323                [
1324                    "StartTag",
1325                    "p",
1326                    {}
1327                ],
1328                [
1329                    "Character",
1330                    "X"
1331                ]
1332            ]
1333        },
1334        {
1335            "description": "<!DOCTYPE html>X<p/x/y/z>",
1336            "input": "<!DOCTYPE html>X<p/x/y/z>",
1337            "output": [
1338                [
1339                    "DOCTYPE",
1340                    "html",
1341                    null,
1342                    null,
1343                    true
1344                ],
1345                [
1346                    "Character",
1347                    "X"
1348                ],
1349                [
1350                    "StartTag",
1351                    "p",
1352                    {
1353                        "x": "",
1354                        "y": "",
1355                        "z": ""
1356                    }
1357                ]
1358            ]
1359        },
1360        {
1361            "description": "<!DOCTYPE html><!--x--",
1362            "input": "<!DOCTYPE html><!--x--",
1363            "output": [
1364                [
1365                    "DOCTYPE",
1366                    "html",
1367                    null,
1368                    null,
1369                    true
1370                ],
1371                [
1372                    "Comment",
1373                    "x"
1374                ]
1375            ]
1376        },
1377        {
1378            "description": "<!DOCTYPE html><table><tr><td></p></table>",
1379            "input": "<!DOCTYPE html><table><tr><td></p></table>",
1380            "output": [
1381                [
1382                    "DOCTYPE",
1383                    "html",
1384                    null,
1385                    null,
1386                    true
1387                ],
1388                [
1389                    "StartTag",
1390                    "table",
1391                    {}
1392                ],
1393                [
1394                    "StartTag",
1395                    "tr",
1396                    {}
1397                ],
1398                [
1399                    "StartTag",
1400                    "td",
1401                    {}
1402                ],
1403                [
1404                    "EndTag",
1405                    "p"
1406                ],
1407                [
1408                    "EndTag",
1409                    "table"
1410                ]
1411            ]
1412        },
1413        {
1414            "description": "<!DOCTYPE <!DOCTYPE HTML>><!--<!--x-->-->",
1415            "input": "<!DOCTYPE <!DOCTYPE HTML>><!--<!--x-->-->",
1416            "output": [
1417                [
1418                    "DOCTYPE",
1419                    "<!doctype",
1420                    null,
1421                    null,
1422                    false
1423                ],
1424                [
1425                    "Character",
1426                    ">"
1427                ],
1428                [
1429                    "Comment",
1430                    "<!--x"
1431                ],
1432                [
1433                    "Character",
1434                    "-->"
1435                ]
1436            ]
1437        },
1438        {
1439            "description": "<!doctype html><div><form></form><div></div></div>",
1440            "input": "<!doctype html><div><form></form><div></div></div>",
1441            "output": [
1442                [
1443                    "DOCTYPE",
1444                    "html",
1445                    null,
1446                    null,
1447                    true
1448                ],
1449                [
1450                    "StartTag",
1451                    "div",
1452                    {}
1453                ],
1454                [
1455                    "StartTag",
1456                    "form",
1457                    {}
1458                ],
1459                [
1460                    "EndTag",
1461                    "form"
1462                ],
1463                [
1464                    "StartTag",
1465                    "div",
1466                    {}
1467                ],
1468                [
1469                    "EndTag",
1470                    "div"
1471                ],
1472                [
1473                    "EndTag",
1474                    "div"
1475                ]
1476            ]
1477        }
1478    ]
1479}