50 lines
1.8 KiB
HTML
50 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<body>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<script>
|
|
description("Tests parameters of document.createNodeIterator() API.");
|
|
|
|
debug("No parameters");
|
|
shouldThrow("document.createNodeIterator()", "'TypeError: Not enough arguments'");
|
|
|
|
debug("")
|
|
debug("Null root node");
|
|
shouldThrow("document.createNodeIterator(null)", "'TypeError: Argument 1 (\\'root\\') to Document.createNodeIterator must be an instance of Node'");
|
|
|
|
debug("");
|
|
debug("Primitive (symbol) NodeFilter callback");
|
|
shouldThrow("document.createNodeIterator(document, null, Symbol())", "'TypeError: Argument 3 (\\'filter\\') to Document.createNodeIterator must be an object'");
|
|
|
|
debug("");
|
|
debug("Default parameters");
|
|
evalAndLog("iterator = document.createNodeIterator(document)");
|
|
shouldBe("iterator.root", "document");
|
|
shouldBe("iterator.referenceNode", "document");
|
|
shouldBe("iterator.whatToShow", "0xFFFFFFFF");
|
|
shouldBeNull("iterator.filter");
|
|
shouldBeTrue("iterator.pointerBeforeReferenceNode");
|
|
|
|
debug("");
|
|
debug("Passing null for optional parameters");
|
|
evalAndLog("iterator = document.createNodeIterator(document, null, null)");
|
|
shouldBe("iterator.root", "document");
|
|
shouldBe("iterator.referenceNode", "document");
|
|
shouldBe("iterator.whatToShow", "0");
|
|
shouldBeNull("iterator.filter");
|
|
shouldBeTrue("iterator.pointerBeforeReferenceNode");
|
|
|
|
debug("");
|
|
debug("Passing undefined for optional parameters");
|
|
evalAndLog("iterator = document.createNodeIterator(document, undefined, undefined)");
|
|
shouldBe("iterator.root", "document");
|
|
shouldBe("iterator.referenceNode", "document");
|
|
shouldBe("iterator.whatToShow", "0xFFFFFFFF");
|
|
shouldBeNull("iterator.filter");
|
|
shouldBeTrue("iterator.pointerBeforeReferenceNode");
|
|
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|