Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/traversal/TreeWalker.html |
diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/traversal/TreeWalker.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/traversal/TreeWalker.html |
deleted file mode 100644 |
index 1c9a0587f19bc96566e29987284534288db57e1d..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/traversal/TreeWalker.html |
+++ /dev/null |
@@ -1,298 +0,0 @@ |
-<!doctype html> |
-<title>TreeWalker tests</title> |
-<link rel="author" title="Aryeh Gregor" href=ayg@aryeh.name> |
-<meta name=timeout content=long> |
-<div id=log></div> |
-<script src=../../../../resources/testharness.js></script> |
-<script src=../../../../resources/testharnessreport.js></script> |
-<script src=../common.js></script> |
-<script> |
-"use strict"; |
- |
-// TODO .previousNode, .nextNode |
- |
-function filterNode(node, whatToShow, filter) { |
- // "If active flag is set throw an "InvalidStateError"." |
- // Ignore active flag for these tests, we aren't calling recursively |
- // TODO Test me |
- |
- // "Let n be node's nodeType attribute value minus 1." |
- var n = node.nodeType - 1; |
- |
- // "If the nth bit (where 0 is the least significant bit) of whatToShow is |
- // not set, return FILTER_SKIP." |
- if (!(whatToShow & (1 << n))) { |
- return NodeFilter.FILTER_SKIP; |
- } |
- |
- // "If filter is null, return FILTER_ACCEPT." |
- if (!filter) { |
- return NodeFilter.FILTER_ACCEPT; |
- } |
- |
- // "Set the active flag." |
- // |
- // "Let result be the return value of invoking filter." |
- // |
- // "Unset the active flag." |
- // |
- // "If an exception was thrown, re-throw the exception." |
- // TODO Test me |
- // |
- // "Return result." |
- return filter(node); |
-} |
- |
-function testTraverseChildren(type, walker, root, whatToShow, filter) { |
- // TODO We don't test .currentNode other than the root |
- walker.currentNode = root; |
- assert_equals(walker.currentNode, root, "Setting .currentNode"); |
- |
- var expectedReturn = null; |
- var expectedCurrentNode = root; |
- |
- // "To traverse children of type type, run these steps: |
- // |
- // "Let node be the value of the currentNode attribute." |
- var node = walker.currentNode; |
- |
- // "Set node to node's first child if type is first, and node's last child |
- // if type is last." |
- node = type == "first" ? node.firstChild : node.lastChild; |
- |
- // "Main: While node is not null, run these substeps:" |
- while (node) { |
- // "Filter node and let result be the return value." |
- var result = filterNode(node, whatToShow, filter); |
- |
- // "If result is FILTER_ACCEPT, then set the currentNode attribute to |
- // node and return node." |
- if (result == NodeFilter.FILTER_ACCEPT) { |
- expectedCurrentNode = expectedReturn = node; |
- break; |
- } |
- |
- // "If result is FILTER_SKIP, run these subsubsteps:" |
- if (result == NodeFilter.FILTER_SKIP) { |
- // "Let child be node's first child if type is first, and node's |
- // last child if type is last." |
- var child = type == "first" ? node.firstChild : node.lastChild; |
- |
- // "If child is not null, set node to child and goto Main." |
- if (child) { |
- node = child; |
- continue; |
- } |
- } |
- |
- // "While node is not null, run these subsubsteps:" |
- while (node) { |
- // "Let sibling be node's next sibling if type is first, and node's |
- // previous sibling if type is last." |
- var sibling = type == "first" ? node.nextSibling |
- : node.previousSibling; |
- |
- // "If sibling is not null, set node to sibling and goto Main." |
- if (sibling) { |
- node = sibling; |
- break; |
- } |
- |
- // "Let parent be node's parent." |
- var parent = node.parentNode; |
- |
- // "If parent is null, parent is root, or parent is currentNode |
- // attribute's value, return null." |
- if (!parent || parent == root || parent == walker.currentNode) { |
- expectedReturn = node = null; |
- break; |
- } else { |
- // "Otherwise, set node to parent." |
- node = parent; |
- } |
- } |
- } |
- |
- if (type == "first") { |
- assert_equals(walker.firstChild(), expectedReturn, ".firstChild()"); |
- assert_equals(walker.currentNode, expectedCurrentNode, |
- ".currentNode after .firstChild()"); |
- } else { |
- assert_equals(walker.lastChild(), expectedReturn, ".lastChild()"); |
- assert_equals(walker.currentNode, expectedCurrentNode, |
- ".currentNode after .lastChild()"); |
- } |
-} |
- |
-function testTraverseSiblings(type, walker, root, whatToShow, filter) { |
- // TODO We don't test .currentNode other than the root's first or last child |
- if (!root.firstChild) { |
- // Nothing much to test |
- |
- walker.currentNode = root; |
- assert_equals(walker.currentNode, root, "Setting .currentNode"); |
- |
- if (type == "next") { |
- assert_equals(walker.nextSibling(), null, ".nextSibling()"); |
- assert_equals(walker.currentNode, root, |
- ".currentNode after .nextSibling()") |
- } else { |
- assert_equals(walker.previousSibling(), null, ".previousSibling()"); |
- assert_equals(walker.currentNode, root, |
- ".currentNode after .previousSibling()") |
- } |
- return; |
- } |
- |
- if (type == "next") { |
- walker.currentNode = root.firstChild; |
- assert_equals(walker.currentNode, root.firstChild, |
- "Setting .currentNode"); |
- } else { |
- walker.currentNode = root.lastChild; |
- assert_equals(walker.currentNode, root.lastChild, |
- "Setting .currentNode"); |
- } |
- |
- var expectedReturn = null; |
- var expectedCurrentNode = type == "next" ? root.firstChild : root.lastChild; |
- |
- // "To traverse siblings of type type run these steps:" |
- (function() { |
- // "Let node be the value of the currentNode attribute." |
- var node = type == "next" ? root.firstChild : root.lastChild; |
- |
- // "If node is root, return null. |
- // |
- // "Run these substeps: |
- do { |
- // "Let sibling be node's next sibling if type is next, and node's |
- // previous sibling if type is previous." |
- var sibling = type == "next" ? node.nextSibling : |
- node.previousSibling; |
- |
- // "While sibling is not null, run these subsubsteps:" |
- while (sibling) { |
- // "Set node to sibling." |
- node = sibling; |
- |
- // "Filter node and let result be the return value." |
- var result = filterNode(node, whatToShow, filter); |
- |
- // "If result is FILTER_ACCEPT, then set the currentNode |
- // attribute to node and return node." |
- if (result == NodeFilter.FILTER_ACCEPT) { |
- expectedCurrentNode = expectedReturn = node; |
- return; |
- } |
- |
- // "Set sibling to node's first child if type is next, and |
- // node's last child if type is previous." |
- sibling = type == "next" ? node.firstChild : node.lastChild; |
- |
- // "If result is FILTER_REJECT or sibling is null, then set |
- // sibling to node's next sibling if type is next, and node's |
- // previous sibling if type is previous." |
- if (result == NodeFilter.FILTER_REJECT || !sibling) { |
- sibling = type == "next" ? node.nextSibling : |
- node.previousSibling; |
- } |
- } |
- |
- // "Set node to its parent." |
- node = node.parentNode; |
- |
- // "If node is null or is root, return null. |
- if (!node || node == root) { |
- return; |
- } |
- // "Filter node and if the return value is FILTER_ACCEPT, then |
- // return null." |
- if (filterNode(node, whatToShow, filter)) { |
- return; |
- } |
- |
- // "Run these substeps again." |
- } while (true); |
- })(); |
- |
- if (type == "next") { |
- assert_equals(walker.nextSibling(), expectedReturn, ".nextSibling()"); |
- assert_equals(walker.currentNode, expectedCurrentNode, |
- ".currentNode after .nextSibling()"); |
- } else { |
- assert_equals(walker.previousSibling(), expectedReturn, ".previousSibling()"); |
- assert_equals(walker.currentNode, expectedCurrentNode, |
- ".currentNode after .previousSibling()"); |
- } |
-} |
- |
-function testWalker(root, whatToShow, filter) { |
- var walker = document.createTreeWalker(root, whatToShow, filter); |
- |
- assert_equals(walker.root, root, ".root"); |
- assert_equals(walker.whatToShow, whatToShow, ".whatToShow"); |
- assert_equals(walker.filter, filter, ".filter"); |
- assert_equals(walker.currentNode, root, ".currentNode"); |
- |
- var expectedReturn = null; |
- var expectedCurrentNode = walker.currentNode; |
- // "The parentNode() method must run these steps:" |
- // |
- // "Let node be the value of the currentNode attribute." |
- var node = walker.currentNode; |
- |
- // "While node is not null and is not root, run these substeps:" |
- while (node && node != root) { |
- // "Let node be node's parent." |
- node = node.parentNode; |
- |
- // "If node is not null and filtering node returns FILTER_ACCEPT, then |
- // set the currentNode attribute to node, return node." |
- if (node && filterNode(node, whatToShow, filter) == |
- NodeFilter.FILTER_ACCEPT) { |
- expectedCurrentNode = expectedReturn = node; |
- } |
- } |
- assert_equals(walker.parentNode(), expectedReturn, ".parentNode()"); |
- assert_equals(walker.currentNode, expectedCurrentNode, |
- ".currentNode after .parentNode()"); |
- |
- testTraverseChildren("first", walker, root, whatToShow, filter); |
- testTraverseChildren("last", walker, root, whatToShow, filter); |
- |
- testTraverseSiblings("next", walker, root, whatToShow, filter); |
- testTraverseSiblings("previous", walker, root, whatToShow, filter); |
-} |
- |
-var whatToShows = [ |
- "0", |
- "0xFFFFFFFF", |
- "NodeFilter.SHOW_ELEMENT", |
- "NodeFilter.SHOW_ATTRIBUTE", |
- "NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_DOCUMENT", |
-]; |
- |
-var callbacks = [ |
- "null", |
- "(function(node) { return true })", |
- "(function(node) { return false })", |
- "(function(node) { return node.nodeName[0] == '#' })", |
-]; |
- |
-var tests = []; |
-for (var i = 0; i < testNodes.length; i++) { |
- for (var j = 0; j < whatToShows.length; j++) { |
- for (var k = 0; k < callbacks.length; k++) { |
- tests.push([ |
- "document.createTreeWalker(" + testNodes[i] + |
- ", " + whatToShows[j] + ", " + callbacks[k] + ")", |
- eval(testNodes[i]), eval(whatToShows[j]), eval(callbacks[k]) |
- ]); |
- } |
- } |
-} |
-generate_tests(testWalker, tests); |
- |
-testDiv.style.display = "none"; |
-</script> |