// If an array with an active iterator is lengthened, the iterator visits the new elements. load(libdir + "asserts.js"); load(libdir + "iteration.js"); var arr = [0, 1]; var it = arr[Symbol.iterator](); var ki = arr.keys(); var ei = arr.entries(); assertIteratorNext(it, 0); assertIteratorNext(ki, 0); assertIteratorNext(ei, [0, 0]); assertIteratorNext(it, 1); assertIteratorNext(ki, 1); assertIteratorNext(ei, [1, 1]); arr[2] = 2; arr.length = 4; assertIteratorNext(it, 2); assertIteratorNext(ki, 2); assertIteratorNext(ei, [2, 2]); assertIteratorNext(it, undefined); assertIteratorNext(ki, 3); assertIteratorNext(ei, [3, undefined]); assertIteratorDone(it, undefined); assertIteratorDone(ki, undefined); assertIteratorDone(ei, undefined);