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