PASS range.compareBoundaryPoints(0, noRange) threw exception TypeError: Failed to execute 'compareBoundaryPoints' on 'Range': parameter 2 is not of type 'Range'..
PASS range.comparePoint(noNode, 0) threw exception TypeError: Failed to execute 'comparePoint' on 'Range': parameter 1 is not of type 'Node'..
PASS range.insertNode(noNode) threw exception TypeError: Failed to execute 'insertNode' on 'Range': parameter 1 is not of type 'Node'..
PASS range.intersectsNode(noNode) threw exception TypeError: Failed to execute 'intersectsNode' on 'Range': parameter 1 is not of type 'Node'..
PASS range.isPointInRange(noNode, 0) threw exception TypeError: Failed to execute 'isPointInRange' on 'Range': parameter 1 is not of type 'Node'..
PASS range.selectNode(noNode) threw exception TypeError: Failed to execute 'selectNode' on 'Range': parameter 1 is not of type 'Node'..
PASS range.selectNodeContents(noNode) threw exception TypeError: Failed to execute 'selectNodeContents' on 'Range': parameter 1 is not of type 'Node'..
PASS range.setEnd(noNode, 0) threw exception TypeError: Failed to execute 'setEnd' on 'Range': parameter 1 is not of type 'Node'..
PASS range.setEndAfter(noNode) threw exception TypeError: Failed to execute 'setEndAfter' on 'Range': parameter 1 is not of type 'Node'..
PASS range.setEndBefore(noNode) threw exception TypeError: Failed to execute 'setEndBefore' on 'Range': parameter 1 is not of type 'Node'..
PASS range.setStart(noNode, 0) threw exception TypeError: Failed to execute 'setStart' on 'Range': parameter 1 is not of type 'Node'..
PASS range.setStartAfter(noNode) threw exception TypeError: Failed to execute 'setStartAfter' on 'Range': parameter 1 is not of type 'Node'..
PASS range.setStartBefore(noNode) threw exception TypeError: Failed to execute 'setStartBefore' on 'Range': parameter 1 is not of type 'Node'..
PASS range.surroundContents(noNode) threw exception TypeError: Failed to execute 'surroundContents' on 'Range': parameter 1 is not of type 'Node'..
PASS successfullyParsed is true

TEST COMPLETE

