{ "tests": [ { "description":"CR in bogus comment state", "input":"", "output":[["Character", "\\u0000"]] }, { "description":"NUL in script HTML comment", "doubleEscaped":true, "initialStates":["Script data state"], "input":"", "output":[["Character", ""]], "errors":[ { "code": "unexpected-null-character", "line": 1, "col": 9 }, { "code": "unexpected-null-character", "line": 1, "col": 22 }, { "code": "unexpected-null-character", "line": 1, "col": 36 } ] }, { "description":"NUL in script HTML comment - double escaped", "doubleEscaped":true, "initialStates":["Script data state"], "input":"", "output":[["Character", ""]], "errors":[ { "code": "unexpected-null-character", "line": 1, "col": 13 }, { "code": "unexpected-null-character", "line": 1, "col": 30 }, { "code": "unexpected-null-character", "line": 1, "col": 48 } ] }, { "description":"EOF in script HTML comment", "initialStates":["Script data state"], "input":"", "output":[["Character", ""]] }, { "description":"Dash less-than in script HTML comment", "initialStates":["Script data state"], "input":"", "output":[["Character", ""]] }, { "description":"Dash at end of script HTML comment", "initialStates":["Script data state"], "input":"", "output":[["Character", ""]] }, { "description":" in script HTML comment", "initialStates":["Script data state"], "lastStartTag":"script", "input":"", "output":[["Character", ""], ["EndTag", "script"]] }, { "description":" in script HTML comment - double escaped", "initialStates":["Script data state"], "lastStartTag":"script", "input":"", "output":[["Character", ""], ["EndTag", "script"]] }, { "description":" in script HTML comment - double escaped with nested -->", "output":[["Character", ""], ["EndTag", "script"]] }, { "description":" in script HTML comment - double escaped with abrupt end", "initialStates":["Script data state"], "lastStartTag":"script", "input":" -->", "output":[["Character", ""], ["EndTag", "script"], ["Character", " -->"], ["EndTag", "script"]] }, { "description":"Incomplete start tag in script HTML comment double escaped", "initialStates":["Script data state"], "lastStartTag":"script", "input":"", "output":[["Character", ""]] }, { "description":"Unclosed start tag in script HTML comment double escaped", "initialStates":["Script data state"], "lastStartTag":"script", "input":"", "output":[["Character", ""]] }, { "description":"Incomplete end tag in script HTML comment double escaped", "initialStates":["Script data state"], "lastStartTag":"script", "input":"", "output":[["Character", ""]] }, { "description":"Unclosed end tag in script HTML comment double escaped", "initialStates":["Script data state"], "lastStartTag":"script", "input":"", "output":[["Character", ""]] }, { "description":"leading U+FEFF must pass through", "initialStates":["Data state", "RCDATA state", "RAWTEXT state", "Script data state"], "doubleEscaped":true, "input":"\\uFEFFfoo\\uFEFFbar", "output":[["Character", "\\uFEFFfoo\\uFEFFbar"]] }, { "description":"Non BMP-charref in RCDATA", "initialStates":["RCDATA state"], "input":"≂̸", "output":[["Character", "\u2242\u0338"]] }, { "description":"Bad charref in RCDATA", "initialStates":["RCDATA state"], "input":"&NotEqualTild;", "output":[["Character", "&NotEqualTild;"]], "errors":[ { "code": "unknown-named-character-reference", "line": 1, "col": 14 } ] }, { "description":"lowercase endtags", "initialStates":["RCDATA state", "RAWTEXT state", "Script data state"], "lastStartTag":"xmp", "input":"", "output":[["EndTag","xmp"]] }, { "description":"bad endtag (space before name)", "initialStates":["RCDATA state", "RAWTEXT state", "Script data state"], "lastStartTag":"xmp", "input":"", "output":[["Character",""]] }, { "description":"bad endtag (not matching last start tag)", "initialStates":["RCDATA state", "RAWTEXT state", "Script data state"], "lastStartTag":"xmp", "input":"", "output":[["Character",""]] }, { "description":"bad endtag (without close bracket)", "initialStates":["RCDATA state", "RAWTEXT state", "Script data state"], "lastStartTag":"xmp", "input":"", "output":[["StartTag", "p", {"id":"\u2242\u0338"}]] }, { "description":"--!NUL in comment ", "doubleEscaped":true, "input":"", "output":[["Comment", "--!\\uFFFD"]], "errors":[ { "code": "unexpected-null-character", "line": 1, "col": 8 } ] }, { "description":"space EOF after doctype ", "input":"", "output":[["Comment", "[CDATA[foo]]"]], "errors":[ { "code": "cdata-in-html-content", "line": 1, "col": 9 } ] }, { "description":"CDATA content", "input":"foo ]]>", "initialStates":["CDATA section state"], "output":[["Character", "foo "]] }, { "description":"CDATA followed by HTML content", "input":"foo ]]> ", "initialStates":["CDATA section state"], "output":[["Character", "foo "]] }, { "description":"CDATA with extra bracket", "input":"foo]]]>", "initialStates":["CDATA section state"], "output":[["Character", "foo]"]] }, { "description":"CDATA without end marker", "input":"foo", "initialStates":["CDATA section state"], "output":[["Character", "foo"]], "errors":[ { "code": "eof-in-cdata", "line": 1, "col": 4 } ] }, { "description":"CDATA with single bracket ending", "input":"foo]", "initialStates":["CDATA section state"], "output":[["Character", "foo]"]], "errors":[ { "code": "eof-in-cdata", "line": 1, "col": 5 } ] }, { "description":"CDATA with two brackets ending", "input":"foo]]", "initialStates":["CDATA section state"], "output":[["Character", "foo]]"]], "errors":[ { "code": "eof-in-cdata", "line": 1, "col": 6 } ] } ] }