// Removing many Map entries does not cause a live iterator to skip any of the // entries that were not removed. (Compacting a Map must not be observable to // script.) load(libdir + "iteration.js"); var map = new Map(); for (var i = 0; i < 32; i++) map.set(i, i); var iter = map[Symbol.iterator](); assertIteratorNext(iter, [0, 0]); for (var i = 0; i < 30; i++) map.delete(i); assertEq(map.size, 2); for (var i = 32; i < 100; i++) map.set(i, i); // eventually triggers compaction for (var i = 30; i < 100; i++) assertIteratorNext(iter, [i, i]); assertIteratorDone(iter, undefined);