array-iterator-shrinking.js (548B)
1 // If an array is truncated to the left of an iterator it, it.next() returns { done: true }. 2 3 load(libdir + "asserts.js"); 4 load(libdir + "iteration.js"); 5 6 var arr = [0, 1, 2]; 7 var it = arr[Symbol.iterator](); 8 var ki = arr.keys(); 9 var ei = arr.entries(); 10 11 assertIteratorNext(it, 0); 12 assertIteratorNext(it, 1); 13 assertIteratorNext(ki, 0); 14 assertIteratorNext(ki, 1); 15 assertIteratorNext(ei, [0, 0]); 16 assertIteratorNext(ei, [1, 1]); 17 arr.length = 1; 18 assertIteratorDone(it, undefined); 19 assertIteratorDone(ki, undefined); 20 assertIteratorDone(ei, undefined);