<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<script>
<![CDATA[
description("Test that ProcessingInstruction inherits from CharacterData");

shouldBe("ProcessingInstruction.prototype.__proto__", "CharacterData.prototype");

var processingInstruction = document.createProcessingInstruction("target", "data");
shouldBe("processingInstruction.__proto__.__proto__", "CharacterData.prototype");

shouldBeEqualToString("processingInstruction.target", "target");
shouldBeEqualToString("processingInstruction.data", "data");
shouldBe("processingInstruction.length", "4");

processingInstruction.data = null;
shouldBeEqualToString("processingInstruction.data", "");
shouldBe("processingInstruction.length", "0");
]]>
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>
