{"tests": [ | |
{"description": "proper attribute value escaping", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "test \"with\" ""}]]], | |
"expected": ["<span title='test \"with\" &quot;'>"] | |
}, | |
{"description": "proper attribute value non-quoting", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo"}]]], | |
"expected": ["<span title=foo>"], | |
"xhtml": ["<span title=\"foo\">"] | |
}, | |
{"description": "proper attribute value non-quoting (with <)", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo<bar"}]]], | |
"expected": ["<span title=foo<bar>"], | |
"xhtml": ["<span title=\"foo<bar\">"] | |
}, | |
{"description": "proper attribute value quoting (with =)", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo=bar"}]]], | |
"expected": ["<span title=\"foo=bar\">"] | |
}, | |
{"description": "proper attribute value quoting (with >)", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo>bar"}]]], | |
"expected": ["<span title=\"foo>bar\">"] | |
}, | |
{"description": "proper attribute value quoting (with \")", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo\"bar"}]]], | |
"expected": ["<span title='foo\"bar'>"] | |
}, | |
{"description": "proper attribute value quoting (with ')", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo'bar"}]]], | |
"expected": ["<span title=\"foo'bar\">"] | |
}, | |
{"description": "proper attribute value quoting (with both \" and ')", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo'bar\"baz"}]]], | |
"expected": ["<span title=\"foo'bar"baz\">"] | |
}, | |
{"description": "proper attribute value quoting (with space)", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo bar"}]]], | |
"expected": ["<span title=\"foo bar\">"] | |
}, | |
{"description": "proper attribute value quoting (with tab)", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo\tbar"}]]], | |
"expected": ["<span title=\"foo\tbar\">"] | |
}, | |
{"description": "proper attribute value quoting (with LF)", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo\nbar"}]]], | |
"expected": ["<span title=\"foo\nbar\">"] | |
}, | |
{"description": "proper attribute value quoting (with CR)", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo\rbar"}]]], | |
"expected": ["<span title=\"foo\rbar\">"] | |
}, | |
{"description": "proper attribute value non-quoting (with linetab)", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo\u000Bbar"}]]], | |
"expected": ["<span title=foo\u000Bbar>"], | |
"xhtml": ["<span title=\"foo\u000Bbar\">"] | |
}, | |
{"description": "proper attribute value quoting (with form feed)", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo\u000Cbar"}]]], | |
"expected": ["<span title=\"foo\u000Cbar\">"] | |
}, | |
{"description": "void element (as EmptyTag token)", | |
"input": [["EmptyTag", "img", {}]], | |
"expected": ["<img>"], | |
"xhtml": ["<img />"] | |
}, | |
{"description": "void element (as StartTag token)", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "img", {}]], | |
"expected": ["<img>"], | |
"xhtml": ["<img />"] | |
}, | |
{"description": "doctype in error", | |
"input": [["Doctype", "foo"]], | |
"expected": ["<!DOCTYPE foo>"] | |
}, | |
{"description": "character data", | |
"options": {"encoding":"utf-8"}, | |
"input": [["Characters", "a<b>c&d"]], | |
"expected": ["a<b>c&d"] | |
}, | |
{"description": "rcdata", | |
"input": [["StartTag", "http://www.w3.org/1999/xhtml", "script", {}], ["Characters", "a<b>c&d"]], | |
"expected": ["<script>a<b>c&d"], | |
"xhtml": ["<script>a<b>c&d"] | |
}, | |
{"description": "doctype", | |
"input": [["Doctype", "HTML"]], | |
"expected": ["<!DOCTYPE HTML>"] | |
}, | |
{"description": "HTML 4.01 DOCTYPE", | |
"input": [["Doctype", "HTML", "-//W3C//DTD HTML 4.01//EN", "http://www.w3.org/TR/html4/strict.dtd"]], | |
"expected": ["<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">"] | |
}, | |
{"description": "HTML 4.01 DOCTYPE without system identifer", | |
"input": [["Doctype", "HTML", "-//W3C//DTD HTML 4.01//EN"]], | |
"expected": ["<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">"] | |
}, | |
{"description": "IBM DOCTYPE without public identifer", | |
"input": [["Doctype", "html", "", "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"]], | |
"expected": ["<!DOCTYPE html SYSTEM \"http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd\">"] | |
} | |
]} |