{"tests": [ {"description":"PLAINTEXT content model flag", "initialStates":["PLAINTEXT state"], "lastStartTag":"plaintext", "input":"<head>&body;", "output":[["Character", "<head>&body;"]]}, {"description":"PLAINTEXT with seeming close tag", "initialStates":["PLAINTEXT state"], "lastStartTag":"plaintext", "input":"</plaintext>&body;", "output":[["Character", "</plaintext>&body;"]]}, {"description":"End tag closing RCDATA or RAWTEXT", "initialStates":["RCDATA state", "RAWTEXT state"], "lastStartTag":"xmp", "input":"foo</xmp>", "output":[["Character", "foo"], ["EndTag", "xmp"]]}, {"description":"End tag closing RCDATA or RAWTEXT (case-insensitivity)", "initialStates":["RCDATA state", "RAWTEXT state"], "lastStartTag":"xmp", "input":"foo</xMp>", "output":[["Character", "foo"], ["EndTag", "xmp"]]}, {"description":"End tag closing RCDATA or RAWTEXT (ending with space)", "initialStates":["RCDATA state", "RAWTEXT state"], "lastStartTag":"xmp", "input":"foo</xmp ", "output":[["Character", "foo"]], "errors":[ { "code": "eof-in-tag", "line": 1, "col": 10 } ]}, {"description":"End tag closing RCDATA or RAWTEXT (ending with EOF)", "initialStates":["RCDATA state", "RAWTEXT state"], "lastStartTag":"xmp", "input":"foo</xmp", "output":[["Character", "foo</xmp"]]}, {"description":"End tag closing RCDATA or RAWTEXT (ending with slash)", "initialStates":["RCDATA state", "RAWTEXT state"], "lastStartTag":"xmp", "input":"foo</xmp/", "output":[["Character", "foo"]], "errors":[ { "code": "eof-in-tag", "line": 1, "col": 10 } ]}, {"description":"End tag not closing RCDATA or RAWTEXT (ending with left-angle-bracket)", "initialStates":["RCDATA state", "RAWTEXT state"], "lastStartTag":"xmp", "input":"foo</xmp<", "output":[["Character", "foo</xmp<"]]}, {"description":"End tag with incorrect name in RCDATA or RAWTEXT", "initialStates":["RCDATA state", "RAWTEXT state"], "lastStartTag":"xmp", "input":"</foo>bar</xmp>", "output":[["Character", "</foo>bar"], ["EndTag", "xmp"]]}, {"description":"Partial end tags leading straight into partial end tags", "initialStates":["RCDATA state", "RAWTEXT state"], "lastStartTag":"xmp", "input":"</xmp</xmp</xmp>", "output":[["Character", "</xmp</xmp"], ["EndTag", "xmp"]]}, {"description":"End tag with incorrect name in RCDATA or RAWTEXT (starting like correct name)", "initialStates":["RCDATA state", "RAWTEXT state"], "lastStartTag":"xmp", "input":"</foo>bar</xmpaar>", "output":[["Character", "</foo>bar</xmpaar>"]]}, {"description":"End tag closing RCDATA or RAWTEXT, switching back to PCDATA", "initialStates":["RCDATA state", "RAWTEXT state"], "lastStartTag":"xmp", "input":"foo</xmp></baz>", "output":[["Character", "foo"], ["EndTag", "xmp"], ["EndTag", "baz"]]}, {"description":"RAWTEXT w/ something looking like an entity", "initialStates":["RAWTEXT state"], "lastStartTag":"xmp", "input":"&foo;", "output":[["Character", "&foo;"]]}, {"description":"RCDATA w/ an entity", "initialStates":["RCDATA state"], "lastStartTag":"textarea", "input":"<", "output":[["Character", "<"]]} ]}