23 lines
569 B
JavaScript
23 lines
569 B
JavaScript
// Options: --generator-comprehension
|
|
// Skip. The sugaring uses var instead of let which leads to wrong closure.
|
|
|
|
var iter = (for (x of [0, 1]) for (y of [2, 3]) () => [x, y] );
|
|
|
|
assert.isTrue(iter.moveNext());
|
|
var f1 = iter.current;
|
|
|
|
assert.isTrue(iter.moveNext());
|
|
var f2 = iter.current;
|
|
|
|
assert.isTrue(iter.moveNext());
|
|
var f3 = iter.current;
|
|
|
|
assert.isTrue(iter.moveNext());
|
|
var f4 = iter.current;
|
|
|
|
assert.isFalse(iter.moveNext());
|
|
|
|
assertArrayEquals([0, 2], f1());
|
|
assertArrayEquals([0, 3], f2());
|
|
assertArrayEquals([1, 2], f3());
|
|
assertArrayEquals([1, 3], f4()); |