{"tests": [

{"description": "proper attribute value escaping",
 "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "test \"with\" &quot;"}]]],
 "expected": ["<span title='test \"with\" &amp;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&lt;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&quot;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&lt;b&gt;c&amp;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&lt;b&gt;c&amp;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\">"]
}

]}
