{
"tests": [
{
"fragmentContext": null,
"description": "<foo bar=qux/>",
"input": "<foo bar=qux/>",
"output": [
[
"StartTag",
"foo",
{
"bar": "qux/"
}
]
]
},
{
"fragmentContext": null,
"description": "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>",
"input": "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>",
"output": [
[
"StartTag",
"p",
{
"id": "status"
}
],
[
"StartTag",
"noscript",
{}
],
[
"Character",
"<strong>A</strong>"
],
[
"EndTag",
"noscript"
],
[
"StartTag",
"span",
{}
],
[
"Character",
"B"
],
[
"EndTag",
"span"
],
[
"EndTag",
"p"
]
]
},
{
"fragmentContext": null,
"description": "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>",
"input": "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>",
"output": [
[
"StartTag",
"p",
{
"id": "status"
}
],
[
"StartTag",
"noscript",
{}
],
[
"Character",
"<strong>A</strong>"
],
[
"EndTag",
"noscript"
],
[
"StartTag",
"span",
{}
],
[
"Character",
"B"
],
[
"EndTag",
"span"
],
[
"EndTag",
"p"
]
]
},
{
"fragmentContext": null,
"description": "<div><sarcasm><div></div></sarcasm></div>",
"input": "<div><sarcasm><div></div></sarcasm></div>",
"output": [
[
"StartTag",
"div",
{}
],
[
"StartTag",
"sarcasm",
{}
],
[
"StartTag",
"div",
{}
],
[
"EndTag",
"div"
],
[
"EndTag",
"sarcasm"
],
[
"EndTag",
"div"
]
]
},
{
"fragmentContext": null,
"description": "<html><body><img src=\"\" border=\"0\" alt=\"><div>A</div></body></html>",
"input": "<html><body><img src=\"\" border=\"0\" alt=\"><div>A</div></body></html>",
"output": [
[
"StartTag",
"html",
{}
],
[
"StartTag",
"body",
{}
]
]
},
{
"fragmentContext": null,
"description": "<table><td></tbody>A",
"input": "<table><td></tbody>A",
"output": [
[
"StartTag",
"table",
{}
],
[
"StartTag",
"td",
{}
],
[
"EndTag",
"tbody"
],
[
"Character",
"A"
]
]
},
{
"fragmentContext": null,
"description": "<table><td></thead>A",
"input": "<table><td></thead>A",
"output": [
[
"StartTag",
"table",
{}
],
[
"StartTag",
"td",
{}
],
[
"EndTag",
"thead"
],
[
"Character",
"A"
]
]
},
{
"fragmentContext": null,
"description": "<table><td></tfoot>A",
"input": "<table><td></tfoot>A",
"output": [
[
"StartTag",
"table",
{}
],
[
"StartTag",
"td",
{}
],
[
"EndTag",
"tfoot"
],
[
"Character",
"A"
]
]
},
{
"fragmentContext": null,
"description": "<table><thead><td></tbody>A",
"input": "<table><thead><td></tbody>A",
"output": [
[
"StartTag",
"table",
{}
],
[
"StartTag",
"thead",
{}
],
[
"StartTag",
"td",
{}
],
[
"EndTag",
"tbody"
],
[
"Character",
"A"
]
]
},
{
"fragmentContext": null,
"description": "<legend>test</legend>",
"input": "<legend>test</legend>",
"output": [
[
"StartTag",
"legend",
{}
],
[
"Character",
"test"
],
[
"EndTag",
"legend"
]
]
},
{
"fragmentContext": null,
"description": "<table><input>",
"input": "<table><input>",
"output": [
[
"StartTag",
"table",
{}
],
[
"StartTag",
"input",
{}
]
]
},
{
"fragmentContext": null,
"description": "<b><em><foo><foo><aside></b>",
"input": "<b><em><foo><foo><aside></b>",
"output": [
[
"StartTag",
"b",
{}
],
[
"StartTag",
"em",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"aside",
{}
],
[
"EndTag",
"b"
]
]
},
{
"fragmentContext": null,
"description": "<b><em><foo><foo><aside></b></em>",
"input": "<b><em><foo><foo><aside></b></em>",
"output": [
[
"StartTag",
"b",
{}
],
[
"StartTag",
"em",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"aside",
{}
],
[
"EndTag",
"b"
],
[
"EndTag",
"em"
]
]
},
{
"fragmentContext": null,
"description": "<b><em><foo><foo><foo><aside></b>",
"input": "<b><em><foo><foo><foo><aside></b>",
"output": [
[
"StartTag",
"b",
{}
],
[
"StartTag",
"em",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"aside",
{}
],
[
"EndTag",
"b"
]
]
},
{
"fragmentContext": null,
"description": "<b><em><foo><foo><foo><aside></b></em>",
"input": "<b><em><foo><foo><foo><aside></b></em>",
"output": [
[
"StartTag",
"b",
{}
],
[
"StartTag",
"em",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"aside",
{}
],
[
"EndTag",
"b"
],
[
"EndTag",
"em"
]
]
},
{
"fragmentContext": "div",
"description": "<b><em><foo><foo><foo><foo><foo><foo><foo><foo><foo><foo><aside></b></em>",
"input": "<b><em><foo><foo><foo><foo><foo><foo><foo><foo><foo><foo><aside></b></em>",
"output": [
[
"StartTag",
"b",
{}
],
[
"StartTag",
"em",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"aside",
{}
],
[
"EndTag",
"b"
],
[
"EndTag",
"em"
]
]
},
{
"fragmentContext": "div",
"description": "<b><em><foo><foob><foob><foob><foob><fooc><fooc><fooc><fooc><food><aside></b></em>",
"input": "<b><em><foo><foob><foob><foob><foob><fooc><fooc><fooc><fooc><food><aside></b></em>",
"output": [
[
"StartTag",
"b",
{}
],
[
"StartTag",
"em",
{}
],
[
"StartTag",
"foo",
{}
],
[
"StartTag",
"foob",
{}
],
[
"StartTag",
"foob",
{}
],
[
"StartTag",
"foob",
{}
],
[
"StartTag",
"foob",
{}
],
[
"StartTag",
"fooc",
{}
],
[
"StartTag",
"fooc",
{}
],
[
"StartTag",
"fooc",
{}
],
[
"StartTag",
"fooc",
{}
],
[
"StartTag",
"food",
{}
],
[
"StartTag",
"aside",
{}
],
[
"EndTag",
"b"
],
[
"EndTag",
"em"
]
]
},
{
"fragmentContext": "select",
"description": "<option><XH<optgroup></optgroup>",
"input": "<option><XH<optgroup></optgroup>",
"output": [
[
"StartTag",
"option",
{}
],
[
"StartTag",
"xh<optgroup",
{}
],
[
"EndTag",
"optgroup"
]
]
},
{
"fragmentContext": null,
"description": "<svg><foreignObject><div>foo</div><plaintext></foreignObject></svg><div>bar</div>",
"input": "<svg><foreignObject><div>foo</div><plaintext></foreignObject></svg><div>bar</div>",
"output": [
[
"StartTag",
"svg",
{}
],
[
"StartTag",
"foreignObject",
{}
],
[
"StartTag",
"div",
{}
],
[
"Character",
"foo"
],
[
"EndTag",
"div"
],
[
"StartTag",
"plaintext",
{}
],
[
"Character",
"</foreignObject></svg><div>bar</div>"
]
]
},
{
"fragmentContext": null,
"description": "<svg><foreignObject></foreignObject><title></svg>foo",
"input": "<svg><foreignObject></foreignObject><title></svg>foo",
"output": [
[
"StartTag",
"svg",
{}
],
[
"StartTag",
"foreignObject",
{}
],
[
"EndTag",
"foreignobject"
],
[
"StartTag",
"title",
{}
],
[
"EndTag",
"svg"
],
[
"Character",
"foo"
]
]
},
{
"fragmentContext": null,
"description": "</foreignObject><plaintext><div>foo</div>",
"input": "</foreignObject><plaintext><div>foo</div>",
"output": [
[
"EndTag",
"foreignobject"
],
[
"StartTag",
"plaintext",
{}
],
[
"Character",
"<div>foo</div>"
]
]
}
]
}