array-iterator-growing-1.js (743B)
1 // If an array with an active iterator is lengthened, the iterator visits the new elements. 2 3 load(libdir + "asserts.js"); 4 load(libdir + "iteration.js"); 5 6 var arr = [0, 1]; 7 var it = arr[Symbol.iterator](); 8 var ki = arr.keys(); 9 var ei = arr.entries(); 10 assertIteratorNext(it, 0); 11 assertIteratorNext(ki, 0); 12 assertIteratorNext(ei, [0, 0]); 13 assertIteratorNext(it, 1); 14 assertIteratorNext(ki, 1); 15 assertIteratorNext(ei, [1, 1]); 16 arr[2] = 2; 17 arr.length = 4; 18 assertIteratorNext(it, 2); 19 assertIteratorNext(ki, 2); 20 assertIteratorNext(ei, [2, 2]); 21 assertIteratorNext(it, undefined); 22 assertIteratorNext(ki, 3); 23 assertIteratorNext(ei, [3, undefined]); 24 assertIteratorDone(it, undefined); 25 assertIteratorDone(ki, undefined); 26 assertIteratorDone(ei, undefined);