Make DOMTokenList Iterable

This commit is contained in:
Tiziana Sellitto 2016-09-10 15:45:43 +02:00
parent b3db4b4c0d
commit 4efaa91cd1
3 changed files with 45 additions and 1 deletions

View file

@ -25,4 +25,5 @@ interface DOMTokenList {
attribute DOMString value; attribute DOMString value;
stringifier; stringifier;
iterable<DOMString?>;
}; };

View file

@ -37478,7 +37478,16 @@
"local_changes": { "local_changes": {
"deleted": [], "deleted": [],
"deleted_reftests": {}, "deleted_reftests": {},
"items": {}, "items": {
"testharness": {
"dom/lists/DOMTokenList-Iterable.html": [
{
"path": "dom/lists/DOMTokenList-Iterable.html",
"url": "/dom/lists/DOMTokenList-Iterable.html"
}
]
}
},
"reftest_nodes": {} "reftest_nodes": {}
}, },
"reftest_nodes": { "reftest_nodes": {

View file

@ -0,0 +1,34 @@
<!doctype html>
<meta charset="utf-8">
<title>DOMTokenList Iterable Test</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<span class="foo Foo foo "></span>
<script>
var elementClasses;
setup(function() {
elementClasses = document.querySelector("span").classList;
})
test(function() {
assert_true('length' in elementClasses);
}, 'DOMTokenList has length method.');
test(function() {
assert_true('values' in elementClasses);
}, 'DOMTokenList has values method.');
test(function() {
assert_true('entries' in elementClasses);
}, 'DOMTokenList has entries method.');
test(function() {
assert_true('forEach' in elementClasses);
}, 'DOMTokenList has forEach method.');
test(function() {
assert_true(Symbol.iterator in elementClasses);
}, 'DOMTokenList has Symbol.iterator.');
test(function() {
var classList = [];
for (var className of elementClasses){
classList.push(className);
}
assert_array_equals(classList, ['foo', 'Foo']);
}, 'DOMTokenList is iterable via for-of loop.');
</script>