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