Source code
Revision control
Copy as Markdown
Other Tools
// A Set iterator does not visit entries removed by clear().
load(libdir + "iteration.js");
var s = new Set();
var it = s[Symbol.iterator]();
s.clear();
assertIteratorDone(it, undefined);
s = new Set(["a", "b", "c", "d"]);
it = s[Symbol.iterator]();
assertIteratorNext(it, "a");
s.clear();
assertIteratorDone(it, undefined);
var log = "";
s = new Set(["a", "b", "c", "d"]);
for (var v of s) {
log += v;
if (v == "b")
s.clear();
}
assertEq(log, "ab");