diff options
-rw-r--r-- | tests/wpt/metadata/dom/nodes/Element-closest.html.ini | 12 | ||||
-rw-r--r-- | tests/wpt/web-platform-tests/dom/nodes/Element-closest.html | 18 |
2 files changed, 14 insertions, 16 deletions
diff --git a/tests/wpt/metadata/dom/nodes/Element-closest.html.ini b/tests/wpt/metadata/dom/nodes/Element-closest.html.ini index 705a5da6b9f..ff8b84fd2da 100644 --- a/tests/wpt/metadata/dom/nodes/Element-closest.html.ini +++ b/tests/wpt/metadata/dom/nodes/Element-closest.html.ini @@ -4,15 +4,3 @@ bug: https://github.com/servo/servo/issues/10781 expected: FAIL - [Element.closest with context node 'test4' and selector ':scope'] - expected: FAIL - - [Element.closest with context node 'test4' and selector 'select > :scope'] - expected: FAIL - - [Element.closest with context node 'test4' and selector 'div > :scope'] - expected: FAIL - - [Element.closest with context node 'test4' and selector ':has(> :scope)'] - expected: FAIL - diff --git a/tests/wpt/web-platform-tests/dom/nodes/Element-closest.html b/tests/wpt/web-platform-tests/dom/nodes/Element-closest.html index 386e3bd251b..e5af1a43b62 100644 --- a/tests/wpt/web-platform-tests/dom/nodes/Element-closest.html +++ b/tests/wpt/web-platform-tests/dom/nodes/Element-closest.html @@ -56,10 +56,11 @@ do_test(":first-child" , "test12", "test3"); do_test(":invalid" , "test11", "test2"); - do_test(":scope" , "test4", "test4"); - do_test("select > :scope" , "test4", "test4"); - do_test("div > :scope" , "test4", ""); - do_test(":has(> :scope)" , "test4", "test3"); + do_scope_test(":scope" , "test4"); + do_scope_test("select > :scope" , "test4"); + do_scope_test("div > :scope" , "test4"); + do_scope_test(":has(> :scope)" , "test4"); + function do_test(aSelector, aElementId, aTargetId) { test(function() { var el = document.getElementById(aElementId).closest(aSelector); @@ -70,4 +71,13 @@ function do_test(aSelector, aElementId, aTargetId) { } }, "Element.closest with context node '" + aElementId + "' and selector '" + aSelector + "'"); } + +function do_scope_test(aSelector, aElementId) { + test(function() { + var el = document.getElementById(aElementId); + assert_throws("SYNTAX_ERR", function() { + el.closest(aSelector); + }); + }, "Element.closest with context node '" + aElementId + "' and selector '" + aSelector + "' should throw"); +} </script> |