Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 // A Map iterator does not visit entries removed by clear().
3 load(libdir + "iteration.js");
5 var m = Map();
6 var it = m[std_iterator]();
7 m.clear();
8 assertIteratorDone(it, undefined);
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);
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");