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: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'..
PASS pi.appendChild(div) threw exception HierarchyRequestError: Failed to execute 'appendChild' on 'Node': This node type does not support this method..
PASS pi.appendChild(textNode) threw exception HierarchyRequestError: Failed to execute 'appendChild' on 'Node': This node type does not support this method..
PASS successfullyParsed is true

TEST COMPLETE

