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": "<", 354 "input": "<", 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}