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