michael@0: // All iterators of the same collection type share their immediate prototype. michael@0: // Those prototype objects in turn inherit directly from Iterator.prototype. michael@0: michael@0: load(libdir + "iteration.js"); michael@0: michael@0: function test(obj0, obj1) { michael@0: var iter0 = obj0[std_iterator](), iter1 = obj1[std_iterator](); michael@0: var proto = Object.getPrototypeOf(iter0); michael@0: assertEq(Object.getPrototypeOf(iter1), proto); michael@0: assertEq(Object.getPrototypeOf(proto), Iterator.prototype); michael@0: } michael@0: michael@0: test([], [1]); michael@0: test(Map(), Map([[1, 1]])); michael@0: test(Set(), Set([1]));