Changeset 248705 in webkit


Ignore:
Timestamp:
Aug 14, 2019 7:36:47 PM (5 years ago)
Author:
commit-queue@webkit.org
Message:

Re-sync web-platform-tests/dom/traversal from upstream
https://bugs.webkit.org/show_bug.cgi?id=200737

Patch by Alexey Shvayka <Alexey Shvayka> on 2019-08-14
Reviewed by Ryosuke Niwa.

Re-sync web-platform-tests/dom/traversal from upstream 91adbef87678.

  • resources/import-expectations.json:
  • web-platform-tests/dom/traversal/*: Updated.
Location:
trunk/LayoutTests/imported/w3c
Files:
2 added
14 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r248647 r248705  
     12019-08-14  Alexey Shvayka  <shvaikalesh@gmail.com>
     2
     3        Re-sync web-platform-tests/dom/traversal from upstream
     4        https://bugs.webkit.org/show_bug.cgi?id=200737
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        Re-sync web-platform-tests/dom/traversal from upstream 91adbef87678.
     9
     10        * resources/import-expectations.json:
     11        * web-platform-tests/dom/traversal/*: Updated.
     12
    1132019-08-13  Alexey Shvayka  <shvaikalesh@gmail.com>
    214
  • trunk/LayoutTests/imported/w3c/resources/import-expectations.json

    r248647 r248705  
    133133    "web-platform-tests/dom/nodes/Node-nodeName.xhtml": "skip",
    134134    "web-platform-tests/dom/nodes/ParentNode-querySelector-All.xht": "skip",
     135    "web-platform-tests/dom/traversal": "import",
    135136    "web-platform-tests/dom/traversal/unfinished": "skip",
    136137    "web-platform-tests/domparsing": "import",
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/NodeIterator.html

    r220453 r248705  
    201201];
    202202
    203 var tests = [];
    204203for (var i = 0; i < testNodes.length; i++) {
    205204  for (var j = 0; j < whatToShows.length; j++) {
    206205    for (var k = 0; k < callbacks.length; k++) {
    207       tests.push([
    208         "document.createNodeIterator(" + testNodes[i]
    209           + ", " + whatToShows[j] + ", " + callbacks[k] + ")",
    210         eval(testNodes[i]), eval(whatToShows[j]), eval(callbacks[k])
    211       ]);
     206      test(() => {
     207        testIterator(eval(testNodes[i]), eval(whatToShows[j]), eval(callbacks[k]));
     208      }, "document.createNodeIterator(" + testNodes[i] + ", " + whatToShows[j] + ", " + callbacks[k] + ")");
    212209    }
    213210  }
    214211}
    215212
    216 generate_tests(testIterator, tests);
    217 
    218213testDiv.style.display = "none";
    219214</script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter-expected.txt

    r204090 r248705  
    77PASS Testing with object with non-function acceptNode property
    88PASS Testing with function having acceptNode function
    9 PASS Testing acceptNode callee
    109PASS Testing with filter function that throws
     10FAIL rethrows errors when getting `acceptNode` assert_throws: function "function () { walker.firstChild(); }" threw object "TypeError: Type error" ("TypeError") expected object "[object Object]" ("test")
     11PASS performs `Get` on every traverse
    1112PASS Testing with filter object that throws
    1213Test JS objects as NodeFilters
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html

    r223273 r248705  
    88<script src="/resources/testharness.js"></script>
    99<script src="/resources/testharnessreport.js"></script>
    10 <script src="traversal-support.js"></script>
     10<script src="support/assert-node.js"></script>
     11<link rel="help" href="https://dom.spec.whatwg.org/#callbackdef-nodefilter">
    1112<div id=log></div>
    1213</head>
     
    103104}, 'Testing with object with non-function acceptNode property');
    104105
    105 test(function()
     106test(function(t)
    106107{
    107108    var filter = function() { return NodeFilter.FILTER_ACCEPT; };
    108     filter.acceptNode = function(node) { return NodeFilter.FILTER_SKIP; };
     109    filter.acceptNode = t.unreached_func("`acceptNode` method should not be called on functions");
    109110    var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter);
    110111    assert_node(walker.firstChild(), { type: Element, id: 'A1' });
    111112    assert_node(walker.nextNode(), { type: Element, id: 'B1' });
    112113}, 'Testing with function having acceptNode function');
    113 
    114 test(function()
    115 {
    116     var filter = {
    117         acceptNode: function(node) {
    118             return NodeFilter.FILTER_ACCEPT;
    119         }
    120     };
    121     var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter);
    122     assert_node(walker.firstChild(), { type: Element, id: 'A1' });
    123 }, 'Testing acceptNode callee');
    124114
    125115test(function()
     
    135125    assert_node(walker.currentNode, { type: Element, id: 'root' });
    136126}, 'Testing with filter function that throws');
     127
     128test(function() {
     129    var testError = { name: "test" };
     130    var filter = {
     131        get acceptNode() {
     132            throw testError;
     133        },
     134    };
     135
     136    var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter);
     137    assert_throws(testError, function() { walker.firstChild(); });
     138    assert_node(walker.currentNode, { type: Element, id: 'root' });
     139    assert_throws(testError, function() { walker.nextNode(); });
     140    assert_node(walker.currentNode, { type: Element, id: 'root' });
     141}, "rethrows errors when getting `acceptNode`");
     142
     143test(function() {
     144    var calls = 0;
     145    var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, {
     146        get acceptNode() {
     147            calls++;
     148            return function() {
     149                return NodeFilter.FILTER_ACCEPT;
     150            };
     151        },
     152    });
     153
     154    assert_equals(calls, 0);
     155    walker.nextNode();
     156    walker.nextNode();
     157    assert_equals(calls, 2);
     158}, "performs `Get` on every traverse");
    137159
    138160test(function()
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-basic.html

    r223273 r248705  
    88<script src="/resources/testharness.js"></script>
    99<script src="/resources/testharnessreport.js"></script>
    10 <script src="traversal-support.js"></script>
     10<script src="support/assert-node.js"></script>
    1111<div id=log></div>
    1212</head>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-currentNode.html

    r223273 r248705  
    88<script src="/resources/testharness.js"></script>
    99<script src="/resources/testharnessreport.js"></script>
    10 <script src="traversal-support.js"></script>
     10<script src="support/assert-node.js"></script>
    1111<div id=log></div>
    1212</head>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject.html

    r223273 r248705  
    88<script src="/resources/testharness.js"></script>
    99<script src="/resources/testharnessreport.js"></script>
    10 <script src="traversal-support.js"></script>
     10<script src="support/assert-node.js"></script>
    1111<div id=log></div>
    1212</head>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip.html

    r223273 r248705  
    88<script src="/resources/testharness.js"></script>
    99<script src="/resources/testharnessreport.js"></script>
    10 <script src="traversal-support.js"></script>
     10<script src="support/assert-node.js"></script>
    1111<div id=log></div>
    1212</head>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-reject.html

    r223273 r248705  
    88<script src="/resources/testharness.js"></script>
    99<script src="/resources/testharnessreport.js"></script>
    10 <script src="traversal-support.js"></script>
     10<script src="support/assert-node.js"></script>
    1111<div id=log></div>
    1212</head>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most.html

    r223273 r248705  
    88<script src="/resources/testharness.js"></script>
    99<script src="/resources/testharnessreport.js"></script>
    10 <script src="traversal-support.js"></script>
     10<script src="support/assert-node.js"></script>
    1111<div id=log></div>
    1212</head>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-traversal-skip.html

    r223273 r248705  
    88<script src="/resources/testharness.js"></script>
    99<script src="/resources/testharnessreport.js"></script>
    10 <script src="traversal-support.js"></script>
     10<script src="support/assert-node.js"></script>
    1111<div id=log></div>
    1212</head>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-walking-outside-a-tree.html

    r223273 r248705  
    88<script src="/resources/testharness.js"></script>
    99<script src="/resources/testharnessreport.js"></script>
    10 <script src="traversal-support.js"></script>
     10<script src="support/assert-node.js"></script>
    1111<div id=log></div>
    1212</head>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/w3c-import.log

    r216354 r248705  
    22Do NOT modify these tests directly in WebKit.
    33Instead, create a pull request on the WPT github:
    4         https://github.com/w3c/web-platform-tests
     4        https://github.com/web-platform-tests/wpt
    55
    66Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
     
    2828/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-walking-outside-a-tree.html
    2929/LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker.html
    30 /LayoutTests/imported/w3c/web-platform-tests/dom/traversal/traversal-support.js
Note: See TracChangeset for help on using the changeset viewer.