1{ 2 "tests": [ 3 { 4 "description": "<foo bar=qux/>", 5 "input": "<foo bar=qux/>", 6 "output": [ 7 [ 8 "StartTag", 9 "foo", 10 { 11 "bar": "qux/" 12 } 13 ] 14 ] 15 }, 16 { 17 "description": "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>", 18 "input": "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>", 19 "output": [ 20 [ 21 "StartTag", 22 "p", 23 { 24 "id": "status" 25 } 26 ], 27 [ 28 "StartTag", 29 "noscript", 30 {} 31 ], 32 [ 33 "Character", 34 "<strong>A</strong>" 35 ], 36 [ 37 "EndTag", 38 "noscript" 39 ], 40 [ 41 "StartTag", 42 "span", 43 {} 44 ], 45 [ 46 "Character", 47 "B" 48 ], 49 [ 50 "EndTag", 51 "span" 52 ], 53 [ 54 "EndTag", 55 "p" 56 ] 57 ] 58 }, 59 { 60 "description": "<div><sarcasm><div></div></sarcasm></div>", 61 "input": "<div><sarcasm><div></div></sarcasm></div>", 62 "output": [ 63 [ 64 "StartTag", 65 "div", 66 {} 67 ], 68 [ 69 "StartTag", 70 "sarcasm", 71 {} 72 ], 73 [ 74 "StartTag", 75 "div", 76 {} 77 ], 78 [ 79 "EndTag", 80 "div" 81 ], 82 [ 83 "EndTag", 84 "sarcasm" 85 ], 86 [ 87 "EndTag", 88 "div" 89 ] 90 ] 91 }, 92 { 93 "description": "<html><body><img src=\"\" border=\"0\" alt=\"><div>A</div></body></html>", 94 "input": "<html><body><img src=\"\" border=\"0\" alt=\"><div>A</div></body></html>", 95 "output": [ 96 [ 97 "StartTag", 98 "html", 99 {} 100 ], 101 [ 102 "StartTag", 103 "body", 104 {} 105 ] 106 ] 107 }, 108 { 109 "description": "<table><td></tbody>A", 110 "input": "<table><td></tbody>A", 111 "output": [ 112 [ 113 "StartTag", 114 "table", 115 {} 116 ], 117 [ 118 "StartTag", 119 "td", 120 {} 121 ], 122 [ 123 "EndTag", 124 "tbody" 125 ], 126 [ 127 "Character", 128 "A" 129 ] 130 ] 131 }, 132 { 133 "description": "<table><td></thead>A", 134 "input": "<table><td></thead>A", 135 "output": [ 136 [ 137 "StartTag", 138 "table", 139 {} 140 ], 141 [ 142 "StartTag", 143 "td", 144 {} 145 ], 146 [ 147 "EndTag", 148 "thead" 149 ], 150 [ 151 "Character", 152 "A" 153 ] 154 ] 155 }, 156 { 157 "description": "<table><td></tfoot>A", 158 "input": "<table><td></tfoot>A", 159 "output": [ 160 [ 161 "StartTag", 162 "table", 163 {} 164 ], 165 [ 166 "StartTag", 167 "td", 168 {} 169 ], 170 [ 171 "EndTag", 172 "tfoot" 173 ], 174 [ 175 "Character", 176 "A" 177 ] 178 ] 179 }, 180 { 181 "description": "<table><thead><td></tbody>A", 182 "input": "<table><thead><td></tbody>A", 183 "output": [ 184 [ 185 "StartTag", 186 "table", 187 {} 188 ], 189 [ 190 "StartTag", 191 "thead", 192 {} 193 ], 194 [ 195 "StartTag", 196 "td", 197 {} 198 ], 199 [ 200 "EndTag", 201 "tbody" 202 ], 203 [ 204 "Character", 205 "A" 206 ] 207 ] 208 }, 209 { 210 "description": "<legend>test</legend>", 211 "input": "<legend>test</legend>", 212 "output": [ 213 [ 214 "StartTag", 215 "legend", 216 {} 217 ], 218 [ 219 "Character", 220 "test" 221 ], 222 [ 223 "EndTag", 224 "legend" 225 ] 226 ] 227 }, 228 { 229 "description": "<table><input>", 230 "input": "<table><input>", 231 "output": [ 232 [ 233 "StartTag", 234 "table", 235 {} 236 ], 237 [ 238 "StartTag", 239 "input", 240 {} 241 ] 242 ] 243 }, 244 { 245 "description": "<b><em><foo><foo><aside></b>", 246 "input": "<b><em><foo><foo><aside></b>", 247 "output": [ 248 [ 249 "StartTag", 250 "b", 251 {} 252 ], 253 [ 254 "StartTag", 255 "em", 256 {} 257 ], 258 [ 259 "StartTag", 260 "foo", 261 {} 262 ], 263 [ 264 "StartTag", 265 "foo", 266 {} 267 ], 268 [ 269 "StartTag", 270 "aside", 271 {} 272 ], 273 [ 274 "EndTag", 275 "b" 276 ] 277 ] 278 }, 279 { 280 "description": "<b><em><foo><foo><aside></b></em>", 281 "input": "<b><em><foo><foo><aside></b></em>", 282 "output": [ 283 [ 284 "StartTag", 285 "b", 286 {} 287 ], 288 [ 289 "StartTag", 290 "em", 291 {} 292 ], 293 [ 294 "StartTag", 295 "foo", 296 {} 297 ], 298 [ 299 "StartTag", 300 "foo", 301 {} 302 ], 303 [ 304 "StartTag", 305 "aside", 306 {} 307 ], 308 [ 309 "EndTag", 310 "b" 311 ], 312 [ 313 "EndTag", 314 "em" 315 ] 316 ] 317 }, 318 { 319 "description": "<b><em><foo><foo><foo><aside></b>", 320 "input": "<b><em><foo><foo><foo><aside></b>", 321 "output": [ 322 [ 323 "StartTag", 324 "b", 325 {} 326 ], 327 [ 328 "StartTag", 329 "em", 330 {} 331 ], 332 [ 333 "StartTag", 334 "foo", 335 {} 336 ], 337 [ 338 "StartTag", 339 "foo", 340 {} 341 ], 342 [ 343 "StartTag", 344 "foo", 345 {} 346 ], 347 [ 348 "StartTag", 349 "aside", 350 {} 351 ], 352 [ 353 "EndTag", 354 "b" 355 ] 356 ] 357 }, 358 { 359 "description": "<b><em><foo><foo><foo><aside></b></em>", 360 "input": "<b><em><foo><foo><foo><aside></b></em>", 361 "output": [ 362 [ 363 "StartTag", 364 "b", 365 {} 366 ], 367 [ 368 "StartTag", 369 "em", 370 {} 371 ], 372 [ 373 "StartTag", 374 "foo", 375 {} 376 ], 377 [ 378 "StartTag", 379 "foo", 380 {} 381 ], 382 [ 383 "StartTag", 384 "foo", 385 {} 386 ], 387 [ 388 "StartTag", 389 "aside", 390 {} 391 ], 392 [ 393 "EndTag", 394 "b" 395 ], 396 [ 397 "EndTag", 398 "em" 399 ] 400 ] 401 }, 402 { 403 "description": "<svg><foreignObject><div>foo</div><plaintext></foreignObject></svg><div>bar</div>", 404 "input": "<svg><foreignObject><div>foo</div><plaintext></foreignObject></svg><div>bar</div>", 405 "output": [ 406 [ 407 "StartTag", 408 "svg", 409 {} 410 ], 411 [ 412 "StartTag", 413 "foreignObject", 414 {} 415 ], 416 [ 417 "StartTag", 418 "div", 419 {} 420 ], 421 [ 422 "Character", 423 "foo" 424 ], 425 [ 426 "EndTag", 427 "div" 428 ], 429 [ 430 "StartTag", 431 "plaintext", 432 {} 433 ], 434 [ 435 "Character", 436 "</foreignObject></svg><div>bar</div>" 437 ] 438 ] 439 }, 440 { 441 "description": "<svg><foreignObject></foreignObject><title></svg>foo", 442 "input": "<svg><foreignObject></foreignObject><title></svg>foo", 443 "output": [ 444 [ 445 "StartTag", 446 "svg", 447 {} 448 ], 449 [ 450 "StartTag", 451 "foreignObject", 452 {} 453 ], 454 [ 455 "EndTag", 456 "foreignobject" 457 ], 458 [ 459 "StartTag", 460 "title", 461 {} 462 ], 463 [ 464 "EndTag", 465 "svg" 466 ], 467 [ 468 "Character", 469 "foo" 470 ] 471 ] 472 }, 473 { 474 "description": "</foreignObject><plaintext><div>foo</div>", 475 "input": "</foreignObject><plaintext><div>foo</div>", 476 "output": [ 477 [ 478 "EndTag", 479 "foreignobject" 480 ], 481 [ 482 "StartTag", 483 "plaintext", 484 {} 485 ], 486 [ 487 "Character", 488 "<div>foo</div>" 489 ] 490 ] 491 } 492 ] 493}