Checks that Range.extractContents() throws a HierarchyRequestError when encountering a docType

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


PASS range.extractContents() threw exception HierarchyRequestError: The operation would yield an incorrect node tree..
PASS successfullyParsed is true

TEST COMPLETE

