aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2016-11-06 07:24:23 -0600
committerGitHub <noreply@github.com>2016-11-06 07:24:23 -0600
commitdbf43c903585666583f0a490db00ebfa8a83c62b (patch)
tree43b2bf53a821642ccb67fd505b5e40cb9e97932c
parentc62ce53efa75c1d817669253036c2621caac88bf (diff)
parent1037fecc8b6f8d3735d02a34daa0092fc4115a5e (diff)
downloadservo-dbf43c903585666583f0a490db00ebfa8a83c62b.tar.gz
servo-dbf43c903585666583f0a490db00ebfa8a83c62b.zip
Auto merge of #14080 - nox:scope, r=SimonSapin
Properly expect a syntax error with :scope selectors in Element.closest <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14080) <!-- Reviewable:end -->
-rw-r--r--tests/wpt/metadata/dom/nodes/Element-closest.html.ini12
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Element-closest.html18
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>