<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<div id="console"></div>
<script>
doc = (new DOMParser).parseFromString(
'<?xml version="1.0" encoding="ISO-8859-1"?>' +
'<!DOCTYPE doc []>' +
'<?xml-stylesheet "Data" ?>' +
'<!' + '-- comment -->' +
'<doc attr="<&nbsp;>">0 <elem>1</elem><!' + '-- comment -->a<![CDATA[-cdata-]]>b<elem>2</elem><empty></empty></doc>',
'application/xml');
PI = doc.firstChild;
while (PI.nodeType != Node.PROCESSING_INSTRUCTION_NODE)
PI = PI.nextSibling;
COMMENT = doc.firstChild;
while (COMMENT.nodeType != Node.COMMENT_NODE)
COMMENT = COMMENT.nextSibling;
ATTR = doc.documentElement.getAttributeNode("attr");
CDATA = doc.documentElement.firstChild;
while (CDATA.nodeType != Node.CDATA_SECTION_NODE)
CDATA = CDATA.nextSibling;
TEXT = doc.documentElement.firstChild;
EMPTY = doc.documentElement.lastChild;
shouldBe("doc.evaluate('.', doc, null, XPathResult.STRING_TYPE, null).stringValue", "'0 1a-cdata-b2'");
shouldBe("doc.evaluate('.', doc.documentElement, null, XPathResult.STRING_TYPE, null).stringValue", "'0 1a-cdata-b2'");
shouldBe("doc.evaluate('.', PI, null, XPathResult.STRING_TYPE, null).stringValue", "'\"Data\" '");
shouldBe("doc.evaluate('.', COMMENT, null, XPathResult.STRING_TYPE, null).stringValue", "' comment '");
shouldBe("doc.evaluate('.', CDATA, null, XPathResult.STRING_TYPE, null).stringValue", "'-cdata-'");
shouldBe("doc.evaluate('.', TEXT, null, XPathResult.STRING_TYPE, null).stringValue", "'0 '");
shouldBe("doc.evaluate('.', EMPTY, null, XPathResult.STRING_TYPE, null).stringValue", "''");
shouldBe("doc.evaluate('.', ATTR, null, XPathResult.STRING_TYPE, null).stringValue", "'< >'");
</script>
</body>
</html>