• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2    "tests": [
3        {
4            "description": "<b><p>Bold </b> Not bold</p>\\r\\nAlso not bold.",
5            "input": "<b><p>Bold </b> Not bold</p>\r\nAlso not bold.",
6            "output": [
7                [
8                    "StartTag",
9                    "b",
10                    {}
11                ],
12                [
13                    "StartTag",
14                    "p",
15                    {}
16                ],
17                [
18                    "Character",
19                    "Bold "
20                ],
21                [
22                    "EndTag",
23                    "b"
24                ],
25                [
26                    "Character",
27                    " Not bold"
28                ],
29                [
30                    "EndTag",
31                    "p"
32                ],
33                [
34                    "Character",
35                    "\nAlso not bold."
36                ]
37            ]
38        },
39        {
40            "description": "<html>\\r\\n<font color=red><i>Italic and Red<p>Italic and Red </font> Just italic.</p> Italic only.</i> Plain\\r\\n<p>I should not be red. <font color=red>Red. <i>Italic and red.</p>\\r\\n<p>Italic and red. </i> Red.</font> I should not be red.</p>\\r\\n<b>Bold <i>Bold and italic</b> Only Italic </i> Plain",
41            "input": "<html>\r\n<font color=red><i>Italic and Red<p>Italic and Red </font> Just italic.</p> Italic only.</i> Plain\r\n<p>I should not be red. <font color=red>Red. <i>Italic and red.</p>\r\n<p>Italic and red. </i> Red.</font> I should not be red.</p>\r\n<b>Bold <i>Bold and italic</b> Only Italic </i> Plain",
42            "output": [
43                [
44                    "StartTag",
45                    "html",
46                    {}
47                ],
48                [
49                    "Character",
50                    "\n"
51                ],
52                [
53                    "StartTag",
54                    "font",
55                    {
56                        "color": "red"
57                    }
58                ],
59                [
60                    "StartTag",
61                    "i",
62                    {}
63                ],
64                [
65                    "Character",
66                    "Italic and Red"
67                ],
68                [
69                    "StartTag",
70                    "p",
71                    {}
72                ],
73                [
74                    "Character",
75                    "Italic and Red "
76                ],
77                [
78                    "EndTag",
79                    "font"
80                ],
81                [
82                    "Character",
83                    " Just italic."
84                ],
85                [
86                    "EndTag",
87                    "p"
88                ],
89                [
90                    "Character",
91                    " Italic only."
92                ],
93                [
94                    "EndTag",
95                    "i"
96                ],
97                [
98                    "Character",
99                    " Plain\n"
100                ],
101                [
102                    "StartTag",
103                    "p",
104                    {}
105                ],
106                [
107                    "Character",
108                    "I should not be red. "
109                ],
110                [
111                    "StartTag",
112                    "font",
113                    {
114                        "color": "red"
115                    }
116                ],
117                [
118                    "Character",
119                    "Red. "
120                ],
121                [
122                    "StartTag",
123                    "i",
124                    {}
125                ],
126                [
127                    "Character",
128                    "Italic and red."
129                ],
130                [
131                    "EndTag",
132                    "p"
133                ],
134                [
135                    "Character",
136                    "\n"
137                ],
138                [
139                    "StartTag",
140                    "p",
141                    {}
142                ],
143                [
144                    "Character",
145                    "Italic and red. "
146                ],
147                [
148                    "EndTag",
149                    "i"
150                ],
151                [
152                    "Character",
153                    " Red."
154                ],
155                [
156                    "EndTag",
157                    "font"
158                ],
159                [
160                    "Character",
161                    " I should not be red."
162                ],
163                [
164                    "EndTag",
165                    "p"
166                ],
167                [
168                    "Character",
169                    "\n"
170                ],
171                [
172                    "StartTag",
173                    "b",
174                    {}
175                ],
176                [
177                    "Character",
178                    "Bold "
179                ],
180                [
181                    "StartTag",
182                    "i",
183                    {}
184                ],
185                [
186                    "Character",
187                    "Bold and italic"
188                ],
189                [
190                    "EndTag",
191                    "b"
192                ],
193                [
194                    "Character",
195                    " Only Italic "
196                ],
197                [
198                    "EndTag",
199                    "i"
200                ],
201                [
202                    "Character",
203                    " Plain"
204                ]
205            ]
206        },
207        {
208            "description": "<html><body>\\r\\n<p><font size=\"7\">First paragraph.</p>\\r\\n<p>Second paragraph.</p></font>\\r\\n<b><p><i>Bold and Italic</b> Italic</p>",
209            "input": "<html><body>\r\n<p><font size=\"7\">First paragraph.</p>\r\n<p>Second paragraph.</p></font>\r\n<b><p><i>Bold and Italic</b> Italic</p>",
210            "output": [
211                [
212                    "StartTag",
213                    "html",
214                    {}
215                ],
216                [
217                    "StartTag",
218                    "body",
219                    {}
220                ],
221                [
222                    "Character",
223                    "\n"
224                ],
225                [
226                    "StartTag",
227                    "p",
228                    {}
229                ],
230                [
231                    "StartTag",
232                    "font",
233                    {
234                        "size": "7"
235                    }
236                ],
237                [
238                    "Character",
239                    "First paragraph."
240                ],
241                [
242                    "EndTag",
243                    "p"
244                ],
245                [
246                    "Character",
247                    "\n"
248                ],
249                [
250                    "StartTag",
251                    "p",
252                    {}
253                ],
254                [
255                    "Character",
256                    "Second paragraph."
257                ],
258                [
259                    "EndTag",
260                    "p"
261                ],
262                [
263                    "EndTag",
264                    "font"
265                ],
266                [
267                    "Character",
268                    "\n"
269                ],
270                [
271                    "StartTag",
272                    "b",
273                    {}
274                ],
275                [
276                    "StartTag",
277                    "p",
278                    {}
279                ],
280                [
281                    "StartTag",
282                    "i",
283                    {}
284                ],
285                [
286                    "Character",
287                    "Bold and Italic"
288                ],
289                [
290                    "EndTag",
291                    "b"
292                ],
293                [
294                    "Character",
295                    " Italic"
296                ],
297                [
298                    "EndTag",
299                    "p"
300                ]
301            ]
302        },
303        {
304            "description": "<html>\\r\\n<dl>\\r\\n<dt><b>Boo\\r\\n<dd>Goo?\\r\\n</dl>\\r\\n</html>",
305            "input": "<html>\r\n<dl>\r\n<dt><b>Boo\r\n<dd>Goo?\r\n</dl>\r\n</html>",
306            "output": [
307                [
308                    "StartTag",
309                    "html",
310                    {}
311                ],
312                [
313                    "Character",
314                    "\n"
315                ],
316                [
317                    "StartTag",
318                    "dl",
319                    {}
320                ],
321                [
322                    "Character",
323                    "\n"
324                ],
325                [
326                    "StartTag",
327                    "dt",
328                    {}
329                ],
330                [
331                    "StartTag",
332                    "b",
333                    {}
334                ],
335                [
336                    "Character",
337                    "Boo\n"
338                ],
339                [
340                    "StartTag",
341                    "dd",
342                    {}
343                ],
344                [
345                    "Character",
346                    "Goo?\n"
347                ],
348                [
349                    "EndTag",
350                    "dl"
351                ],
352                [
353                    "Character",
354                    "\n"
355                ],
356                [
357                    "EndTag",
358                    "html"
359                ]
360            ]
361        },
362        {
363            "description": "<html><body>\\r\\n<label><a><div>Hello<div>World</div></a></label>  \\r\\n</body></html>",
364            "input": "<html><body>\r\n<label><a><div>Hello<div>World</div></a></label>  \r\n</body></html>",
365            "output": [
366                [
367                    "StartTag",
368                    "html",
369                    {}
370                ],
371                [
372                    "StartTag",
373                    "body",
374                    {}
375                ],
376                [
377                    "Character",
378                    "\n"
379                ],
380                [
381                    "StartTag",
382                    "label",
383                    {}
384                ],
385                [
386                    "StartTag",
387                    "a",
388                    {}
389                ],
390                [
391                    "StartTag",
392                    "div",
393                    {}
394                ],
395                [
396                    "Character",
397                    "Hello"
398                ],
399                [
400                    "StartTag",
401                    "div",
402                    {}
403                ],
404                [
405                    "Character",
406                    "World"
407                ],
408                [
409                    "EndTag",
410                    "div"
411                ],
412                [
413                    "EndTag",
414                    "a"
415                ],
416                [
417                    "EndTag",
418                    "label"
419                ],
420                [
421                    "Character",
422                    "  \n"
423                ],
424                [
425                    "EndTag",
426                    "body"
427                ],
428                [
429                    "EndTag",
430                    "html"
431                ]
432            ]
433        },
434        {
435            "description": "<table><center> <font>a</center> <img> <tr><td> </td> </tr> </table>",
436            "input": "<table><center> <font>a</center> <img> <tr><td> </td> </tr> </table>",
437            "output": [
438                [
439                    "StartTag",
440                    "table",
441                    {}
442                ],
443                [
444                    "StartTag",
445                    "center",
446                    {}
447                ],
448                [
449                    "Character",
450                    " "
451                ],
452                [
453                    "StartTag",
454                    "font",
455                    {}
456                ],
457                [
458                    "Character",
459                    "a"
460                ],
461                [
462                    "EndTag",
463                    "center"
464                ],
465                [
466                    "Character",
467                    " "
468                ],
469                [
470                    "StartTag",
471                    "img",
472                    {}
473                ],
474                [
475                    "Character",
476                    " "
477                ],
478                [
479                    "StartTag",
480                    "tr",
481                    {}
482                ],
483                [
484                    "StartTag",
485                    "td",
486                    {}
487                ],
488                [
489                    "Character",
490                    " "
491                ],
492                [
493                    "EndTag",
494                    "td"
495                ],
496                [
497                    "Character",
498                    " "
499                ],
500                [
501                    "EndTag",
502                    "tr"
503                ],
504                [
505                    "Character",
506                    " "
507                ],
508                [
509                    "EndTag",
510                    "table"
511                ]
512            ]
513        },
514        {
515            "description": "<table><tr><p><a><p>You should see this text.",
516            "input": "<table><tr><p><a><p>You should see this text.",
517            "output": [
518                [
519                    "StartTag",
520                    "table",
521                    {}
522                ],
523                [
524                    "StartTag",
525                    "tr",
526                    {}
527                ],
528                [
529                    "StartTag",
530                    "p",
531                    {}
532                ],
533                [
534                    "StartTag",
535                    "a",
536                    {}
537                ],
538                [
539                    "StartTag",
540                    "p",
541                    {}
542                ],
543                [
544                    "Character",
545                    "You should see this text."
546                ]
547            ]
548        },
549        {
550            "description": "<TABLE>\\r\\n<TR>\\r\\n<CENTER><CENTER><TD></TD></TR><TR>\\r\\n<FONT>\\r\\n<TABLE><tr></tr></TABLE>\\r\\n</P>\\r\\n<a></font><font></a>\\r\\nThis page contains an insanely badly-nested tag sequence.",
551            "input": "<TABLE>\r\n<TR>\r\n<CENTER><CENTER><TD></TD></TR><TR>\r\n<FONT>\r\n<TABLE><tr></tr></TABLE>\r\n</P>\r\n<a></font><font></a>\r\nThis page contains an insanely badly-nested tag sequence.",
552            "output": [
553                [
554                    "StartTag",
555                    "table",
556                    {}
557                ],
558                [
559                    "Character",
560                    "\n"
561                ],
562                [
563                    "StartTag",
564                    "tr",
565                    {}
566                ],
567                [
568                    "Character",
569                    "\n"
570                ],
571                [
572                    "StartTag",
573                    "center",
574                    {}
575                ],
576                [
577                    "StartTag",
578                    "center",
579                    {}
580                ],
581                [
582                    "StartTag",
583                    "td",
584                    {}
585                ],
586                [
587                    "EndTag",
588                    "td"
589                ],
590                [
591                    "EndTag",
592                    "tr"
593                ],
594                [
595                    "StartTag",
596                    "tr",
597                    {}
598                ],
599                [
600                    "Character",
601                    "\n"
602                ],
603                [
604                    "StartTag",
605                    "font",
606                    {}
607                ],
608                [
609                    "Character",
610                    "\n"
611                ],
612                [
613                    "StartTag",
614                    "table",
615                    {}
616                ],
617                [
618                    "StartTag",
619                    "tr",
620                    {}
621                ],
622                [
623                    "EndTag",
624                    "tr"
625                ],
626                [
627                    "EndTag",
628                    "table"
629                ],
630                [
631                    "Character",
632                    "\n"
633                ],
634                [
635                    "EndTag",
636                    "p"
637                ],
638                [
639                    "Character",
640                    "\n"
641                ],
642                [
643                    "StartTag",
644                    "a",
645                    {}
646                ],
647                [
648                    "EndTag",
649                    "font"
650                ],
651                [
652                    "StartTag",
653                    "font",
654                    {}
655                ],
656                [
657                    "EndTag",
658                    "a"
659                ],
660                [
661                    "Character",
662                    "\nThis page contains an insanely badly-nested tag sequence."
663                ]
664            ]
665        },
666        {
667            "description": "<html>\\r\\n<body>\\r\\n<b><nobr><div>This text is in a div inside a nobr</nobr>More text that should not be in the nobr, i.e., the\\r\\nnobr should have closed the div inside it implicitly. </b><pre>A pre tag outside everything else.</pre>\\r\\n</body>\\r\\n</html>",
668            "input": "<html>\r\n<body>\r\n<b><nobr><div>This text is in a div inside a nobr</nobr>More text that should not be in the nobr, i.e., the\r\nnobr should have closed the div inside it implicitly. </b><pre>A pre tag outside everything else.</pre>\r\n</body>\r\n</html>",
669            "output": [
670                [
671                    "StartTag",
672                    "html",
673                    {}
674                ],
675                [
676                    "Character",
677                    "\n"
678                ],
679                [
680                    "StartTag",
681                    "body",
682                    {}
683                ],
684                [
685                    "Character",
686                    "\n"
687                ],
688                [
689                    "StartTag",
690                    "b",
691                    {}
692                ],
693                [
694                    "StartTag",
695                    "nobr",
696                    {}
697                ],
698                [
699                    "StartTag",
700                    "div",
701                    {}
702                ],
703                [
704                    "Character",
705                    "This text is in a div inside a nobr"
706                ],
707                [
708                    "EndTag",
709                    "nobr"
710                ],
711                [
712                    "Character",
713                    "More text that should not be in the nobr, i.e., the\nnobr should have closed the div inside it implicitly. "
714                ],
715                [
716                    "EndTag",
717                    "b"
718                ],
719                [
720                    "StartTag",
721                    "pre",
722                    {}
723                ],
724                [
725                    "Character",
726                    "A pre tag outside everything else."
727                ],
728                [
729                    "EndTag",
730                    "pre"
731                ],
732                [
733                    "Character",
734                    "\n"
735                ],
736                [
737                    "EndTag",
738                    "body"
739                ],
740                [
741                    "Character",
742                    "\n"
743                ],
744                [
745                    "EndTag",
746                    "html"
747                ]
748            ]
749        }
750    ]
751}