|
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[std_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); |