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