"]]},
{"description":"end tag followed by character data",
"contentModelFlags":["RCDATA","CDATA"],
"lastStartTag":"xxx",
"input":"ABCD",
"output":[["Character", "AB"],["EndTag", "xxx"],["Character", "CD"]]},
{"description":"NULL character reference",
"input":"",
"output":["ParseError", ["Character", "\uFFFD"]]},
{"description":"NULL character reference",
"input":"",
"output":["ParseError", ["Character", "\uFFFD"]]},
{"description":"character entity
",
"input":"
",
"output":["ParseError", ["Character", "\u000A"]]},
{"description":"character entity
",
"input":"
",
"output":["ParseError", ["Character", "\u000A"]]},
{"description":"character entities
",
"input":"
",
"output":["ParseError", ["Character", "\u000A\u000A"]]},
{"description":"character entity
followed by a LF",
"input":"
\u000A",
"output":["ParseError", ["Character", "\u000A\u000A"]]},
{"description":"c1 character references",
"input":"
",
"output":[
"ParseError", ["Character", "\u20AC"],
"ParseError", ["Character", "\uFFFD"],
"ParseError", ["Character", "\u201A"],
"ParseError", ["Character", "\u0192"],
"ParseError", ["Character", "\u201E"],
"ParseError", ["Character", "\u2026"],
"ParseError", ["Character", "\u2020"],
"ParseError", ["Character", "\u2021"]
]},
{"description":"c1 character references",
"input":"",
"output":[
"ParseError", ["Character", "\u02C6"],
"ParseError", ["Character", "\u2030"],
"ParseError", ["Character", "\u0160"],
"ParseError", ["Character", "\u2039"],
"ParseError", ["Character", "\u0152"],
"ParseError", ["Character", "\uFFFD"],
"ParseError", ["Character", "\u017D"],
"ParseError", ["Character", "\uFFFD"]
]},
{"description":"c1 character references",
"input":"",
"output":[
"ParseError", ["Character", "\uFFFD"],
"ParseError", ["Character", "\u2018"],
"ParseError", ["Character", "\u2019"],
"ParseError", ["Character", "\u201C"],
"ParseError", ["Character", "\u201D"],
"ParseError", ["Character", "\u2022"],
"ParseError", ["Character", "\u2013"],
"ParseError", ["Character", "\u2014"]
]},
{"description":"c1 character references",
"input":"",
"output":[
"ParseError", ["Character", "\u02DC"],
"ParseError", ["Character", "\u2122"],
"ParseError", ["Character", "\u0161"],
"ParseError", ["Character", "\u203A"],
"ParseError", ["Character", "\u0153"],
"ParseError", ["Character", "\uFFFD"],
"ParseError", ["Character", "\u017E"],
"ParseError", ["Character", "\u0178"]
]},
{"description":"c1 character references",
"input":"
",
"output":[
"ParseError", ["Character", "\u20AC"],
"ParseError", ["Character", "\uFFFD"],
"ParseError", ["Character", "\u201A"],
"ParseError", ["Character", "\u0192"],
"ParseError", ["Character", "\u201E"],
"ParseError", ["Character", "\u2026"],
"ParseError", ["Character", "\u2020"],
"ParseError", ["Character", "\u2021"]
]},
{"description":"c1 character references",
"input":"",
"output":[
"ParseError", ["Character", "\u02C6"],
"ParseError", ["Character", "\u2030"],
"ParseError", ["Character", "\u0160"],
"ParseError", ["Character", "\u2039"],
"ParseError", ["Character", "\u0152"],
"ParseError", ["Character", "\uFFFD"],
"ParseError", ["Character", "\u017D"],
"ParseError", ["Character", "\uFFFD"]
]},
{"description":"c1 character references",
"input":"",
"output":[
"ParseError", ["Character", "\uFFFD"],
"ParseError", ["Character", "\u2018"],
"ParseError", ["Character", "\u2019"],
"ParseError", ["Character", "\u201C"],
"ParseError", ["Character", "\u201D"],
"ParseError", ["Character", "\u2022"],
"ParseError", ["Character", "\u2013"],
"ParseError", ["Character", "\u2014"]
]},
{"description":"c1 character references",
"input":"",
"output":[
"ParseError", ["Character", "\u02DC"],
"ParseError", ["Character", "\u2122"],
"ParseError", ["Character", "\u0161"],
"ParseError", ["Character", "\u203A"],
"ParseError", ["Character", "\u0153"],
"ParseError", ["Character", "\uFFFD"],
"ParseError", ["Character", "\u017E"],
"ParseError", ["Character", "\u0178"]
]},
{"description":"Numeric entity representing a Windows-1252 'codepoint'",
"input":"",
"output":["ParseError", ["Character", "\u2030"]]},
{"description":"Hexadecimal entity representing a Windows-1252 'codepoint'",
"input":"",
"output":["ParseError", ["Character", "\u2030"]]},
{"description":"surrogate character reference",
"input":"",
"output":["ParseError", ["Character", "\uFFFD"]]},
{"description":"surrogate character references",
"input":"",
"output":["ParseError", ["Character", "\uFFFD"],
"ParseError", ["Character", "\uFFFD"]]},
{"description":"surrogate character reference",
"input":"\uD800",
"output":[["Character", "\uD800"],
"ParseError", ["Character", "\uFFFD"]]},
{"description":"surrogate character reference",
"input":"\uDFFF",
"output":["ParseError", ["Character", "\uFFFD\uDFFF"]]},
{"description":"surrogate character reference",
"input":"",
"output":["ParseError", ["Character", "\uFFFD"]]},
{"description":"surrogate character reference",
"input":"",
"output":["ParseError", ["Character", "\uFFFD"]]},
{"description":"non-Unicode character reference",
"input":"",
"output":["ParseError", ["Character", "\uFFFD"]]},
{"description":"non-Unicode character reference",
"input":"",
"output":["ParseError", ["Character", "\uFFFD"]]},
{"description":"Broken hcro ()",
"input":"",
"output":["ParseError", ["Character", ""]]},
{"description":"Broken hcro ()",
"input":"",
"output":["ParseError", ["Character", ""]]},
{"description":"Broken hcro ()",
"input":"",
"output":["ParseError", ["Character", ""]]},
{"description":"Broken hcro ()",
"input":"",
"output":["ParseError", ["Character", ""]]},
{"description":"Broken hcro (g)",
"input":"g",
"output":["ParseError", ["Character", "g"]]},
{"description":"Broken hcro (g)",
"input":"g",
"output":["ParseError", ["Character", "g"]]},
{"description":"Broken hcro (g;)",
"input":"g;",
"output":["ParseError", ["Character", "g;"]]},
{"description":"Broken hcro (g;)",
"input":"g;",
"output":["ParseError", ["Character", "g;"]]},
{"description":"Broken hcro (!)",
"input":"!",
"output":["ParseError", ["Character", "!"]]},
{"description":"Broken hcro (!)",
"input":"!",
"output":["ParseError", ["Character", "!"]]},
{"description":"NULL character",
"input":"\u0000",
"output":["ParseError",["Character", "\uFFFD"]]},
{"description":"™",
"input":"™",
"output":[["Character", "\u2122"]]},
{"description":"〈",
"input":"〈",
"output":[["Character", "\u3008"]]},
{"description":"〉",
"input":"〉",
"output":[["Character", "\u3009"]]},
{"description":"&;",
"input":"&;",
"output":[["Character", "&;"]]},
{"description":"&HT",
"input":"&\u0009",
"output":[["Character", "&\u0009"]]},
{"description":"&LF",
"input":"&\u000A",
"output":[["Character", "&\u000A"]]},
{"description":"&VT",
"input":"&\u000B",
"output":[["Character", "&\u000B"]]},
{"description":"&FF",
"input":"&\u000C",
"output":[["Character", "&\u000C"]]},
{"description":"&SP",
"input":"& ",
"output":[["Character", "& "]]},
{"description":"&<",
"input":"&<",
"output":[["Character", "&"], "ParseError", ["Character", "<"]]},
{"description":"&
",
"input":"&
",
"output":[["Character", "&"], ["StartTag", "p", {}]]},
{"description":"&&",
"input":"&&",
"output":[["Character", "&&"]]},
{"description":"&&",
"input":"&&",
"output":[["Character", "&&"]]},
{"description":"&",
"input":"&",
"output":[["Character", "&"]]},
{"description":"named character reference w/o refc",
"input":"&abc",
"output":["ParseError", ["Character", "&abc"]]},
{"description":"named character reference",
"input":"&abc",
"output":[["Character", "&abc"]]},
{"description":"named character reference w/o refc",
"input":"&abc",
"output":["ParseError", ["Character", "&abc"]]},
{"description":"unknown named character reference",
"input":"&abc;",
"output":["ParseError", ["Character", "&abc;"]]},
{"description":"named character reference w/o refc in attr",
"input":"",
"output":["ParseError", ["StartTag", "a", {"href": "&abc"}]]},
{"description":"named character reference in attr",
"input":"",
"output":[["StartTag", "a", {"href": "&abc"}]]},
{"description":"named character reference w/o refc in attr",
"input":"",
"output":["ParseError", ["StartTag", "a", {"href": "&abc"}]]},
{"description":"unknown named character reference in attr",
"input":"",
"output":["ParseError", ["StartTag", "a", {"href": "&abc;"}]]},
{"description":"entity w/o refc at the end of unterminated attribute value",
"input":"",
"output":["ParseError", ["StartTag", "a", {"href": "\u00A9"}]]},
{"description":"entity w/refc at the end of attribute value",
"input":"",
"output":[["StartTag", "a", {"href": "\u00A9"}]]},
{"description":"entity w/o refc href='©!'",
"input":"",
"output":["ParseError", ["StartTag", "a", {"href": "\u00A9!"}]]},
{"description":"entity w/o refc href='©=ok'",
"input":"",
"output":["ParseError", ["StartTag", "a", {"href": "\u00A9=ok"}]]},
{"description":"entity w/o refc href='©right'",
"input":"",
"output":["ParseError", ["StartTag", "a", {"href": "©right"}]]},
{"description":"entity w/o refc href='©right;'",
"input":"",
"output":["ParseError", ["StartTag", "a", {"href": "©right;"}]]},
{"description":"entity w/o refc href='©rightc'",
"input":"",
"output":["ParseError", ["StartTag", "a", {"href": "©rightc"}]]},
{"description":"entity w/o refc href='©rightcd'",
"input":"",
"output":["ParseError", ["StartTag", "a", {"href": "©rightcd"}]]},
{"description":"cdata end tag containing <",
"contentModelFlags":["RCDATA","CDATA"],
"lastStartTag":"xxx",
"input":"",
"output":[["Character", ""]]},
{"description":"< in tag name state",
"input":"",
"output":[["StartTag", "p
",
"output":[["StartTag", "p", {"
",
"output":[["StartTag", "p", {"align
",
"output":[["StartTag", "p", {"align":"","
",
"output":[["StartTag", "p", {"align":"
",
"output":[["StartTag", "p", {"align":"left
",
"output": ["ParseError", ["StartTag", "a", {"''b": ""}]]},
{"description":"/\"\"b=\"\"",
"input": "
",
"output": ["ParseError", ["StartTag", "a", {"\"\"b": ""}]]},
{"description":"\"b=\"\"",
"input": "",
"output": [["StartTag", "a", {"\"b": ""}]]},
{"description":"\"\"b=\"\"",
"input": "",
"output": [["StartTag", "a", {"\"\"b": ""}]]},
{"description":"'b=\"\"",
"input": "",
"output": [["StartTag", "a", {"'b": ""}]]},
{"description":"''b=\"\"",
"input": "",
"output": [["StartTag", "a", {"''b": ""}]]},
{"description":"/b=\"\"",
"input": "",
"output": ["ParseError", ["StartTag", "a", {"b": ""}]]},
{"description":"b/=\"\"",
"input": "",
"output": ["ParseError", ["StartTag", "a", {"b": "", "=\"\"": ""}]]},
{"description":"b/c=\"\"",
"input": "",
"output": ["ParseError", ["StartTag", "a", {"b": "", "c": ""}]]},
{"description":"bc[NULL]=\"\"",
"input": "",
"output": ["ParseError", ["StartTag", "a", {"bc\uFFFD": ""}]]},
{"description":"b[NULL]c=\"\"",
"input": "",
"output": ["ParseError", ["StartTag", "a", {"b\uFFFDc": ""}]]},
{"description":"[NULL]bc=\"\"",
"input": "",
"output": ["ParseError", ["StartTag", "a", {"\uFFFDbc": ""}]]}
]}