diff options
-rw-r--r-- | components/script/dom/webidls/DOMTokenList.webidl | 1 | ||||
-rw-r--r-- | tests/wpt/metadata/MANIFEST.json | 11 | ||||
-rw-r--r-- | tests/wpt/web-platform-tests/dom/lists/DOMTokenList-Iterable.html | 34 |
3 files changed, 45 insertions, 1 deletions
diff --git a/components/script/dom/webidls/DOMTokenList.webidl b/components/script/dom/webidls/DOMTokenList.webidl index 7285ac687e1..11bdbda8570 100644 --- a/components/script/dom/webidls/DOMTokenList.webidl +++ b/components/script/dom/webidls/DOMTokenList.webidl @@ -25,4 +25,5 @@ interface DOMTokenList { attribute DOMString value; stringifier; + iterable<DOMString?>; }; diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 5696e4020dd..855adc0d2f9 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -37478,7 +37478,16 @@ "local_changes": { "deleted": [], "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": { diff --git a/tests/wpt/web-platform-tests/dom/lists/DOMTokenList-Iterable.html b/tests/wpt/web-platform-tests/dom/lists/DOMTokenList-Iterable.html new file mode 100644 index 00000000000..4cf84b12a22 --- /dev/null +++ b/tests/wpt/web-platform-tests/dom/lists/DOMTokenList-Iterable.html @@ -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> |