Set-clear-iterators-1.js (471B)
1 // A Set iterator does not visit entries removed by clear(). 2 3 load(libdir + "iteration.js"); 4 5 var s = new Set(); 6 var it = s[Symbol.iterator](); 7 s.clear(); 8 assertIteratorDone(it, undefined); 9 10 s = new Set(["a", "b", "c", "d"]); 11 it = s[Symbol.iterator](); 12 assertIteratorNext(it, "a"); 13 s.clear(); 14 assertIteratorDone(it, undefined); 15 16 var log = ""; 17 s = new Set(["a", "b", "c", "d"]); 18 for (var v of s) { 19 log += v; 20 if (v == "b") 21 s.clear(); 22 } 23 assertEq(log, "ab");