1{ 2 "tests": [ 3 { 4 "fragmentContext": "path", 5 "description": "<nobr>X", 6 "input": "<nobr>X", 7 "output": [ 8 [ 9 "StartTag", 10 "nobr", 11 {} 12 ], 13 [ 14 "Character", 15 "X" 16 ] 17 ] 18 }, 19 { 20 "fragmentContext": "path", 21 "description": "<font color></font>X", 22 "input": "<font color></font>X", 23 "output": [ 24 [ 25 "StartTag", 26 "font", 27 { 28 "color": "" 29 } 30 ], 31 [ 32 "EndTag", 33 "font" 34 ], 35 [ 36 "Character", 37 "X" 38 ] 39 ] 40 }, 41 { 42 "fragmentContext": "path", 43 "description": "<font></font>X", 44 "input": "<font></font>X", 45 "output": [ 46 [ 47 "StartTag", 48 "font", 49 {} 50 ], 51 [ 52 "EndTag", 53 "font" 54 ], 55 [ 56 "Character", 57 "X" 58 ] 59 ] 60 }, 61 { 62 "fragmentContext": "path", 63 "description": "<g></path>X", 64 "input": "<g></path>X", 65 "output": [ 66 [ 67 "StartTag", 68 "g", 69 {} 70 ], 71 [ 72 "EndTag", 73 "path" 74 ], 75 [ 76 "Character", 77 "X" 78 ] 79 ] 80 }, 81 { 82 "fragmentContext": "path", 83 "description": "</path>X", 84 "input": "</path>X", 85 "output": [ 86 [ 87 "EndTag", 88 "path" 89 ], 90 [ 91 "Character", 92 "X" 93 ] 94 ] 95 }, 96 { 97 "fragmentContext": "foreignObject", 98 "description": "</foreignObject>X", 99 "input": "</foreignObject>X", 100 "output": [ 101 [ 102 "EndTag", 103 "foreignobject" 104 ], 105 [ 106 "Character", 107 "X" 108 ] 109 ] 110 }, 111 { 112 "fragmentContext": "desc", 113 "description": "</desc>X", 114 "input": "</desc>X", 115 "output": [ 116 [ 117 "EndTag", 118 "desc" 119 ], 120 [ 121 "Character", 122 "X" 123 ] 124 ] 125 }, 126 { 127 "fragmentContext": "title", 128 "description": "</title>X", 129 "input": "</title>X", 130 "output": [ 131 [ 132 "EndTag", 133 "title" 134 ], 135 [ 136 "Character", 137 "X" 138 ] 139 ] 140 }, 141 { 142 "fragmentContext": "svg", 143 "description": "</svg>X", 144 "input": "</svg>X", 145 "output": [ 146 [ 147 "EndTag", 148 "svg" 149 ], 150 [ 151 "Character", 152 "X" 153 ] 154 ] 155 }, 156 { 157 "fragmentContext": "mfenced", 158 "description": "</mfenced>X", 159 "input": "</mfenced>X", 160 "output": [ 161 [ 162 "EndTag", 163 "mfenced" 164 ], 165 [ 166 "Character", 167 "X" 168 ] 169 ] 170 }, 171 { 172 "fragmentContext": "malignmark", 173 "description": "</malignmark>X", 174 "input": "</malignmark>X", 175 "output": [ 176 [ 177 "EndTag", 178 "malignmark" 179 ], 180 [ 181 "Character", 182 "X" 183 ] 184 ] 185 }, 186 { 187 "fragmentContext": "math", 188 "description": "</math>X", 189 "input": "</math>X", 190 "output": [ 191 [ 192 "EndTag", 193 "math" 194 ], 195 [ 196 "Character", 197 "X" 198 ] 199 ] 200 }, 201 { 202 "fragmentContext": "annotation-xml", 203 "description": "</annotation-xml>X", 204 "input": "</annotation-xml>X", 205 "output": [ 206 [ 207 "EndTag", 208 "annotation-xml" 209 ], 210 [ 211 "Character", 212 "X" 213 ] 214 ] 215 }, 216 { 217 "fragmentContext": "mtext", 218 "description": "</mtext>X", 219 "input": "</mtext>X", 220 "output": [ 221 [ 222 "EndTag", 223 "mtext" 224 ], 225 [ 226 "Character", 227 "X" 228 ] 229 ] 230 }, 231 { 232 "fragmentContext": "mi", 233 "description": "</mi>X", 234 "input": "</mi>X", 235 "output": [ 236 [ 237 "EndTag", 238 "mi" 239 ], 240 [ 241 "Character", 242 "X" 243 ] 244 ] 245 }, 246 { 247 "fragmentContext": "mo", 248 "description": "</mo>X", 249 "input": "</mo>X", 250 "output": [ 251 [ 252 "EndTag", 253 "mo" 254 ], 255 [ 256 "Character", 257 "X" 258 ] 259 ] 260 }, 261 { 262 "fragmentContext": "mn", 263 "description": "</mn>X", 264 "input": "</mn>X", 265 "output": [ 266 [ 267 "EndTag", 268 "mn" 269 ], 270 [ 271 "Character", 272 "X" 273 ] 274 ] 275 }, 276 { 277 "fragmentContext": "ms", 278 "description": "</ms>X", 279 "input": "</ms>X", 280 "output": [ 281 [ 282 "EndTag", 283 "ms" 284 ], 285 [ 286 "Character", 287 "X" 288 ] 289 ] 290 }, 291 { 292 "fragmentContext": "ms", 293 "description": "<b></b><mglyph/><i></i><malignmark/><u></u><ms/>X", 294 "input": "<b></b><mglyph/><i></i><malignmark/><u></u><ms/>X", 295 "output": [ 296 [ 297 "StartTag", 298 "b", 299 {} 300 ], 301 [ 302 "EndTag", 303 "b" 304 ], 305 [ 306 "StartTag", 307 "mglyph", 308 {}, 309 true 310 ], 311 [ 312 "StartTag", 313 "i", 314 {} 315 ], 316 [ 317 "EndTag", 318 "i" 319 ], 320 [ 321 "StartTag", 322 "malignmark", 323 {}, 324 true 325 ], 326 [ 327 "StartTag", 328 "u", 329 {} 330 ], 331 [ 332 "EndTag", 333 "u" 334 ], 335 [ 336 "StartTag", 337 "ms", 338 {}, 339 true 340 ], 341 [ 342 "Character", 343 "X" 344 ] 345 ] 346 }, 347 { 348 "fragmentContext": "ms", 349 "description": "<malignmark></malignmark>", 350 "input": "<malignmark></malignmark>", 351 "output": [ 352 [ 353 "StartTag", 354 "malignmark", 355 {} 356 ], 357 [ 358 "EndTag", 359 "malignmark" 360 ] 361 ] 362 }, 363 { 364 "fragmentContext": "ms", 365 "description": "<div></div>", 366 "input": "<div></div>", 367 "output": [ 368 [ 369 "StartTag", 370 "div", 371 {} 372 ], 373 [ 374 "EndTag", 375 "div" 376 ] 377 ] 378 }, 379 { 380 "fragmentContext": "ms", 381 "description": "<figure></figure>", 382 "input": "<figure></figure>", 383 "output": [ 384 [ 385 "StartTag", 386 "figure", 387 {} 388 ], 389 [ 390 "EndTag", 391 "figure" 392 ] 393 ] 394 }, 395 { 396 "fragmentContext": "mn", 397 "description": "<b></b><mglyph/><i></i><malignmark/><u></u><mn/>X", 398 "input": "<b></b><mglyph/><i></i><malignmark/><u></u><mn/>X", 399 "output": [ 400 [ 401 "StartTag", 402 "b", 403 {} 404 ], 405 [ 406 "EndTag", 407 "b" 408 ], 409 [ 410 "StartTag", 411 "mglyph", 412 {}, 413 true 414 ], 415 [ 416 "StartTag", 417 "i", 418 {} 419 ], 420 [ 421 "EndTag", 422 "i" 423 ], 424 [ 425 "StartTag", 426 "malignmark", 427 {}, 428 true 429 ], 430 [ 431 "StartTag", 432 "u", 433 {} 434 ], 435 [ 436 "EndTag", 437 "u" 438 ], 439 [ 440 "StartTag", 441 "mn", 442 {}, 443 true 444 ], 445 [ 446 "Character", 447 "X" 448 ] 449 ] 450 }, 451 { 452 "fragmentContext": "mn", 453 "description": "<malignmark></malignmark>", 454 "input": "<malignmark></malignmark>", 455 "output": [ 456 [ 457 "StartTag", 458 "malignmark", 459 {} 460 ], 461 [ 462 "EndTag", 463 "malignmark" 464 ] 465 ] 466 }, 467 { 468 "fragmentContext": "mn", 469 "description": "<div></div>", 470 "input": "<div></div>", 471 "output": [ 472 [ 473 "StartTag", 474 "div", 475 {} 476 ], 477 [ 478 "EndTag", 479 "div" 480 ] 481 ] 482 }, 483 { 484 "fragmentContext": "mn", 485 "description": "<figure></figure>", 486 "input": "<figure></figure>", 487 "output": [ 488 [ 489 "StartTag", 490 "figure", 491 {} 492 ], 493 [ 494 "EndTag", 495 "figure" 496 ] 497 ] 498 }, 499 { 500 "fragmentContext": "mo", 501 "description": "<b></b><mglyph/><i></i><malignmark/><u></u><mo/>X", 502 "input": "<b></b><mglyph/><i></i><malignmark/><u></u><mo/>X", 503 "output": [ 504 [ 505 "StartTag", 506 "b", 507 {} 508 ], 509 [ 510 "EndTag", 511 "b" 512 ], 513 [ 514 "StartTag", 515 "mglyph", 516 {}, 517 true 518 ], 519 [ 520 "StartTag", 521 "i", 522 {} 523 ], 524 [ 525 "EndTag", 526 "i" 527 ], 528 [ 529 "StartTag", 530 "malignmark", 531 {}, 532 true 533 ], 534 [ 535 "StartTag", 536 "u", 537 {} 538 ], 539 [ 540 "EndTag", 541 "u" 542 ], 543 [ 544 "StartTag", 545 "mo", 546 {}, 547 true 548 ], 549 [ 550 "Character", 551 "X" 552 ] 553 ] 554 }, 555 { 556 "fragmentContext": "mo", 557 "description": "<malignmark></malignmark>", 558 "input": "<malignmark></malignmark>", 559 "output": [ 560 [ 561 "StartTag", 562 "malignmark", 563 {} 564 ], 565 [ 566 "EndTag", 567 "malignmark" 568 ] 569 ] 570 }, 571 { 572 "fragmentContext": "mo", 573 "description": "<div></div>", 574 "input": "<div></div>", 575 "output": [ 576 [ 577 "StartTag", 578 "div", 579 {} 580 ], 581 [ 582 "EndTag", 583 "div" 584 ] 585 ] 586 }, 587 { 588 "fragmentContext": "mo", 589 "description": "<figure></figure>", 590 "input": "<figure></figure>", 591 "output": [ 592 [ 593 "StartTag", 594 "figure", 595 {} 596 ], 597 [ 598 "EndTag", 599 "figure" 600 ] 601 ] 602 }, 603 { 604 "fragmentContext": "mi", 605 "description": "<b></b><mglyph/><i></i><malignmark/><u></u><mi/>X", 606 "input": "<b></b><mglyph/><i></i><malignmark/><u></u><mi/>X", 607 "output": [ 608 [ 609 "StartTag", 610 "b", 611 {} 612 ], 613 [ 614 "EndTag", 615 "b" 616 ], 617 [ 618 "StartTag", 619 "mglyph", 620 {}, 621 true 622 ], 623 [ 624 "StartTag", 625 "i", 626 {} 627 ], 628 [ 629 "EndTag", 630 "i" 631 ], 632 [ 633 "StartTag", 634 "malignmark", 635 {}, 636 true 637 ], 638 [ 639 "StartTag", 640 "u", 641 {} 642 ], 643 [ 644 "EndTag", 645 "u" 646 ], 647 [ 648 "StartTag", 649 "mi", 650 {}, 651 true 652 ], 653 [ 654 "Character", 655 "X" 656 ] 657 ] 658 }, 659 { 660 "fragmentContext": "mi", 661 "description": "<malignmark></malignmark>", 662 "input": "<malignmark></malignmark>", 663 "output": [ 664 [ 665 "StartTag", 666 "malignmark", 667 {} 668 ], 669 [ 670 "EndTag", 671 "malignmark" 672 ] 673 ] 674 }, 675 { 676 "fragmentContext": "mi", 677 "description": "<div></div>", 678 "input": "<div></div>", 679 "output": [ 680 [ 681 "StartTag", 682 "div", 683 {} 684 ], 685 [ 686 "EndTag", 687 "div" 688 ] 689 ] 690 }, 691 { 692 "fragmentContext": "mi", 693 "description": "<figure></figure>", 694 "input": "<figure></figure>", 695 "output": [ 696 [ 697 "StartTag", 698 "figure", 699 {} 700 ], 701 [ 702 "EndTag", 703 "figure" 704 ] 705 ] 706 }, 707 { 708 "fragmentContext": "mtext", 709 "description": "<b></b><mglyph/><i></i><malignmark/><u></u><mtext/>X", 710 "input": "<b></b><mglyph/><i></i><malignmark/><u></u><mtext/>X", 711 "output": [ 712 [ 713 "StartTag", 714 "b", 715 {} 716 ], 717 [ 718 "EndTag", 719 "b" 720 ], 721 [ 722 "StartTag", 723 "mglyph", 724 {}, 725 true 726 ], 727 [ 728 "StartTag", 729 "i", 730 {} 731 ], 732 [ 733 "EndTag", 734 "i" 735 ], 736 [ 737 "StartTag", 738 "malignmark", 739 {}, 740 true 741 ], 742 [ 743 "StartTag", 744 "u", 745 {} 746 ], 747 [ 748 "EndTag", 749 "u" 750 ], 751 [ 752 "StartTag", 753 "mtext", 754 {}, 755 true 756 ], 757 [ 758 "Character", 759 "X" 760 ] 761 ] 762 }, 763 { 764 "fragmentContext": "mtext", 765 "description": "<malignmark></malignmark>", 766 "input": "<malignmark></malignmark>", 767 "output": [ 768 [ 769 "StartTag", 770 "malignmark", 771 {} 772 ], 773 [ 774 "EndTag", 775 "malignmark" 776 ] 777 ] 778 }, 779 { 780 "fragmentContext": "mtext", 781 "description": "<div></div>", 782 "input": "<div></div>", 783 "output": [ 784 [ 785 "StartTag", 786 "div", 787 {} 788 ], 789 [ 790 "EndTag", 791 "div" 792 ] 793 ] 794 }, 795 { 796 "fragmentContext": "mtext", 797 "description": "<figure></figure>", 798 "input": "<figure></figure>", 799 "output": [ 800 [ 801 "StartTag", 802 "figure", 803 {} 804 ], 805 [ 806 "EndTag", 807 "figure" 808 ] 809 ] 810 }, 811 { 812 "fragmentContext": "annotation-xml", 813 "description": "<div></div>", 814 "input": "<div></div>", 815 "output": [ 816 [ 817 "StartTag", 818 "div", 819 {} 820 ], 821 [ 822 "EndTag", 823 "div" 824 ] 825 ] 826 }, 827 { 828 "fragmentContext": "annotation-xml", 829 "description": "<figure></figure>", 830 "input": "<figure></figure>", 831 "output": [ 832 [ 833 "StartTag", 834 "figure", 835 {} 836 ], 837 [ 838 "EndTag", 839 "figure" 840 ] 841 ] 842 }, 843 { 844 "fragmentContext": "math", 845 "description": "<div></div>", 846 "input": "<div></div>", 847 "output": [ 848 [ 849 "StartTag", 850 "div", 851 {} 852 ], 853 [ 854 "EndTag", 855 "div" 856 ] 857 ] 858 }, 859 { 860 "fragmentContext": "math", 861 "description": "<figure></figure>", 862 "input": "<figure></figure>", 863 "output": [ 864 [ 865 "StartTag", 866 "figure", 867 {} 868 ], 869 [ 870 "EndTag", 871 "figure" 872 ] 873 ] 874 }, 875 { 876 "fragmentContext": "foreignObject", 877 "description": "<div></div>", 878 "input": "<div></div>", 879 "output": [ 880 [ 881 "StartTag", 882 "div", 883 {} 884 ], 885 [ 886 "EndTag", 887 "div" 888 ] 889 ] 890 }, 891 { 892 "fragmentContext": "foreignObject", 893 "description": "<figure></figure>", 894 "input": "<figure></figure>", 895 "output": [ 896 [ 897 "StartTag", 898 "figure", 899 {} 900 ], 901 [ 902 "EndTag", 903 "figure" 904 ] 905 ] 906 }, 907 { 908 "fragmentContext": "title", 909 "description": "<div></div>", 910 "input": "<div></div>", 911 "output": [ 912 [ 913 "StartTag", 914 "div", 915 {} 916 ], 917 [ 918 "EndTag", 919 "div" 920 ] 921 ] 922 }, 923 { 924 "fragmentContext": "title", 925 "description": "<figure></figure>", 926 "input": "<figure></figure>", 927 "output": [ 928 [ 929 "StartTag", 930 "figure", 931 {} 932 ], 933 [ 934 "EndTag", 935 "figure" 936 ] 937 ] 938 }, 939 { 940 "fragmentContext": "desc", 941 "description": "<figure></figure>", 942 "input": "<figure></figure>", 943 "output": [ 944 [ 945 "StartTag", 946 "figure", 947 {} 948 ], 949 [ 950 "EndTag", 951 "figure" 952 ] 953 ] 954 }, 955 { 956 "fragmentContext": "svg", 957 "description": "<div><h1>X</h1></div>", 958 "input": "<div><h1>X</h1></div>", 959 "output": [ 960 [ 961 "StartTag", 962 "div", 963 {} 964 ], 965 [ 966 "StartTag", 967 "h1", 968 {} 969 ], 970 [ 971 "Character", 972 "X" 973 ], 974 [ 975 "EndTag", 976 "h1" 977 ], 978 [ 979 "EndTag", 980 "div" 981 ] 982 ] 983 }, 984 { 985 "fragmentContext": "svg", 986 "description": "<div></div>", 987 "input": "<div></div>", 988 "output": [ 989 [ 990 "StartTag", 991 "div", 992 {} 993 ], 994 [ 995 "EndTag", 996 "div" 997 ] 998 ] 999 }, 1000 { 1001 "fragmentContext": "desc", 1002 "description": "<div></div>", 1003 "input": "<div></div>", 1004 "output": [ 1005 [ 1006 "StartTag", 1007 "div", 1008 {} 1009 ], 1010 [ 1011 "EndTag", 1012 "div" 1013 ] 1014 ] 1015 }, 1016 { 1017 "fragmentContext": "desc", 1018 "description": "<figure></figure>", 1019 "input": "<figure></figure>", 1020 "output": [ 1021 [ 1022 "StartTag", 1023 "figure", 1024 {} 1025 ], 1026 [ 1027 "EndTag", 1028 "figure" 1029 ] 1030 ] 1031 }, 1032 { 1033 "fragmentContext": "desc", 1034 "description": "<plaintext><foo>", 1035 "input": "<plaintext><foo>", 1036 "output": [ 1037 [ 1038 "StartTag", 1039 "plaintext", 1040 {} 1041 ], 1042 [ 1043 "Character", 1044 "<foo>" 1045 ] 1046 ] 1047 }, 1048 { 1049 "fragmentContext": "desc", 1050 "description": "<frameset>X", 1051 "input": "<frameset>X", 1052 "output": [ 1053 [ 1054 "StartTag", 1055 "frameset", 1056 {} 1057 ], 1058 [ 1059 "Character", 1060 "X" 1061 ] 1062 ] 1063 }, 1064 { 1065 "fragmentContext": "desc", 1066 "description": "<head>X", 1067 "input": "<head>X", 1068 "output": [ 1069 [ 1070 "StartTag", 1071 "head", 1072 {} 1073 ], 1074 [ 1075 "Character", 1076 "X" 1077 ] 1078 ] 1079 }, 1080 { 1081 "fragmentContext": "desc", 1082 "description": "<body>X", 1083 "input": "<body>X", 1084 "output": [ 1085 [ 1086 "StartTag", 1087 "body", 1088 {} 1089 ], 1090 [ 1091 "Character", 1092 "X" 1093 ] 1094 ] 1095 }, 1096 { 1097 "fragmentContext": "desc", 1098 "description": "<html>X", 1099 "input": "<html>X", 1100 "output": [ 1101 [ 1102 "StartTag", 1103 "html", 1104 {} 1105 ], 1106 [ 1107 "Character", 1108 "X" 1109 ] 1110 ] 1111 }, 1112 { 1113 "fragmentContext": "desc", 1114 "description": "<html class=\"foo\">X", 1115 "input": "<html class=\"foo\">X", 1116 "output": [ 1117 [ 1118 "StartTag", 1119 "html", 1120 { 1121 "class": "foo" 1122 } 1123 ], 1124 [ 1125 "Character", 1126 "X" 1127 ] 1128 ] 1129 }, 1130 { 1131 "fragmentContext": "desc", 1132 "description": "<body class=\"foo\">X", 1133 "input": "<body class=\"foo\">X", 1134 "output": [ 1135 [ 1136 "StartTag", 1137 "body", 1138 { 1139 "class": "foo" 1140 } 1141 ], 1142 [ 1143 "Character", 1144 "X" 1145 ] 1146 ] 1147 }, 1148 { 1149 "fragmentContext": "div", 1150 "description": "<svg><p>", 1151 "input": "<svg><p>", 1152 "output": [ 1153 [ 1154 "StartTag", 1155 "svg", 1156 {} 1157 ], 1158 [ 1159 "StartTag", 1160 "p", 1161 {} 1162 ] 1163 ] 1164 }, 1165 { 1166 "fragmentContext": "svg", 1167 "description": "<p>", 1168 "input": "<p>", 1169 "output": [ 1170 [ 1171 "StartTag", 1172 "p", 1173 {} 1174 ] 1175 ] 1176 }, 1177 { 1178 "fragmentContext": "div", 1179 "description": "<svg></p><foo>", 1180 "input": "<svg></p><foo>", 1181 "output": [ 1182 [ 1183 "StartTag", 1184 "svg", 1185 {} 1186 ], 1187 [ 1188 "EndTag", 1189 "p" 1190 ], 1191 [ 1192 "StartTag", 1193 "foo", 1194 {} 1195 ] 1196 ] 1197 }, 1198 { 1199 "fragmentContext": "div", 1200 "description": "<svg></br><foo>", 1201 "input": "<svg></br><foo>", 1202 "output": [ 1203 [ 1204 "StartTag", 1205 "svg", 1206 {} 1207 ], 1208 [ 1209 "EndTag", 1210 "br" 1211 ], 1212 [ 1213 "StartTag", 1214 "foo", 1215 {} 1216 ] 1217 ] 1218 }, 1219 { 1220 "fragmentContext": "svg", 1221 "description": "</p><foo>", 1222 "input": "</p><foo>", 1223 "output": [ 1224 [ 1225 "EndTag", 1226 "p" 1227 ], 1228 [ 1229 "StartTag", 1230 "foo", 1231 {} 1232 ] 1233 ] 1234 }, 1235 { 1236 "fragmentContext": "svg", 1237 "description": "</br><foo>", 1238 "input": "</br><foo>", 1239 "output": [ 1240 [ 1241 "EndTag", 1242 "br" 1243 ], 1244 [ 1245 "StartTag", 1246 "foo", 1247 {} 1248 ] 1249 ] 1250 }, 1251 { 1252 "fragmentContext": "svg", 1253 "description": "<body><foo>", 1254 "input": "<body><foo>", 1255 "output": [ 1256 [ 1257 "StartTag", 1258 "body", 1259 {} 1260 ], 1261 [ 1262 "StartTag", 1263 "foo", 1264 {} 1265 ] 1266 ] 1267 }, 1268 { 1269 "fragmentContext": "svg", 1270 "description": "<p><foo>", 1271 "input": "<p><foo>", 1272 "output": [ 1273 [ 1274 "StartTag", 1275 "p", 1276 {} 1277 ], 1278 [ 1279 "StartTag", 1280 "foo", 1281 {} 1282 ] 1283 ] 1284 }, 1285 { 1286 "fragmentContext": "svg", 1287 "description": "<p></p><foo>", 1288 "input": "<p></p><foo>", 1289 "output": [ 1290 [ 1291 "StartTag", 1292 "p", 1293 {} 1294 ], 1295 [ 1296 "EndTag", 1297 "p" 1298 ], 1299 [ 1300 "StartTag", 1301 "foo", 1302 {} 1303 ] 1304 ] 1305 } 1306 ] 1307}