michael@0: // Breaking out of a for-of loop over a generator-iterator does not close the iterator. michael@0: michael@0: load(libdir + "iteration.js"); michael@0: michael@0: function range(n) { michael@0: for (var i = 0; i < n; i++) michael@0: yield i; michael@0: } michael@0: michael@0: var r = range(10); michael@0: var s = ''; michael@0: for (var x of r) { michael@0: s += x; michael@0: if (x == 4) michael@0: break; michael@0: } michael@0: s += '/'; michael@0: for (var y of r) michael@0: s += y; michael@0: assertEq(s, '01234/56789');