summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/collections/Map-iterator-remove-2.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/collections/Map-iterator-remove-2.js')
-rw-r--r--js/src/jit-test/tests/collections/Map-iterator-remove-2.js13
1 files changed, 13 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/collections/Map-iterator-remove-2.js b/js/src/jit-test/tests/collections/Map-iterator-remove-2.js
new file mode 100644
index 000000000..d49efa1c8
--- /dev/null
+++ b/js/src/jit-test/tests/collections/Map-iterator-remove-2.js
@@ -0,0 +1,13 @@
+// A map iterator can cope with removing the next entry.
+
+load(libdir + "iteration.js");
+
+var map = new Map([['a', 0], ['b', 1], ['c', 2], ['d', 3]]);
+var iter = map[Symbol.iterator]();
+var log = '';
+for (let [k, v] of iter) {
+ log += k + v;
+ if (k === 'b')
+ map.delete('c');
+}
+assertEq(log, 'a0b1d3');