OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <meta charset=utf-8> | 2 <meta charset=utf-8> |
3 <title>Node.childNodes</title> | 3 <title>Node.childNodes</title> |
4 <link rel=help href="https://dom.spec.whatwg.org/#dom-node-childnodes"> | 4 <link rel=help href="https://dom.spec.whatwg.org/#dom-node-childnodes"> |
5 <link rel=author title="Tim Taubert" href="mailto:ttaubert@mozilla.com"> | 5 <link rel=author title="Tim Taubert" href="mailto:ttaubert@mozilla.com"> |
6 <link rel=author title="Ms2ger" href="mailto:Ms2ger@gmail.com"> | 6 <link rel=author title="Ms2ger" href="mailto:Ms2ger@gmail.com"> |
7 <script src="/resources/testharness.js"></script> | 7 <script src="/resources/testharness.js"></script> |
8 <script src="/resources/testharnessreport.js"></script> | 8 <script src="/resources/testharnessreport.js"></script> |
9 <div id="log"></div> | 9 <div id="log"></div> |
10 <script> | 10 <script> |
(...skipping 27 matching lines...) Expand all Loading... |
38 check_parent_node(document.createElement("p")); | 38 check_parent_node(document.createElement("p")); |
39 }, "Node.childNodes on an Element."); | 39 }, "Node.childNodes on an Element."); |
40 | 40 |
41 test(function() { | 41 test(function() { |
42 check_parent_node(document.createDocumentFragment()); | 42 check_parent_node(document.createDocumentFragment()); |
43 }, "Node.childNodes on a DocumentFragment."); | 43 }, "Node.childNodes on a DocumentFragment."); |
44 | 44 |
45 test(function() { | 45 test(function() { |
46 check_parent_node(new Document()); | 46 check_parent_node(new Document()); |
47 }, "Node.childNodes on a Document."); | 47 }, "Node.childNodes on a Document."); |
| 48 |
| 49 test(function() { |
| 50 var node = document.createElement("div"); |
| 51 var kid1 = document.createElement("p"); |
| 52 var kid2 = document.createTextNode("hey"); |
| 53 var kid3 = document.createElement("span"); |
| 54 node.appendChild(kid1); |
| 55 node.appendChild(kid2); |
| 56 node.appendChild(kid3); |
| 57 |
| 58 var list = node.childNodes; |
| 59 assert_array_equals([...list], [kid1, kid2, kid3]); |
| 60 |
| 61 var keys = list.keys(); |
| 62 assert_false(keys instanceof Array); |
| 63 keys = [...keys]; |
| 64 assert_array_equals(keys, [0, 1, 2]); |
| 65 |
| 66 var values = list.values(); |
| 67 assert_false(values instanceof Array); |
| 68 values = [...values]; |
| 69 assert_array_equals(values, [kid1, kid2, kid3]); |
| 70 |
| 71 var entries = list.entries(); |
| 72 assert_false(entries instanceof Array); |
| 73 entries = [...entries]; |
| 74 assert_equals(entries.length, keys.length); |
| 75 assert_equals(entries.length, values.length); |
| 76 for (var i = 0; i < entries.length; ++i) { |
| 77 assert_array_equals(entries[i], [keys[i], values[i]]); |
| 78 } |
| 79 |
| 80 var cur = 0; |
| 81 var thisObj = {}; |
| 82 list.forEach(function(value, key, listObj) { |
| 83 assert_equals(listObj, list); |
| 84 assert_equals(this, thisObj); |
| 85 assert_equals(value, values[cur]); |
| 86 assert_equals(key, keys[cur]); |
| 87 cur++; |
| 88 }, thisObj); |
| 89 assert_equals(cur, entries.length); |
| 90 |
| 91 assert_equals(list[Symbol.iterator], Array.prototype[Symbol.iterator]); |
| 92 assert_equals(list.keys, Array.prototype.keys); |
| 93 assert_equals(list.values, Array.prototype.values); |
| 94 assert_equals(list.entries, Array.prototype.entries); |
| 95 assert_equals(list.forEach, Array.prototype.forEach); |
| 96 }, "Iterator behavior of Node.childNodes"); |
48 </script> | 97 </script> |
OLD | NEW |