Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 // If an array is truncated to the left of an iterator it, it.next() returns { done: true }.
3 load(libdir + "asserts.js");
4 load(libdir + "iteration.js");
6 var arr = [0, 1, 2];
7 var it = arr[std_iterator]();
8 var ki = arr.keys();
9 var ei = arr.entries();
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);