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