js/src/jit-test/tests/collections/Map-clear-iterators-1.js

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:d74e4a6b4229
1 // A Map iterator does not visit entries removed by clear().
2
3 load(libdir + "iteration.js");
4
5 var m = Map();
6 var it = m[std_iterator]();
7 m.clear();
8 assertIteratorDone(it, undefined);
9
10 m = Map([["a", 1], ["b", 2], ["c", 3], ["d", 4]]);
11 it = m[std_iterator]();
12 assertIteratorNext(it, ["a", 1]);
13 m.clear();
14 assertIteratorDone(it, undefined);
15
16 var log = "";
17 m = Map([["a", 1], ["b", 2], ["c", 3], ["d", 4]]);
18 for (var [k, v] of m) {
19 log += k + v;
20 if (k == "b")
21 m.clear();
22 }
23 assertEq(log, "a1b2");

mercurial