Test that appropriate exceptions are thrown when adding children to a ProcessingInstruction.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS pi.appendChild(null) threw exception TypeError: Argument 1 ('node') to Node.appendChild must be an instance of Node.
PASS pi.appendChild(div) threw exception HierarchyRequestError: The operation would yield an incorrect node tree..
PASS pi.appendChild(textNode) threw exception HierarchyRequestError: The operation would yield an incorrect node tree..
PASS successfullyParsed is true

TEST COMPLETE

