Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
michael@0 | 1 | // Iterator prototype surfaces. |
michael@0 | 2 | |
michael@0 | 3 | load(libdir + "asserts.js"); |
michael@0 | 4 | load(libdir + "iteration.js"); |
michael@0 | 5 | |
michael@0 | 6 | function test(constructor) { |
michael@0 | 7 | var proto = Object.getPrototypeOf(constructor()[std_iterator]()); |
michael@0 | 8 | var names = Object.getOwnPropertyNames(proto); |
michael@0 | 9 | names.sort(); |
michael@0 | 10 | assertDeepEq(names, [std_iterator, 'next']); |
michael@0 | 11 | |
michael@0 | 12 | var desc = Object.getOwnPropertyDescriptor(proto, 'next'); |
michael@0 | 13 | assertEq(desc.configurable, true); |
michael@0 | 14 | assertEq(desc.enumerable, false); |
michael@0 | 15 | assertEq(desc.writable, true); |
michael@0 | 16 | |
michael@0 | 17 | assertEq(proto[std_iterator](), proto); |
michael@0 | 18 | assertIteratorDone(proto, undefined); |
michael@0 | 19 | } |
michael@0 | 20 | |
michael@0 | 21 | //test(Array); |
michael@0 | 22 | test(Map); |
michael@0 | 23 | test(Set); |