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