1{ 2 "tests": [ 3 { 4 "description": "<!DOCTYPE html><svg></svg>", 5 "input": "<!DOCTYPE html><svg></svg>", 6 "output": [ 7 [ 8 "DOCTYPE", 9 "html", 10 null, 11 null, 12 true 13 ], 14 [ 15 "StartTag", 16 "svg", 17 {} 18 ], 19 [ 20 "EndTag", 21 "svg" 22 ] 23 ] 24 }, 25 { 26 "description": "<!DOCTYPE html><svg></svg><![CDATA[a]]>", 27 "input": "<!DOCTYPE html><svg></svg><![CDATA[a]]>", 28 "output": [ 29 [ 30 "DOCTYPE", 31 "html", 32 null, 33 null, 34 true 35 ], 36 [ 37 "StartTag", 38 "svg", 39 {} 40 ], 41 [ 42 "EndTag", 43 "svg" 44 ], 45 [ 46 "Comment", 47 "[CDATA[a]]" 48 ] 49 ] 50 }, 51 { 52 "description": "<!DOCTYPE html><body><svg></svg>", 53 "input": "<!DOCTYPE html><body><svg></svg>", 54 "output": [ 55 [ 56 "DOCTYPE", 57 "html", 58 null, 59 null, 60 true 61 ], 62 [ 63 "StartTag", 64 "body", 65 {} 66 ], 67 [ 68 "StartTag", 69 "svg", 70 {} 71 ], 72 [ 73 "EndTag", 74 "svg" 75 ] 76 ] 77 }, 78 { 79 "description": "<!DOCTYPE html><body><select><svg></svg></select>", 80 "input": "<!DOCTYPE html><body><select><svg></svg></select>", 81 "output": [ 82 [ 83 "DOCTYPE", 84 "html", 85 null, 86 null, 87 true 88 ], 89 [ 90 "StartTag", 91 "body", 92 {} 93 ], 94 [ 95 "StartTag", 96 "select", 97 {} 98 ], 99 [ 100 "StartTag", 101 "svg", 102 {} 103 ], 104 [ 105 "EndTag", 106 "svg" 107 ], 108 [ 109 "EndTag", 110 "select" 111 ] 112 ] 113 }, 114 { 115 "description": "<!DOCTYPE html><body><select><option><svg></svg></option></select>", 116 "input": "<!DOCTYPE html><body><select><option><svg></svg></option></select>", 117 "output": [ 118 [ 119 "DOCTYPE", 120 "html", 121 null, 122 null, 123 true 124 ], 125 [ 126 "StartTag", 127 "body", 128 {} 129 ], 130 [ 131 "StartTag", 132 "select", 133 {} 134 ], 135 [ 136 "StartTag", 137 "option", 138 {} 139 ], 140 [ 141 "StartTag", 142 "svg", 143 {} 144 ], 145 [ 146 "EndTag", 147 "svg" 148 ], 149 [ 150 "EndTag", 151 "option" 152 ], 153 [ 154 "EndTag", 155 "select" 156 ] 157 ] 158 }, 159 { 160 "description": "<!DOCTYPE html><body><table><svg></svg></table>", 161 "input": "<!DOCTYPE html><body><table><svg></svg></table>", 162 "output": [ 163 [ 164 "DOCTYPE", 165 "html", 166 null, 167 null, 168 true 169 ], 170 [ 171 "StartTag", 172 "body", 173 {} 174 ], 175 [ 176 "StartTag", 177 "table", 178 {} 179 ], 180 [ 181 "StartTag", 182 "svg", 183 {} 184 ], 185 [ 186 "EndTag", 187 "svg" 188 ], 189 [ 190 "EndTag", 191 "table" 192 ] 193 ] 194 }, 195 { 196 "description": "<!DOCTYPE html><body><table><svg><g>foo</g></svg></table>", 197 "input": "<!DOCTYPE html><body><table><svg><g>foo</g></svg></table>", 198 "output": [ 199 [ 200 "DOCTYPE", 201 "html", 202 null, 203 null, 204 true 205 ], 206 [ 207 "StartTag", 208 "body", 209 {} 210 ], 211 [ 212 "StartTag", 213 "table", 214 {} 215 ], 216 [ 217 "StartTag", 218 "svg", 219 {} 220 ], 221 [ 222 "StartTag", 223 "g", 224 {} 225 ], 226 [ 227 "Character", 228 "foo" 229 ], 230 [ 231 "EndTag", 232 "g" 233 ], 234 [ 235 "EndTag", 236 "svg" 237 ], 238 [ 239 "EndTag", 240 "table" 241 ] 242 ] 243 }, 244 { 245 "description": "<!DOCTYPE html><body><table><svg><g>foo</g><g>bar</g></svg></table>", 246 "input": "<!DOCTYPE html><body><table><svg><g>foo</g><g>bar</g></svg></table>", 247 "output": [ 248 [ 249 "DOCTYPE", 250 "html", 251 null, 252 null, 253 true 254 ], 255 [ 256 "StartTag", 257 "body", 258 {} 259 ], 260 [ 261 "StartTag", 262 "table", 263 {} 264 ], 265 [ 266 "StartTag", 267 "svg", 268 {} 269 ], 270 [ 271 "StartTag", 272 "g", 273 {} 274 ], 275 [ 276 "Character", 277 "foo" 278 ], 279 [ 280 "EndTag", 281 "g" 282 ], 283 [ 284 "StartTag", 285 "g", 286 {} 287 ], 288 [ 289 "Character", 290 "bar" 291 ], 292 [ 293 "EndTag", 294 "g" 295 ], 296 [ 297 "EndTag", 298 "svg" 299 ], 300 [ 301 "EndTag", 302 "table" 303 ] 304 ] 305 }, 306 { 307 "description": "<!DOCTYPE html><body><table><tbody><svg><g>foo</g><g>bar</g></svg></tbody></table>", 308 "input": "<!DOCTYPE html><body><table><tbody><svg><g>foo</g><g>bar</g></svg></tbody></table>", 309 "output": [ 310 [ 311 "DOCTYPE", 312 "html", 313 null, 314 null, 315 true 316 ], 317 [ 318 "StartTag", 319 "body", 320 {} 321 ], 322 [ 323 "StartTag", 324 "table", 325 {} 326 ], 327 [ 328 "StartTag", 329 "tbody", 330 {} 331 ], 332 [ 333 "StartTag", 334 "svg", 335 {} 336 ], 337 [ 338 "StartTag", 339 "g", 340 {} 341 ], 342 [ 343 "Character", 344 "foo" 345 ], 346 [ 347 "EndTag", 348 "g" 349 ], 350 [ 351 "StartTag", 352 "g", 353 {} 354 ], 355 [ 356 "Character", 357 "bar" 358 ], 359 [ 360 "EndTag", 361 "g" 362 ], 363 [ 364 "EndTag", 365 "svg" 366 ], 367 [ 368 "EndTag", 369 "tbody" 370 ], 371 [ 372 "EndTag", 373 "table" 374 ] 375 ] 376 }, 377 { 378 "description": "<!DOCTYPE html><body><table><tbody><tr><svg><g>foo</g><g>bar</g></svg></tr></tbody></table>", 379 "input": "<!DOCTYPE html><body><table><tbody><tr><svg><g>foo</g><g>bar</g></svg></tr></tbody></table>", 380 "output": [ 381 [ 382 "DOCTYPE", 383 "html", 384 null, 385 null, 386 true 387 ], 388 [ 389 "StartTag", 390 "body", 391 {} 392 ], 393 [ 394 "StartTag", 395 "table", 396 {} 397 ], 398 [ 399 "StartTag", 400 "tbody", 401 {} 402 ], 403 [ 404 "StartTag", 405 "tr", 406 {} 407 ], 408 [ 409 "StartTag", 410 "svg", 411 {} 412 ], 413 [ 414 "StartTag", 415 "g", 416 {} 417 ], 418 [ 419 "Character", 420 "foo" 421 ], 422 [ 423 "EndTag", 424 "g" 425 ], 426 [ 427 "StartTag", 428 "g", 429 {} 430 ], 431 [ 432 "Character", 433 "bar" 434 ], 435 [ 436 "EndTag", 437 "g" 438 ], 439 [ 440 "EndTag", 441 "svg" 442 ], 443 [ 444 "EndTag", 445 "tr" 446 ], 447 [ 448 "EndTag", 449 "tbody" 450 ], 451 [ 452 "EndTag", 453 "table" 454 ] 455 ] 456 }, 457 { 458 "description": "<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg></td></tr></tbody></table>", 459 "input": "<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg></td></tr></tbody></table>", 460 "output": [ 461 [ 462 "DOCTYPE", 463 "html", 464 null, 465 null, 466 true 467 ], 468 [ 469 "StartTag", 470 "body", 471 {} 472 ], 473 [ 474 "StartTag", 475 "table", 476 {} 477 ], 478 [ 479 "StartTag", 480 "tbody", 481 {} 482 ], 483 [ 484 "StartTag", 485 "tr", 486 {} 487 ], 488 [ 489 "StartTag", 490 "td", 491 {} 492 ], 493 [ 494 "StartTag", 495 "svg", 496 {} 497 ], 498 [ 499 "StartTag", 500 "g", 501 {} 502 ], 503 [ 504 "Character", 505 "foo" 506 ], 507 [ 508 "EndTag", 509 "g" 510 ], 511 [ 512 "StartTag", 513 "g", 514 {} 515 ], 516 [ 517 "Character", 518 "bar" 519 ], 520 [ 521 "EndTag", 522 "g" 523 ], 524 [ 525 "EndTag", 526 "svg" 527 ], 528 [ 529 "EndTag", 530 "td" 531 ], 532 [ 533 "EndTag", 534 "tr" 535 ], 536 [ 537 "EndTag", 538 "tbody" 539 ], 540 [ 541 "EndTag", 542 "table" 543 ] 544 ] 545 }, 546 { 547 "description": "<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg><p>baz</td></tr></tbody></table>", 548 "input": "<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg><p>baz</td></tr></tbody></table>", 549 "output": [ 550 [ 551 "DOCTYPE", 552 "html", 553 null, 554 null, 555 true 556 ], 557 [ 558 "StartTag", 559 "body", 560 {} 561 ], 562 [ 563 "StartTag", 564 "table", 565 {} 566 ], 567 [ 568 "StartTag", 569 "tbody", 570 {} 571 ], 572 [ 573 "StartTag", 574 "tr", 575 {} 576 ], 577 [ 578 "StartTag", 579 "td", 580 {} 581 ], 582 [ 583 "StartTag", 584 "svg", 585 {} 586 ], 587 [ 588 "StartTag", 589 "g", 590 {} 591 ], 592 [ 593 "Character", 594 "foo" 595 ], 596 [ 597 "EndTag", 598 "g" 599 ], 600 [ 601 "StartTag", 602 "g", 603 {} 604 ], 605 [ 606 "Character", 607 "bar" 608 ], 609 [ 610 "EndTag", 611 "g" 612 ], 613 [ 614 "EndTag", 615 "svg" 616 ], 617 [ 618 "StartTag", 619 "p", 620 {} 621 ], 622 [ 623 "Character", 624 "baz" 625 ], 626 [ 627 "EndTag", 628 "td" 629 ], 630 [ 631 "EndTag", 632 "tr" 633 ], 634 [ 635 "EndTag", 636 "tbody" 637 ], 638 [ 639 "EndTag", 640 "table" 641 ] 642 ] 643 }, 644 { 645 "description": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g></svg><p>baz</caption></table>", 646 "input": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g></svg><p>baz</caption></table>", 647 "output": [ 648 [ 649 "DOCTYPE", 650 "html", 651 null, 652 null, 653 true 654 ], 655 [ 656 "StartTag", 657 "body", 658 {} 659 ], 660 [ 661 "StartTag", 662 "table", 663 {} 664 ], 665 [ 666 "StartTag", 667 "caption", 668 {} 669 ], 670 [ 671 "StartTag", 672 "svg", 673 {} 674 ], 675 [ 676 "StartTag", 677 "g", 678 {} 679 ], 680 [ 681 "Character", 682 "foo" 683 ], 684 [ 685 "EndTag", 686 "g" 687 ], 688 [ 689 "StartTag", 690 "g", 691 {} 692 ], 693 [ 694 "Character", 695 "bar" 696 ], 697 [ 698 "EndTag", 699 "g" 700 ], 701 [ 702 "EndTag", 703 "svg" 704 ], 705 [ 706 "StartTag", 707 "p", 708 {} 709 ], 710 [ 711 "Character", 712 "baz" 713 ], 714 [ 715 "EndTag", 716 "caption" 717 ], 718 [ 719 "EndTag", 720 "table" 721 ] 722 ] 723 }, 724 { 725 "description": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g><p>baz</table><p>quux", 726 "input": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g><p>baz</table><p>quux", 727 "output": [ 728 [ 729 "DOCTYPE", 730 "html", 731 null, 732 null, 733 true 734 ], 735 [ 736 "StartTag", 737 "body", 738 {} 739 ], 740 [ 741 "StartTag", 742 "table", 743 {} 744 ], 745 [ 746 "StartTag", 747 "caption", 748 {} 749 ], 750 [ 751 "StartTag", 752 "svg", 753 {} 754 ], 755 [ 756 "StartTag", 757 "g", 758 {} 759 ], 760 [ 761 "Character", 762 "foo" 763 ], 764 [ 765 "EndTag", 766 "g" 767 ], 768 [ 769 "StartTag", 770 "g", 771 {} 772 ], 773 [ 774 "Character", 775 "bar" 776 ], 777 [ 778 "EndTag", 779 "g" 780 ], 781 [ 782 "StartTag", 783 "p", 784 {} 785 ], 786 [ 787 "Character", 788 "baz" 789 ], 790 [ 791 "EndTag", 792 "table" 793 ], 794 [ 795 "StartTag", 796 "p", 797 {} 798 ], 799 [ 800 "Character", 801 "quux" 802 ] 803 ] 804 }, 805 { 806 "description": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g>baz</table><p>quux", 807 "input": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g>baz</table><p>quux", 808 "output": [ 809 [ 810 "DOCTYPE", 811 "html", 812 null, 813 null, 814 true 815 ], 816 [ 817 "StartTag", 818 "body", 819 {} 820 ], 821 [ 822 "StartTag", 823 "table", 824 {} 825 ], 826 [ 827 "StartTag", 828 "caption", 829 {} 830 ], 831 [ 832 "StartTag", 833 "svg", 834 {} 835 ], 836 [ 837 "StartTag", 838 "g", 839 {} 840 ], 841 [ 842 "Character", 843 "foo" 844 ], 845 [ 846 "EndTag", 847 "g" 848 ], 849 [ 850 "StartTag", 851 "g", 852 {} 853 ], 854 [ 855 "Character", 856 "bar" 857 ], 858 [ 859 "EndTag", 860 "g" 861 ], 862 [ 863 "Character", 864 "baz" 865 ], 866 [ 867 "EndTag", 868 "table" 869 ], 870 [ 871 "StartTag", 872 "p", 873 {} 874 ], 875 [ 876 "Character", 877 "quux" 878 ] 879 ] 880 }, 881 { 882 "description": "<!DOCTYPE html><body><table><colgroup><svg><g>foo</g><g>bar</g><p>baz</table><p>quux", 883 "input": "<!DOCTYPE html><body><table><colgroup><svg><g>foo</g><g>bar</g><p>baz</table><p>quux", 884 "output": [ 885 [ 886 "DOCTYPE", 887 "html", 888 null, 889 null, 890 true 891 ], 892 [ 893 "StartTag", 894 "body", 895 {} 896 ], 897 [ 898 "StartTag", 899 "table", 900 {} 901 ], 902 [ 903 "StartTag", 904 "colgroup", 905 {} 906 ], 907 [ 908 "StartTag", 909 "svg", 910 {} 911 ], 912 [ 913 "StartTag", 914 "g", 915 {} 916 ], 917 [ 918 "Character", 919 "foo" 920 ], 921 [ 922 "EndTag", 923 "g" 924 ], 925 [ 926 "StartTag", 927 "g", 928 {} 929 ], 930 [ 931 "Character", 932 "bar" 933 ], 934 [ 935 "EndTag", 936 "g" 937 ], 938 [ 939 "StartTag", 940 "p", 941 {} 942 ], 943 [ 944 "Character", 945 "baz" 946 ], 947 [ 948 "EndTag", 949 "table" 950 ], 951 [ 952 "StartTag", 953 "p", 954 {} 955 ], 956 [ 957 "Character", 958 "quux" 959 ] 960 ] 961 }, 962 { 963 "description": "<!DOCTYPE html><body><table><tr><td><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux", 964 "input": "<!DOCTYPE html><body><table><tr><td><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux", 965 "output": [ 966 [ 967 "DOCTYPE", 968 "html", 969 null, 970 null, 971 true 972 ], 973 [ 974 "StartTag", 975 "body", 976 {} 977 ], 978 [ 979 "StartTag", 980 "table", 981 {} 982 ], 983 [ 984 "StartTag", 985 "tr", 986 {} 987 ], 988 [ 989 "StartTag", 990 "td", 991 {} 992 ], 993 [ 994 "StartTag", 995 "select", 996 {} 997 ], 998 [ 999 "StartTag", 1000 "svg", 1001 {} 1002 ], 1003 [ 1004 "StartTag", 1005 "g", 1006 {} 1007 ], 1008 [ 1009 "Character", 1010 "foo" 1011 ], 1012 [ 1013 "EndTag", 1014 "g" 1015 ], 1016 [ 1017 "StartTag", 1018 "g", 1019 {} 1020 ], 1021 [ 1022 "Character", 1023 "bar" 1024 ], 1025 [ 1026 "EndTag", 1027 "g" 1028 ], 1029 [ 1030 "StartTag", 1031 "p", 1032 {} 1033 ], 1034 [ 1035 "Character", 1036 "baz" 1037 ], 1038 [ 1039 "EndTag", 1040 "table" 1041 ], 1042 [ 1043 "StartTag", 1044 "p", 1045 {} 1046 ], 1047 [ 1048 "Character", 1049 "quux" 1050 ] 1051 ] 1052 }, 1053 { 1054 "description": "<!DOCTYPE html><body><table><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux", 1055 "input": "<!DOCTYPE html><body><table><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux", 1056 "output": [ 1057 [ 1058 "DOCTYPE", 1059 "html", 1060 null, 1061 null, 1062 true 1063 ], 1064 [ 1065 "StartTag", 1066 "body", 1067 {} 1068 ], 1069 [ 1070 "StartTag", 1071 "table", 1072 {} 1073 ], 1074 [ 1075 "StartTag", 1076 "select", 1077 {} 1078 ], 1079 [ 1080 "StartTag", 1081 "svg", 1082 {} 1083 ], 1084 [ 1085 "StartTag", 1086 "g", 1087 {} 1088 ], 1089 [ 1090 "Character", 1091 "foo" 1092 ], 1093 [ 1094 "EndTag", 1095 "g" 1096 ], 1097 [ 1098 "StartTag", 1099 "g", 1100 {} 1101 ], 1102 [ 1103 "Character", 1104 "bar" 1105 ], 1106 [ 1107 "EndTag", 1108 "g" 1109 ], 1110 [ 1111 "StartTag", 1112 "p", 1113 {} 1114 ], 1115 [ 1116 "Character", 1117 "baz" 1118 ], 1119 [ 1120 "EndTag", 1121 "table" 1122 ], 1123 [ 1124 "StartTag", 1125 "p", 1126 {} 1127 ], 1128 [ 1129 "Character", 1130 "quux" 1131 ] 1132 ] 1133 }, 1134 { 1135 "description": "<!DOCTYPE html><body></body></html><svg><g>foo</g><g>bar</g><p>baz", 1136 "input": "<!DOCTYPE html><body></body></html><svg><g>foo</g><g>bar</g><p>baz", 1137 "output": [ 1138 [ 1139 "DOCTYPE", 1140 "html", 1141 null, 1142 null, 1143 true 1144 ], 1145 [ 1146 "StartTag", 1147 "body", 1148 {} 1149 ], 1150 [ 1151 "EndTag", 1152 "body" 1153 ], 1154 [ 1155 "EndTag", 1156 "html" 1157 ], 1158 [ 1159 "StartTag", 1160 "svg", 1161 {} 1162 ], 1163 [ 1164 "StartTag", 1165 "g", 1166 {} 1167 ], 1168 [ 1169 "Character", 1170 "foo" 1171 ], 1172 [ 1173 "EndTag", 1174 "g" 1175 ], 1176 [ 1177 "StartTag", 1178 "g", 1179 {} 1180 ], 1181 [ 1182 "Character", 1183 "bar" 1184 ], 1185 [ 1186 "EndTag", 1187 "g" 1188 ], 1189 [ 1190 "StartTag", 1191 "p", 1192 {} 1193 ], 1194 [ 1195 "Character", 1196 "baz" 1197 ] 1198 ] 1199 }, 1200 { 1201 "description": "<!DOCTYPE html><body></body><svg><g>foo</g><g>bar</g><p>baz", 1202 "input": "<!DOCTYPE html><body></body><svg><g>foo</g><g>bar</g><p>baz", 1203 "output": [ 1204 [ 1205 "DOCTYPE", 1206 "html", 1207 null, 1208 null, 1209 true 1210 ], 1211 [ 1212 "StartTag", 1213 "body", 1214 {} 1215 ], 1216 [ 1217 "EndTag", 1218 "body" 1219 ], 1220 [ 1221 "StartTag", 1222 "svg", 1223 {} 1224 ], 1225 [ 1226 "StartTag", 1227 "g", 1228 {} 1229 ], 1230 [ 1231 "Character", 1232 "foo" 1233 ], 1234 [ 1235 "EndTag", 1236 "g" 1237 ], 1238 [ 1239 "StartTag", 1240 "g", 1241 {} 1242 ], 1243 [ 1244 "Character", 1245 "bar" 1246 ], 1247 [ 1248 "EndTag", 1249 "g" 1250 ], 1251 [ 1252 "StartTag", 1253 "p", 1254 {} 1255 ], 1256 [ 1257 "Character", 1258 "baz" 1259 ] 1260 ] 1261 }, 1262 { 1263 "description": "<!DOCTYPE html><frameset><svg><g></g><g></g><p><span>", 1264 "input": "<!DOCTYPE html><frameset><svg><g></g><g></g><p><span>", 1265 "output": [ 1266 [ 1267 "DOCTYPE", 1268 "html", 1269 null, 1270 null, 1271 true 1272 ], 1273 [ 1274 "StartTag", 1275 "frameset", 1276 {} 1277 ], 1278 [ 1279 "StartTag", 1280 "svg", 1281 {} 1282 ], 1283 [ 1284 "StartTag", 1285 "g", 1286 {} 1287 ], 1288 [ 1289 "EndTag", 1290 "g" 1291 ], 1292 [ 1293 "StartTag", 1294 "g", 1295 {} 1296 ], 1297 [ 1298 "EndTag", 1299 "g" 1300 ], 1301 [ 1302 "StartTag", 1303 "p", 1304 {} 1305 ], 1306 [ 1307 "StartTag", 1308 "span", 1309 {} 1310 ] 1311 ] 1312 }, 1313 { 1314 "description": "<!DOCTYPE html><frameset></frameset><svg><g></g><g></g><p><span>", 1315 "input": "<!DOCTYPE html><frameset></frameset><svg><g></g><g></g><p><span>", 1316 "output": [ 1317 [ 1318 "DOCTYPE", 1319 "html", 1320 null, 1321 null, 1322 true 1323 ], 1324 [ 1325 "StartTag", 1326 "frameset", 1327 {} 1328 ], 1329 [ 1330 "EndTag", 1331 "frameset" 1332 ], 1333 [ 1334 "StartTag", 1335 "svg", 1336 {} 1337 ], 1338 [ 1339 "StartTag", 1340 "g", 1341 {} 1342 ], 1343 [ 1344 "EndTag", 1345 "g" 1346 ], 1347 [ 1348 "StartTag", 1349 "g", 1350 {} 1351 ], 1352 [ 1353 "EndTag", 1354 "g" 1355 ], 1356 [ 1357 "StartTag", 1358 "p", 1359 {} 1360 ], 1361 [ 1362 "StartTag", 1363 "span", 1364 {} 1365 ] 1366 ] 1367 }, 1368 { 1369 "description": "<!DOCTYPE html><body xlink:href=foo><svg xlink:href=foo></svg>", 1370 "input": "<!DOCTYPE html><body xlink:href=foo><svg xlink:href=foo></svg>", 1371 "output": [ 1372 [ 1373 "DOCTYPE", 1374 "html", 1375 null, 1376 null, 1377 true 1378 ], 1379 [ 1380 "StartTag", 1381 "body", 1382 { 1383 "xlink:href": "foo" 1384 } 1385 ], 1386 [ 1387 "StartTag", 1388 "svg", 1389 { 1390 "href": "foo" 1391 } 1392 ], 1393 [ 1394 "EndTag", 1395 "svg" 1396 ] 1397 ] 1398 }, 1399 { 1400 "description": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo></g></svg>", 1401 "input": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo></g></svg>", 1402 "output": [ 1403 [ 1404 "DOCTYPE", 1405 "html", 1406 null, 1407 null, 1408 true 1409 ], 1410 [ 1411 "StartTag", 1412 "body", 1413 { 1414 "xlink:href": "foo", 1415 "xml:lang": "en" 1416 } 1417 ], 1418 [ 1419 "StartTag", 1420 "svg", 1421 {} 1422 ], 1423 [ 1424 "StartTag", 1425 "g", 1426 { 1427 "lang": "en", 1428 "href": "foo" 1429 } 1430 ], 1431 [ 1432 "EndTag", 1433 "g" 1434 ], 1435 [ 1436 "EndTag", 1437 "svg" 1438 ] 1439 ] 1440 }, 1441 { 1442 "description": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo /></svg>", 1443 "input": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo /></svg>", 1444 "output": [ 1445 [ 1446 "DOCTYPE", 1447 "html", 1448 null, 1449 null, 1450 true 1451 ], 1452 [ 1453 "StartTag", 1454 "body", 1455 { 1456 "xlink:href": "foo", 1457 "xml:lang": "en" 1458 } 1459 ], 1460 [ 1461 "StartTag", 1462 "svg", 1463 {} 1464 ], 1465 [ 1466 "StartTag", 1467 "g", 1468 { 1469 "lang": "en", 1470 "href": "foo" 1471 }, 1472 true 1473 ], 1474 [ 1475 "EndTag", 1476 "svg" 1477 ] 1478 ] 1479 }, 1480 { 1481 "description": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo />bar</svg>", 1482 "input": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo />bar</svg>", 1483 "output": [ 1484 [ 1485 "DOCTYPE", 1486 "html", 1487 null, 1488 null, 1489 true 1490 ], 1491 [ 1492 "StartTag", 1493 "body", 1494 { 1495 "xlink:href": "foo", 1496 "xml:lang": "en" 1497 } 1498 ], 1499 [ 1500 "StartTag", 1501 "svg", 1502 {} 1503 ], 1504 [ 1505 "StartTag", 1506 "g", 1507 { 1508 "lang": "en", 1509 "href": "foo" 1510 }, 1511 true 1512 ], 1513 [ 1514 "Character", 1515 "bar" 1516 ], 1517 [ 1518 "EndTag", 1519 "svg" 1520 ] 1521 ] 1522 }, 1523 { 1524 "description": "<svg></path>", 1525 "input": "<svg></path>", 1526 "output": [ 1527 [ 1528 "StartTag", 1529 "svg", 1530 {} 1531 ], 1532 [ 1533 "EndTag", 1534 "path" 1535 ] 1536 ] 1537 }, 1538 { 1539 "description": "<div><svg></div>a", 1540 "input": "<div><svg></div>a", 1541 "output": [ 1542 [ 1543 "StartTag", 1544 "div", 1545 {} 1546 ], 1547 [ 1548 "StartTag", 1549 "svg", 1550 {} 1551 ], 1552 [ 1553 "EndTag", 1554 "div" 1555 ], 1556 [ 1557 "Character", 1558 "a" 1559 ] 1560 ] 1561 }, 1562 { 1563 "description": "<div><svg><path></div>a", 1564 "input": "<div><svg><path></div>a", 1565 "output": [ 1566 [ 1567 "StartTag", 1568 "div", 1569 {} 1570 ], 1571 [ 1572 "StartTag", 1573 "svg", 1574 {} 1575 ], 1576 [ 1577 "StartTag", 1578 "path", 1579 {} 1580 ], 1581 [ 1582 "EndTag", 1583 "div" 1584 ], 1585 [ 1586 "Character", 1587 "a" 1588 ] 1589 ] 1590 }, 1591 { 1592 "description": "<div><svg><path></svg><path>", 1593 "input": "<div><svg><path></svg><path>", 1594 "output": [ 1595 [ 1596 "StartTag", 1597 "div", 1598 {} 1599 ], 1600 [ 1601 "StartTag", 1602 "svg", 1603 {} 1604 ], 1605 [ 1606 "StartTag", 1607 "path", 1608 {} 1609 ], 1610 [ 1611 "EndTag", 1612 "svg" 1613 ], 1614 [ 1615 "StartTag", 1616 "path", 1617 {} 1618 ] 1619 ] 1620 }, 1621 { 1622 "description": "<div><svg><path><foreignObject><math></div>a", 1623 "input": "<div><svg><path><foreignObject><math></div>a", 1624 "output": [ 1625 [ 1626 "StartTag", 1627 "div", 1628 {} 1629 ], 1630 [ 1631 "StartTag", 1632 "svg", 1633 {} 1634 ], 1635 [ 1636 "StartTag", 1637 "path", 1638 {} 1639 ], 1640 [ 1641 "StartTag", 1642 "foreignObject", 1643 {} 1644 ], 1645 [ 1646 "StartTag", 1647 "math", 1648 {} 1649 ], 1650 [ 1651 "EndTag", 1652 "div" 1653 ], 1654 [ 1655 "Character", 1656 "a" 1657 ] 1658 ] 1659 }, 1660 { 1661 "description": "<div><svg><path><foreignObject><p></div>a", 1662 "input": "<div><svg><path><foreignObject><p></div>a", 1663 "output": [ 1664 [ 1665 "StartTag", 1666 "div", 1667 {} 1668 ], 1669 [ 1670 "StartTag", 1671 "svg", 1672 {} 1673 ], 1674 [ 1675 "StartTag", 1676 "path", 1677 {} 1678 ], 1679 [ 1680 "StartTag", 1681 "foreignObject", 1682 {} 1683 ], 1684 [ 1685 "StartTag", 1686 "p", 1687 {} 1688 ], 1689 [ 1690 "EndTag", 1691 "div" 1692 ], 1693 [ 1694 "Character", 1695 "a" 1696 ] 1697 ] 1698 }, 1699 { 1700 "description": "<!DOCTYPE html><svg><desc><div><svg><ul>a", 1701 "input": "<!DOCTYPE html><svg><desc><div><svg><ul>a", 1702 "output": [ 1703 [ 1704 "DOCTYPE", 1705 "html", 1706 null, 1707 null, 1708 true 1709 ], 1710 [ 1711 "StartTag", 1712 "svg", 1713 {} 1714 ], 1715 [ 1716 "StartTag", 1717 "desc", 1718 {} 1719 ], 1720 [ 1721 "StartTag", 1722 "div", 1723 {} 1724 ], 1725 [ 1726 "StartTag", 1727 "svg", 1728 {} 1729 ], 1730 [ 1731 "StartTag", 1732 "ul", 1733 {} 1734 ], 1735 [ 1736 "Character", 1737 "a" 1738 ] 1739 ] 1740 }, 1741 { 1742 "description": "<!DOCTYPE html><svg><desc><svg><ul>a", 1743 "input": "<!DOCTYPE html><svg><desc><svg><ul>a", 1744 "output": [ 1745 [ 1746 "DOCTYPE", 1747 "html", 1748 null, 1749 null, 1750 true 1751 ], 1752 [ 1753 "StartTag", 1754 "svg", 1755 {} 1756 ], 1757 [ 1758 "StartTag", 1759 "desc", 1760 {} 1761 ], 1762 [ 1763 "StartTag", 1764 "svg", 1765 {} 1766 ], 1767 [ 1768 "StartTag", 1769 "ul", 1770 {} 1771 ], 1772 [ 1773 "Character", 1774 "a" 1775 ] 1776 ] 1777 }, 1778 { 1779 "description": "<!DOCTYPE html><p><svg><desc><p>", 1780 "input": "<!DOCTYPE html><p><svg><desc><p>", 1781 "output": [ 1782 [ 1783 "DOCTYPE", 1784 "html", 1785 null, 1786 null, 1787 true 1788 ], 1789 [ 1790 "StartTag", 1791 "p", 1792 {} 1793 ], 1794 [ 1795 "StartTag", 1796 "svg", 1797 {} 1798 ], 1799 [ 1800 "StartTag", 1801 "desc", 1802 {} 1803 ], 1804 [ 1805 "StartTag", 1806 "p", 1807 {} 1808 ] 1809 ] 1810 }, 1811 { 1812 "description": "<!DOCTYPE html><p><svg><title><p>", 1813 "input": "<!DOCTYPE html><p><svg><title><p>", 1814 "output": [ 1815 [ 1816 "DOCTYPE", 1817 "html", 1818 null, 1819 null, 1820 true 1821 ], 1822 [ 1823 "StartTag", 1824 "p", 1825 {} 1826 ], 1827 [ 1828 "StartTag", 1829 "svg", 1830 {} 1831 ], 1832 [ 1833 "StartTag", 1834 "title", 1835 {} 1836 ], 1837 [ 1838 "StartTag", 1839 "p", 1840 {} 1841 ] 1842 ] 1843 }, 1844 { 1845 "description": "<div><svg><path><foreignObject><p></foreignObject><p>", 1846 "input": "<div><svg><path><foreignObject><p></foreignObject><p>", 1847 "output": [ 1848 [ 1849 "StartTag", 1850 "div", 1851 {} 1852 ], 1853 [ 1854 "StartTag", 1855 "svg", 1856 {} 1857 ], 1858 [ 1859 "StartTag", 1860 "path", 1861 {} 1862 ], 1863 [ 1864 "StartTag", 1865 "foreignObject", 1866 {} 1867 ], 1868 [ 1869 "StartTag", 1870 "p", 1871 {} 1872 ], 1873 [ 1874 "EndTag", 1875 "foreignobject" 1876 ], 1877 [ 1878 "StartTag", 1879 "p", 1880 {} 1881 ] 1882 ] 1883 }, 1884 { 1885 "description": "<math><mi><div><object><div><span></span></div></object></div></mi><mi>", 1886 "input": "<math><mi><div><object><div><span></span></div></object></div></mi><mi>", 1887 "output": [ 1888 [ 1889 "StartTag", 1890 "math", 1891 {} 1892 ], 1893 [ 1894 "StartTag", 1895 "mi", 1896 {} 1897 ], 1898 [ 1899 "StartTag", 1900 "div", 1901 {} 1902 ], 1903 [ 1904 "StartTag", 1905 "object", 1906 {} 1907 ], 1908 [ 1909 "StartTag", 1910 "div", 1911 {} 1912 ], 1913 [ 1914 "StartTag", 1915 "span", 1916 {} 1917 ], 1918 [ 1919 "EndTag", 1920 "span" 1921 ], 1922 [ 1923 "EndTag", 1924 "div" 1925 ], 1926 [ 1927 "EndTag", 1928 "object" 1929 ], 1930 [ 1931 "EndTag", 1932 "div" 1933 ], 1934 [ 1935 "EndTag", 1936 "mi" 1937 ], 1938 [ 1939 "StartTag", 1940 "mi", 1941 {} 1942 ] 1943 ] 1944 }, 1945 { 1946 "description": "<math><mi><svg><foreignObject><div><div></div></div></foreignObject></svg></mi><mi>", 1947 "input": "<math><mi><svg><foreignObject><div><div></div></div></foreignObject></svg></mi><mi>", 1948 "output": [ 1949 [ 1950 "StartTag", 1951 "math", 1952 {} 1953 ], 1954 [ 1955 "StartTag", 1956 "mi", 1957 {} 1958 ], 1959 [ 1960 "StartTag", 1961 "svg", 1962 {} 1963 ], 1964 [ 1965 "StartTag", 1966 "foreignObject", 1967 {} 1968 ], 1969 [ 1970 "StartTag", 1971 "div", 1972 {} 1973 ], 1974 [ 1975 "StartTag", 1976 "div", 1977 {} 1978 ], 1979 [ 1980 "EndTag", 1981 "div" 1982 ], 1983 [ 1984 "EndTag", 1985 "div" 1986 ], 1987 [ 1988 "EndTag", 1989 "foreignobject" 1990 ], 1991 [ 1992 "EndTag", 1993 "svg" 1994 ], 1995 [ 1996 "EndTag", 1997 "mi" 1998 ], 1999 [ 2000 "StartTag", 2001 "mi", 2002 {} 2003 ] 2004 ] 2005 }, 2006 { 2007 "description": "<svg><script></script><path>", 2008 "input": "<svg><script></script><path>", 2009 "output": [ 2010 [ 2011 "StartTag", 2012 "svg", 2013 {} 2014 ], 2015 [ 2016 "StartTag", 2017 "script", 2018 {} 2019 ], 2020 [ 2021 "EndTag", 2022 "script" 2023 ], 2024 [ 2025 "StartTag", 2026 "path", 2027 {} 2028 ] 2029 ] 2030 }, 2031 { 2032 "description": "<table><svg></svg><tr>", 2033 "input": "<table><svg></svg><tr>", 2034 "output": [ 2035 [ 2036 "StartTag", 2037 "table", 2038 {} 2039 ], 2040 [ 2041 "StartTag", 2042 "svg", 2043 {} 2044 ], 2045 [ 2046 "EndTag", 2047 "svg" 2048 ], 2049 [ 2050 "StartTag", 2051 "tr", 2052 {} 2053 ] 2054 ] 2055 }, 2056 { 2057 "description": "<math><mi><mglyph>", 2058 "input": "<math><mi><mglyph>", 2059 "output": [ 2060 [ 2061 "StartTag", 2062 "math", 2063 {} 2064 ], 2065 [ 2066 "StartTag", 2067 "mi", 2068 {} 2069 ], 2070 [ 2071 "StartTag", 2072 "mglyph", 2073 {} 2074 ] 2075 ] 2076 }, 2077 { 2078 "description": "<math><mi><malignmark>", 2079 "input": "<math><mi><malignmark>", 2080 "output": [ 2081 [ 2082 "StartTag", 2083 "math", 2084 {} 2085 ], 2086 [ 2087 "StartTag", 2088 "mi", 2089 {} 2090 ], 2091 [ 2092 "StartTag", 2093 "malignmark", 2094 {} 2095 ] 2096 ] 2097 }, 2098 { 2099 "description": "<math><mo><mglyph>", 2100 "input": "<math><mo><mglyph>", 2101 "output": [ 2102 [ 2103 "StartTag", 2104 "math", 2105 {} 2106 ], 2107 [ 2108 "StartTag", 2109 "mo", 2110 {} 2111 ], 2112 [ 2113 "StartTag", 2114 "mglyph", 2115 {} 2116 ] 2117 ] 2118 }, 2119 { 2120 "description": "<math><mo><malignmark>", 2121 "input": "<math><mo><malignmark>", 2122 "output": [ 2123 [ 2124 "StartTag", 2125 "math", 2126 {} 2127 ], 2128 [ 2129 "StartTag", 2130 "mo", 2131 {} 2132 ], 2133 [ 2134 "StartTag", 2135 "malignmark", 2136 {} 2137 ] 2138 ] 2139 }, 2140 { 2141 "description": "<math><mn><mglyph>", 2142 "input": "<math><mn><mglyph>", 2143 "output": [ 2144 [ 2145 "StartTag", 2146 "math", 2147 {} 2148 ], 2149 [ 2150 "StartTag", 2151 "mn", 2152 {} 2153 ], 2154 [ 2155 "StartTag", 2156 "mglyph", 2157 {} 2158 ] 2159 ] 2160 }, 2161 { 2162 "description": "<math><mn><malignmark>", 2163 "input": "<math><mn><malignmark>", 2164 "output": [ 2165 [ 2166 "StartTag", 2167 "math", 2168 {} 2169 ], 2170 [ 2171 "StartTag", 2172 "mn", 2173 {} 2174 ], 2175 [ 2176 "StartTag", 2177 "malignmark", 2178 {} 2179 ] 2180 ] 2181 }, 2182 { 2183 "description": "<math><ms><mglyph>", 2184 "input": "<math><ms><mglyph>", 2185 "output": [ 2186 [ 2187 "StartTag", 2188 "math", 2189 {} 2190 ], 2191 [ 2192 "StartTag", 2193 "ms", 2194 {} 2195 ], 2196 [ 2197 "StartTag", 2198 "mglyph", 2199 {} 2200 ] 2201 ] 2202 }, 2203 { 2204 "description": "<math><ms><malignmark>", 2205 "input": "<math><ms><malignmark>", 2206 "output": [ 2207 [ 2208 "StartTag", 2209 "math", 2210 {} 2211 ], 2212 [ 2213 "StartTag", 2214 "ms", 2215 {} 2216 ], 2217 [ 2218 "StartTag", 2219 "malignmark", 2220 {} 2221 ] 2222 ] 2223 }, 2224 { 2225 "description": "<math><mtext><mglyph>", 2226 "input": "<math><mtext><mglyph>", 2227 "output": [ 2228 [ 2229 "StartTag", 2230 "math", 2231 {} 2232 ], 2233 [ 2234 "StartTag", 2235 "mtext", 2236 {} 2237 ], 2238 [ 2239 "StartTag", 2240 "mglyph", 2241 {} 2242 ] 2243 ] 2244 }, 2245 { 2246 "description": "<math><mtext><malignmark>", 2247 "input": "<math><mtext><malignmark>", 2248 "output": [ 2249 [ 2250 "StartTag", 2251 "math", 2252 {} 2253 ], 2254 [ 2255 "StartTag", 2256 "mtext", 2257 {} 2258 ], 2259 [ 2260 "StartTag", 2261 "malignmark", 2262 {} 2263 ] 2264 ] 2265 }, 2266 { 2267 "description": "<math><annotation-xml><svg></svg></annotation-xml><mi>", 2268 "input": "<math><annotation-xml><svg></svg></annotation-xml><mi>", 2269 "output": [ 2270 [ 2271 "StartTag", 2272 "math", 2273 {} 2274 ], 2275 [ 2276 "StartTag", 2277 "annotation-xml", 2278 {} 2279 ], 2280 [ 2281 "StartTag", 2282 "svg", 2283 {} 2284 ], 2285 [ 2286 "EndTag", 2287 "svg" 2288 ], 2289 [ 2290 "EndTag", 2291 "annotation-xml" 2292 ], 2293 [ 2294 "StartTag", 2295 "mi", 2296 {} 2297 ] 2298 ] 2299 }, 2300 { 2301 "description": "<math><annotation-xml><svg><foreignObject><div><math><mi></mi></math><span></span></div></foreignObject><path></path></svg></annotation-xml><mi>", 2302 "input": "<math><annotation-xml><svg><foreignObject><div><math><mi></mi></math><span></span></div></foreignObject><path></path></svg></annotation-xml><mi>", 2303 "output": [ 2304 [ 2305 "StartTag", 2306 "math", 2307 {} 2308 ], 2309 [ 2310 "StartTag", 2311 "annotation-xml", 2312 {} 2313 ], 2314 [ 2315 "StartTag", 2316 "svg", 2317 {} 2318 ], 2319 [ 2320 "StartTag", 2321 "foreignObject", 2322 {} 2323 ], 2324 [ 2325 "StartTag", 2326 "div", 2327 {} 2328 ], 2329 [ 2330 "StartTag", 2331 "math", 2332 {} 2333 ], 2334 [ 2335 "StartTag", 2336 "mi", 2337 {} 2338 ], 2339 [ 2340 "EndTag", 2341 "mi" 2342 ], 2343 [ 2344 "EndTag", 2345 "math" 2346 ], 2347 [ 2348 "StartTag", 2349 "span", 2350 {} 2351 ], 2352 [ 2353 "EndTag", 2354 "span" 2355 ], 2356 [ 2357 "EndTag", 2358 "div" 2359 ], 2360 [ 2361 "EndTag", 2362 "foreignobject" 2363 ], 2364 [ 2365 "StartTag", 2366 "path", 2367 {} 2368 ], 2369 [ 2370 "EndTag", 2371 "path" 2372 ], 2373 [ 2374 "EndTag", 2375 "svg" 2376 ], 2377 [ 2378 "EndTag", 2379 "annotation-xml" 2380 ], 2381 [ 2382 "StartTag", 2383 "mi", 2384 {} 2385 ] 2386 ] 2387 }, 2388 { 2389 "description": "<math><annotation-xml><svg><foreignObject><math><mi><svg></svg></mi><mo></mo></math><span></span></foreignObject><path></path></svg></annotation-xml><mi>", 2390 "input": "<math><annotation-xml><svg><foreignObject><math><mi><svg></svg></mi><mo></mo></math><span></span></foreignObject><path></path></svg></annotation-xml><mi>", 2391 "output": [ 2392 [ 2393 "StartTag", 2394 "math", 2395 {} 2396 ], 2397 [ 2398 "StartTag", 2399 "annotation-xml", 2400 {} 2401 ], 2402 [ 2403 "StartTag", 2404 "svg", 2405 {} 2406 ], 2407 [ 2408 "StartTag", 2409 "foreignObject", 2410 {} 2411 ], 2412 [ 2413 "StartTag", 2414 "math", 2415 {} 2416 ], 2417 [ 2418 "StartTag", 2419 "mi", 2420 {} 2421 ], 2422 [ 2423 "StartTag", 2424 "svg", 2425 {} 2426 ], 2427 [ 2428 "EndTag", 2429 "svg" 2430 ], 2431 [ 2432 "EndTag", 2433 "mi" 2434 ], 2435 [ 2436 "StartTag", 2437 "mo", 2438 {} 2439 ], 2440 [ 2441 "EndTag", 2442 "mo" 2443 ], 2444 [ 2445 "EndTag", 2446 "math" 2447 ], 2448 [ 2449 "StartTag", 2450 "span", 2451 {} 2452 ], 2453 [ 2454 "EndTag", 2455 "span" 2456 ], 2457 [ 2458 "EndTag", 2459 "foreignobject" 2460 ], 2461 [ 2462 "StartTag", 2463 "path", 2464 {} 2465 ], 2466 [ 2467 "EndTag", 2468 "path" 2469 ], 2470 [ 2471 "EndTag", 2472 "svg" 2473 ], 2474 [ 2475 "EndTag", 2476 "annotation-xml" 2477 ], 2478 [ 2479 "StartTag", 2480 "mi", 2481 {} 2482 ] 2483 ] 2484 } 2485 ] 2486}