mirror of
https://github.com/servo/servo.git
synced 2025-08-23 14:25:33 +01:00
Implement [Unscopable] (fixes #11583)
This commit is contained in:
parent
0f1f99a4bf
commit
3529803975
8 changed files with 96 additions and 35 deletions
|
@ -1,5 +0,0 @@
|
|||
[remove-unscopable.html]
|
||||
type: testharness
|
||||
[remove() should be unscopable]
|
||||
expected: FAIL
|
||||
|
|
@ -5,14 +5,28 @@
|
|||
<script src=/resources/testharnessreport.js></script>
|
||||
<div id="testDiv" onclick="result1 = remove; result2 = this.remove;"></div>
|
||||
<script>
|
||||
var remove = "Hello there";
|
||||
var result1;
|
||||
var result2;
|
||||
test(function() {
|
||||
assert_true(Element.prototype[Symbol.unscopables].remove);
|
||||
var div = document.querySelector("#testDiv");
|
||||
div.dispatchEvent(new Event("click"));
|
||||
assert_equals(typeof result1, "string");
|
||||
assert_equals(typeof result2, "function");
|
||||
}, "remove() should be unscopable")
|
||||
var unscopables = [
|
||||
"before",
|
||||
"after",
|
||||
"replaceWith",
|
||||
"remove",
|
||||
"prepend",
|
||||
"append"
|
||||
];
|
||||
for (var i in unscopables) {
|
||||
var name = unscopables[i];
|
||||
window[name] = "Hello there";
|
||||
result1 = result2 = undefined;
|
||||
test(function () {
|
||||
assert_true(Element.prototype[Symbol.unscopables][name]);
|
||||
var div = document.querySelector('#testDiv');
|
||||
div.setAttribute(
|
||||
"onclick", "result1 = " + name + "; result2 = this." + name + ";");
|
||||
div.dispatchEvent(new Event("click"));
|
||||
assert_equals(typeof result1, "string");
|
||||
assert_equals(typeof result2, "function");
|
||||
}, name + "() should be unscopable");
|
||||
}
|
||||
</script>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue