diff options
Diffstat (limited to 'js/src/jit-test/tests/collections/iterator-proto-1.js')
-rw-r--r-- | js/src/jit-test/tests/collections/iterator-proto-1.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/collections/iterator-proto-1.js b/js/src/jit-test/tests/collections/iterator-proto-1.js new file mode 100644 index 0000000000..c9827a5746 --- /dev/null +++ b/js/src/jit-test/tests/collections/iterator-proto-1.js @@ -0,0 +1,18 @@ +// All iterators of the same collection type share their immediate prototype. +// Those prototype objects in turn inherit directly from %IteratorPrototype%. + +load(libdir + "iteration.js"); + +// Get %IteratorPrototype%. +var iterProto = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); + +function test(obj0, obj1) { + var iter0 = obj0[Symbol.iterator](), iter1 = obj1[Symbol.iterator](); + var proto = Object.getPrototypeOf(iter0); + assertEq(Object.getPrototypeOf(iter1), proto); + assertEq(Object.getPrototypeOf(proto), iterProto); +} + +test([], [1]); +test(new Map(), new Map([[1, 1]])); +test(new Set(), new Set([1])); |