summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Iterator/prototype/flatMap/inner-generator.js
blob: 9589027b4bd7eaca2ca63ddb56b1af7ff4073055 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// |reftest| skip-if(!this.hasOwnProperty('Iterator'))

//
//
/*---
esid: pending
description: %Iterator.prototype%.flatMap innerIterator can be a generator.
info: >
  Iterator Helpers proposal 2.1.5.7
features: [iterator-helpers]
---*/

const iter = [1, 2].values().flatMap(function*(x) {
  yield x;
  yield* [x + 1, x + 2];
});

for (const expected of [1, 2, 3, 2, 3, 4]) {
  const result = iter.next();
  assertEq(result.value, expected);
  assertEq(result.done, false);
}

const result = iter.next();
assertEq(result.value, undefined);
assertEq(result.done, true);

if (typeof reportCompare == 'function')
  reportCompare(0, 0);