Map-clear-iterators-1.js (527B)
1 // A Map iterator does not visit entries removed by clear(). 2 3 load(libdir + "iteration.js"); 4 5 var m = new Map(); 6 var it = m[Symbol.iterator](); 7 m.clear(); 8 assertIteratorDone(it, undefined); 9 10 m = new Map([["a", 1], ["b", 2], ["c", 3], ["d", 4]]); 11 it = m[Symbol.iterator](); 12 assertIteratorNext(it, ["a", 1]); 13 m.clear(); 14 assertIteratorDone(it, undefined); 15 16 var log = ""; 17 m = new 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");