diff --git a/tests/wpt/metadata/dom/traversal/TreeWalker-acceptNode-filter.html.ini b/tests/wpt/metadata/dom/traversal/TreeWalker-acceptNode-filter.html.ini new file mode 100644 index 00000000000..e67e45df785 --- /dev/null +++ b/tests/wpt/metadata/dom/traversal/TreeWalker-acceptNode-filter.html.ini @@ -0,0 +1,8 @@ +[TreeWalker-acceptNode-filter.html] + type: testharness + [Testing with filter function that throws] + expected: FAIL + + [Testing with filter object that throws] + expected: FAIL + diff --git a/tests/wpt/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html b/tests/wpt/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html index b7f89eeea89..769d9c2e248 100644 --- a/tests/wpt/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html +++ b/tests/wpt/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html @@ -123,33 +123,31 @@ test(function() assert_node(walker.firstChild(), { type: Element, id: 'A1' }); }, 'Testing acceptNode callee'); -// XXX Looks like Servo is doing something wrong when a callback function throws test(function() { + var test_error = { name: "test" }; var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, function(node) { - throw('filter exception'); - return /*NodeFilter.*/FILTER_ACCEPT; + throw test_error; }); - assert_throws(null, function () { walker.firstChild(); }); + assert_throws(test_error, function () { walker.firstChild(); }); assert_node(walker.currentNode, { type: Element, id: 'root' }); - assert_throws(null, function () { walker.nextNode(); }); + assert_throws(test_error, function () { walker.nextNode(); }); assert_node(walker.currentNode, { type: Element, id: 'root' }); }, 'Testing with filter function that throws'); -// XXX Looks like Servo is doing something wrong when a callback function throws test(function() { + var test_error = { name: "test" }; var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, { acceptNode : function(node) { - throw('filter exception'); - return /*NodeFilter.*/FILTER_ACCEPT; + throw test_error; } }); - assert_throws(null, function () { walker.firstChild(); }); + assert_throws(test_error, function () { walker.firstChild(); }); assert_node(walker.currentNode, { type: Element, id: 'root' }); - assert_throws(null, function () { walker.nextNode(); }); + assert_throws(test_error, function () { walker.nextNode(); }); assert_node(walker.currentNode, { type: Element, id: 'root' }); }, 'Testing with filter object that throws');