Diff
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (248704 => 248705)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2019-08-15 02:34:25 UTC (rev 248704)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2019-08-15 02:36:47 UTC (rev 248705)
@@ -1,3 +1,15 @@
+2019-08-14 Alexey Shvayka <shvaikal...@gmail.com>
+
+ Re-sync web-platform-tests/dom/traversal from upstream
+ https://bugs.webkit.org/show_bug.cgi?id=200737
+
+ Reviewed by Ryosuke Niwa.
+
+ Re-sync web-platform-tests/dom/traversal from upstream 91adbef87678.
+
+ * resources/import-expectations.json:
+ * web-platform-tests/dom/traversal/*: Updated.
+
2019-08-13 Alexey Shvayka <shvaikal...@gmail.com>
Re-sync web-platform-tests/dom/events from upstream
Modified: trunk/LayoutTests/imported/w3c/resources/import-expectations.json (248704 => 248705)
--- trunk/LayoutTests/imported/w3c/resources/import-expectations.json 2019-08-15 02:34:25 UTC (rev 248704)
+++ trunk/LayoutTests/imported/w3c/resources/import-expectations.json 2019-08-15 02:36:47 UTC (rev 248705)
@@ -132,6 +132,7 @@
"web-platform-tests/dom/nodes/Element-siblingElement-null.xhtml": "skip",
"web-platform-tests/dom/nodes/Node-nodeName.xhtml": "skip",
"web-platform-tests/dom/nodes/ParentNode-querySelector-All.xht": "skip",
+ "web-platform-tests/dom/traversal": "import",
"web-platform-tests/dom/traversal/unfinished": "skip",
"web-platform-tests/domparsing": "import",
"web-platform-tests/domparsing/DOMParser-parseFromString-xml-doctype.html": "skip",
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/NodeIterator.html (248704 => 248705)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/NodeIterator.html 2019-08-15 02:34:25 UTC (rev 248704)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/NodeIterator.html 2019-08-15 02:36:47 UTC (rev 248705)
@@ -200,20 +200,15 @@
"(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.createNodeIterator(" + testNodes[i]
- + ", " + whatToShows[j] + ", " + callbacks[k] + ")",
- eval(testNodes[i]), eval(whatToShows[j]), eval(callbacks[k])
- ]);
+ test(() => {
+ testIterator(eval(testNodes[i]), eval(whatToShows[j]), eval(callbacks[k]));
+ }, "document.createNodeIterator(" + testNodes[i] + ", " + whatToShows[j] + ", " + callbacks[k] + ")");
}
}
}
-generate_tests(testIterator, tests);
-
testDiv.style.display = "none";
</script>
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter-expected.txt (248704 => 248705)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter-expected.txt 2019-08-15 02:34:25 UTC (rev 248704)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter-expected.txt 2019-08-15 02:36:47 UTC (rev 248705)
@@ -6,7 +6,8 @@
PASS Testing with object lacking acceptNode property
PASS Testing with object with non-function acceptNode property
PASS Testing with function having acceptNode function
-PASS Testing acceptNode callee
PASS Testing with filter function that throws
+FAIL rethrows errors when getting `acceptNode` assert_throws: function "function () { walker.firstChild(); }" threw object "TypeError: Type error" ("TypeError") expected object "[object Object]" ("test")
+PASS performs `Get` on every traverse
PASS Testing with filter object that throws
Test JS objects as NodeFilters
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html (248704 => 248705)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html 2019-08-15 02:34:25 UTC (rev 248704)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html 2019-08-15 02:36:47 UTC (rev 248705)
@@ -7,7 +7,8 @@
<title>TreeWalker: acceptNode-filter</title>
<script src=""
<script src=""
-<script src=""
+<script src=""
+<link rel="help" href=""
<div id=log></div>
</head>
<body>
@@ -102,10 +103,10 @@
assert_node(walker.currentNode, { type: Element, id: 'root' });
}, 'Testing with object with non-function acceptNode property');
-test(function()
+test(function(t)
{
var filter = function() { return NodeFilter.FILTER_ACCEPT; };
- filter.acceptNode = function(node) { return NodeFilter.FILTER_SKIP; };
+ filter.acceptNode = t.unreached_func("`acceptNode` method should not be called on functions");
var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter);
assert_node(walker.firstChild(), { type: Element, id: 'A1' });
assert_node(walker.nextNode(), { type: Element, id: 'B1' });
@@ -113,17 +114,6 @@
test(function()
{
- var filter = {
- acceptNode: function(node) {
- return NodeFilter.FILTER_ACCEPT;
- }
- };
- var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter);
- assert_node(walker.firstChild(), { type: Element, id: 'A1' });
-}, 'Testing acceptNode callee');
-
-test(function()
-{
var test_error = { name: "test" };
var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT,
function(node) {
@@ -135,6 +125,38 @@
assert_node(walker.currentNode, { type: Element, id: 'root' });
}, 'Testing with filter function that throws');
+test(function() {
+ var testError = { name: "test" };
+ var filter = {
+ get acceptNode() {
+ throw testError;
+ },
+ };
+
+ var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter);
+ assert_throws(testError, function() { walker.firstChild(); });
+ assert_node(walker.currentNode, { type: Element, id: 'root' });
+ assert_throws(testError, function() { walker.nextNode(); });
+ assert_node(walker.currentNode, { type: Element, id: 'root' });
+}, "rethrows errors when getting `acceptNode`");
+
+test(function() {
+ var calls = 0;
+ var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, {
+ get acceptNode() {
+ calls++;
+ return function() {
+ return NodeFilter.FILTER_ACCEPT;
+ };
+ },
+ });
+
+ assert_equals(calls, 0);
+ walker.nextNode();
+ walker.nextNode();
+ assert_equals(calls, 2);
+}, "performs `Get` on every traverse");
+
test(function()
{
var test_error = { name: "test" };
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-basic.html (248704 => 248705)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-basic.html 2019-08-15 02:34:25 UTC (rev 248704)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-basic.html 2019-08-15 02:36:47 UTC (rev 248705)
@@ -7,7 +7,7 @@
<title>TreeWalker: Basic test</title>
<script src=""
<script src=""
-<script src=""
+<script src=""
<div id=log></div>
</head>
<body>
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-currentNode.html (248704 => 248705)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-currentNode.html 2019-08-15 02:34:25 UTC (rev 248704)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-currentNode.html 2019-08-15 02:36:47 UTC (rev 248705)
@@ -7,7 +7,7 @@
<title>TreeWalker: currentNode</title>
<script src=""
<script src=""
-<script src=""
+<script src=""
<div id=log></div>
</head>
<body>
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject.html (248704 => 248705)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject.html 2019-08-15 02:34:25 UTC (rev 248704)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject.html 2019-08-15 02:36:47 UTC (rev 248705)
@@ -7,7 +7,7 @@
<title>TreeWalker: previousNodeLastChildReject</title>
<script src=""
<script src=""
-<script src=""
+<script src=""
<div id=log></div>
</head>
<body>
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip.html (248704 => 248705)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip.html 2019-08-15 02:34:25 UTC (rev 248704)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip.html 2019-08-15 02:36:47 UTC (rev 248705)
@@ -7,7 +7,7 @@
<title>TreeWalker: previousSiblingLastChildSkip</title>
<script src=""
<script src=""
-<script src=""
+<script src=""
<div id=log></div>
</head>
<body>
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-reject.html (248704 => 248705)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-reject.html 2019-08-15 02:34:25 UTC (rev 248704)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-reject.html 2019-08-15 02:36:47 UTC (rev 248705)
@@ -7,7 +7,7 @@
<title>TreeWalker: traversal-reject</title>
<script src=""
<script src=""
-<script src=""
+<script src=""
<div id=log></div>
</head>
<body>
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most.html (248704 => 248705)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most.html 2019-08-15 02:34:25 UTC (rev 248704)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most.html 2019-08-15 02:36:47 UTC (rev 248705)
@@ -7,7 +7,7 @@
<title>TreeWalker: traversal-skip-most</title>
<script src=""
<script src=""
-<script src=""
+<script src=""
<div id=log></div>
</head>
<body>
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-skip.html (248704 => 248705)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-skip.html 2019-08-15 02:34:25 UTC (rev 248704)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-skip.html 2019-08-15 02:36:47 UTC (rev 248705)
@@ -7,7 +7,7 @@
<title>TreeWalker: traversal-skip</title>
<script src=""
<script src=""
-<script src=""
+<script src=""
<div id=log></div>
</head>
<body>
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-walking-outside-a-tree.html (248704 => 248705)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-walking-outside-a-tree.html 2019-08-15 02:34:25 UTC (rev 248704)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-walking-outside-a-tree.html 2019-08-15 02:36:47 UTC (rev 248705)
@@ -7,7 +7,7 @@
<title>TreeWalker: walking-outside-a-tree</title>
<script src=""
<script src=""
-<script src=""
+<script src=""
<div id=log></div>
</head>
<body>
Copied: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/support/assert-node.js (from rev 248704, trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/traversal-support.js) (0 => 248705)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/support/assert-node.js (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/support/assert-node.js 2019-08-15 02:36:47 UTC (rev 248705)
@@ -0,0 +1,10 @@
+// |expected| should be an object indicating the expected type of node.
+function assert_node(actual, expected)
+{
+ assert_true(actual instanceof expected.type,
+ 'Node type mismatch: actual = ' + actual.nodeType + ', expected = ' + expected.nodeType);
+ if (typeof(expected.id) !== 'undefined')
+ assert_equals(actual.id, expected.id);
+ if (typeof(expected.nodeValue) !== 'undefined')
+ assert_equals(actual.nodeValue, expected.nodeValue);
+}
Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/support/w3c-import.log (0 => 248705)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/support/w3c-import.log (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/support/w3c-import.log 2019-08-15 02:36:47 UTC (rev 248705)
@@ -0,0 +1,17 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+ https://github.com/web-platform-tests/wpt
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/support/assert-node.js
Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/traversal-support.js (248704 => 248705)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/traversal-support.js 2019-08-15 02:34:25 UTC (rev 248704)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/traversal-support.js 2019-08-15 02:36:47 UTC (rev 248705)
@@ -1,10 +0,0 @@
-// |expected| should be an object indicating the expected type of node.
-function assert_node(actual, expected)
-{
- assert_true(actual instanceof expected.type,
- 'Node type mismatch: actual = ' + actual.nodeType + ', expected = ' + expected.nodeType);
- if (typeof(expected.id) !== 'undefined')
- assert_equals(actual.id, expected.id);
- if (typeof(expected.nodeValue) !== 'undefined')
- assert_equals(actual.nodeValue, expected.nodeValue);
-}
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/w3c-import.log (248704 => 248705)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/w3c-import.log 2019-08-15 02:34:25 UTC (rev 248704)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/w3c-import.log 2019-08-15 02:36:47 UTC (rev 248705)
@@ -1,7 +1,7 @@
The tests in this directory were imported from the W3C repository.
Do NOT modify these tests directly in WebKit.
Instead, create a pull request on the WPT github:
- https://github.com/w3c/web-platform-tests
+ https://github.com/web-platform-tests/wpt
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
@@ -27,4 +27,3 @@
/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-skip.html
/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-walking-outside-a-tree.html
/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker.html
-/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/traversal-support.js