diff options
Diffstat (limited to 'tests/html5lib-tests/tokenizer/contentModelFlags.test')
-rw-r--r-- | tests/html5lib-tests/tokenizer/contentModelFlags.test | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/tests/html5lib-tests/tokenizer/contentModelFlags.test b/tests/html5lib-tests/tokenizer/contentModelFlags.test new file mode 100644 index 0000000..9cf7c8b --- /dev/null +++ b/tests/html5lib-tests/tokenizer/contentModelFlags.test @@ -0,0 +1,93 @@ +{"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", "<"]]} + +]} |