[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

simon.fraser at apple.com simon.fraser at apple.com
Wed Dec 22 12:29:17 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit aaa04f1e54169ed6dd550d6f12916e02c44be25f
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Aug 24 18:05:09 2010 +0000

    2010-08-24  Simon Fraser  <simon.fraser at apple.com>
    
            Reviewed by Sam Weinig.
    
            TreeWalker traversal order is wrong when skipping and rejecting
            https://bugs.webkit.org/show_bug.cgi?id=44377
    
            Add some tests for TreeWalker with node filters that skip and reject.
    
            * fast/dom/TreeWalker/script-tests/traversal-reject.js: Added.
            (rejectB1Filter.acceptNode):
            (rejectB2Filter.acceptNode):
            * fast/dom/TreeWalker/script-tests/traversal-skip.js: Added.
            (skipB1Filter.acceptNode):
            (skipB2Filter.acceptNode):
            * fast/dom/TreeWalker/traversal-reject-expected.txt: Added.
            * fast/dom/TreeWalker/traversal-reject.html: Added.
            * fast/dom/TreeWalker/traversal-skip-expected.txt: Added.
            * fast/dom/TreeWalker/traversal-skip.html: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65914 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 7d00323..2d6e93a 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,23 @@
+2010-08-24  Simon Fraser  <simon.fraser at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        TreeWalker traversal order is wrong when skipping and rejecting
+        https://bugs.webkit.org/show_bug.cgi?id=44377
+        
+        Add some tests for TreeWalker with node filters that skip and reject.
+
+        * fast/dom/TreeWalker/script-tests/traversal-reject.js: Added.
+        (rejectB1Filter.acceptNode):
+        (rejectB2Filter.acceptNode):
+        * fast/dom/TreeWalker/script-tests/traversal-skip.js: Added.
+        (skipB1Filter.acceptNode):
+        (skipB2Filter.acceptNode):
+        * fast/dom/TreeWalker/traversal-reject-expected.txt: Added.
+        * fast/dom/TreeWalker/traversal-reject.html: Added.
+        * fast/dom/TreeWalker/traversal-skip-expected.txt: Added.
+        * fast/dom/TreeWalker/traversal-skip.html: Added.
+
 2010-08-24  Sam Weinig  <sam at webkit.org>
 
         Reviewed by Oliver Hunt.
diff --git a/LayoutTests/fast/dom/TreeWalker/script-tests/traversal-reject.js b/LayoutTests/fast/dom/TreeWalker/script-tests/traversal-reject.js
new file mode 100644
index 0000000..33fdbef
--- /dev/null
+++ b/LayoutTests/fast/dom/TreeWalker/script-tests/traversal-reject.js
@@ -0,0 +1,58 @@
+description('Test TreeWalker with rejection');
+
+var walker;
+var testElement = document.createElement("div");
+testElement.innerHTML='<div id="A1">  <div id="B1">  <div id="C1"></div>  </div>  <div id="B2"></div><div id="B3"></div>  </div>';
+
+var rejectB1Filter = {
+  acceptNode: function(node) {
+    if (node.id == 'B1')
+      return NodeFilter.FILTER_REJECT;
+
+    return NodeFilter.FILTER_ACCEPT;
+  }
+}
+
+var rejectB2Filter = {
+  acceptNode: function(node) {
+    if (node.id == 'B2')
+      return NodeFilter.FILTER_SKIP;
+
+    return NodeFilter.FILTER_ACCEPT;
+  }
+}
+
+debug("<br>Testing nextNode")
+walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, rejectB1Filter, false);
+shouldBe("walker.nextNode(); walker.currentNode.id", "'A1'");
+shouldBe("walker.nextNode(); walker.currentNode.id", "'B2'");
+shouldBe("walker.nextNode(); walker.currentNode.id", "'B3'");
+
+debug("<br>Testing firstChild")
+walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, rejectB1Filter, false);
+shouldBe("walker.firstChild(); walker.currentNode.id", "'A1'");
+shouldBe("walker.firstChild(); walker.currentNode.id", "'B2'");
+
+debug("<br>Testing nextSibling")
+walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, rejectB2Filter, false);
+shouldBe("walker.firstChild(); walker.currentNode.id", "'A1'");
+shouldBe("walker.firstChild(); walker.currentNode.id", "'B1'");
+shouldBe("walker.nextSibling(); walker.currentNode.id", "'B3'");
+
+debug("<br>Testing parentNode")
+walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, rejectB1Filter, false);
+walker.currentNode = testElement.querySelectorAll('#C1')[0];
+shouldBe("walker.parentNode(); walker.currentNode.id", "'A1'");
+
+debug("<br>Testing previousSibling")
+walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, rejectB2Filter, false);
+walker.currentNode = testElement.querySelectorAll('#B3')[0];
+shouldBe("walker.previousSibling(); walker.currentNode.id", "'B1'");
+
+debug("<br>Testing previousNode")
+walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, rejectB1Filter, false);
+walker.currentNode = testElement.querySelectorAll('#B3')[0];
+shouldBe("walker.previousNode(); walker.currentNode.id", "'B2'");
+shouldBe("walker.previousNode(); walker.currentNode.id", "'A1'");
+
+var successfullyParsed = true;
diff --git a/LayoutTests/fast/dom/TreeWalker/script-tests/traversal-skip.js b/LayoutTests/fast/dom/TreeWalker/script-tests/traversal-skip.js
new file mode 100644
index 0000000..d328f53
--- /dev/null
+++ b/LayoutTests/fast/dom/TreeWalker/script-tests/traversal-skip.js
@@ -0,0 +1,60 @@
+description('Test TreeWalker with skipping');
+
+var walker;
+var testElement = document.createElement("div");
+testElement.innerHTML='<div id="A1">  <div id="B1">  <div id="C1"></div>  </div>  <div id="B2"></div><div id="B3"></div>  </div>';
+
+var skipB1Filter = {
+  acceptNode: function(node) {
+    if (node.id == 'B1')
+      return NodeFilter.FILTER_SKIP;
+
+    return NodeFilter.FILTER_ACCEPT;
+  }
+}
+
+var skipB2Filter = {
+  acceptNode: function(node) {
+    if (node.id == 'B2')
+      return NodeFilter.FILTER_SKIP;
+
+    return NodeFilter.FILTER_ACCEPT;
+  }
+}
+
+debug("<br>Testing nextNode")
+walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, skipB1Filter, false);
+shouldBe("walker.nextNode(); walker.currentNode.id", "'A1'");
+shouldBe("walker.nextNode(); walker.currentNode.id", "'C1'");
+shouldBe("walker.nextNode(); walker.currentNode.id", "'B2'");
+shouldBe("walker.nextNode(); walker.currentNode.id", "'B3'");
+
+debug("<br>Testing firstChild")
+walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, skipB1Filter, false);
+shouldBe("walker.firstChild(); walker.currentNode.id", "'A1'");
+shouldBe("walker.firstChild(); walker.currentNode.id", "'C1'");
+
+debug("<br>Testing nextSibling")
+walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, skipB2Filter, false);
+shouldBe("walker.firstChild(); walker.currentNode.id", "'A1'");
+shouldBe("walker.firstChild(); walker.currentNode.id", "'B1'");
+shouldBe("walker.nextSibling(); walker.currentNode.id", "'B3'");
+
+debug("<br>Testing parentNode")
+walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, skipB1Filter, false);
+walker.currentNode = testElement.querySelectorAll('#C1')[0];
+shouldBe("walker.parentNode(); walker.currentNode.id", "'A1'");
+
+debug("<br>Testing previousSibling")
+walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, skipB2Filter, false);
+walker.currentNode = testElement.querySelectorAll('#B3')[0];
+shouldBe("walker.previousSibling(); walker.currentNode.id", "'B1'");
+
+debug("<br>Testing previousNode")
+walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, skipB1Filter, false);
+walker.currentNode = testElement.querySelectorAll('#B3')[0];
+shouldBe("walker.previousNode(); walker.currentNode.id", "'B2'");
+shouldBe("walker.previousNode(); walker.currentNode.id", "'C1'");
+shouldBe("walker.previousNode(); walker.currentNode.id", "'A1'");
+
+var successfullyParsed = true;
diff --git a/LayoutTests/fast/dom/TreeWalker/traversal-reject-expected.txt b/LayoutTests/fast/dom/TreeWalker/traversal-reject-expected.txt
new file mode 100644
index 0000000..89a3127
--- /dev/null
+++ b/LayoutTests/fast/dom/TreeWalker/traversal-reject-expected.txt
@@ -0,0 +1,33 @@
+Test TreeWalker with rejection
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+
+Testing nextNode
+PASS walker.nextNode(); walker.currentNode.id is 'A1'
+PASS walker.nextNode(); walker.currentNode.id is 'B2'
+PASS walker.nextNode(); walker.currentNode.id is 'B3'
+
+Testing firstChild
+PASS walker.firstChild(); walker.currentNode.id is 'A1'
+PASS walker.firstChild(); walker.currentNode.id is 'B2'
+
+Testing nextSibling
+PASS walker.firstChild(); walker.currentNode.id is 'A1'
+PASS walker.firstChild(); walker.currentNode.id is 'B1'
+PASS walker.nextSibling(); walker.currentNode.id is 'B3'
+
+Testing parentNode
+PASS walker.parentNode(); walker.currentNode.id is 'A1'
+
+Testing previousSibling
+PASS walker.previousSibling(); walker.currentNode.id is 'B1'
+
+Testing previousNode
+PASS walker.previousNode(); walker.currentNode.id is 'B2'
+PASS walker.previousNode(); walker.currentNode.id is 'A1'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/dom/TreeWalker/traversal-reject.html b/LayoutTests/fast/dom/TreeWalker/traversal-reject.html
new file mode 100644
index 0000000..ca34d86
--- /dev/null
+++ b/LayoutTests/fast/dom/TreeWalker/traversal-reject.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+<head>
+<link rel="stylesheet" href="../../js/resources/js-test-style.css">
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/traversal-reject.js"></script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/fast/dom/TreeWalker/traversal-skip-expected.txt b/LayoutTests/fast/dom/TreeWalker/traversal-skip-expected.txt
new file mode 100644
index 0000000..65bf98f
--- /dev/null
+++ b/LayoutTests/fast/dom/TreeWalker/traversal-skip-expected.txt
@@ -0,0 +1,35 @@
+Test TreeWalker with skipping
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+
+Testing nextNode
+PASS walker.nextNode(); walker.currentNode.id is 'A1'
+PASS walker.nextNode(); walker.currentNode.id is 'C1'
+PASS walker.nextNode(); walker.currentNode.id is 'B2'
+PASS walker.nextNode(); walker.currentNode.id is 'B3'
+
+Testing firstChild
+PASS walker.firstChild(); walker.currentNode.id is 'A1'
+PASS walker.firstChild(); walker.currentNode.id is 'C1'
+
+Testing nextSibling
+PASS walker.firstChild(); walker.currentNode.id is 'A1'
+PASS walker.firstChild(); walker.currentNode.id is 'B1'
+PASS walker.nextSibling(); walker.currentNode.id is 'B3'
+
+Testing parentNode
+PASS walker.parentNode(); walker.currentNode.id is 'A1'
+
+Testing previousSibling
+PASS walker.previousSibling(); walker.currentNode.id is 'B1'
+
+Testing previousNode
+PASS walker.previousNode(); walker.currentNode.id is 'B2'
+PASS walker.previousNode(); walker.currentNode.id is 'C1'
+PASS walker.previousNode(); walker.currentNode.id is 'A1'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/dom/TreeWalker/traversal-skip.html b/LayoutTests/fast/dom/TreeWalker/traversal-skip.html
new file mode 100644
index 0000000..d788624
--- /dev/null
+++ b/LayoutTests/fast/dom/TreeWalker/traversal-skip.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+<head>
+<link rel="stylesheet" href="../../js/resources/js-test-style.css">
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/traversal-skip.js"></script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list