diff options
Diffstat (limited to 'js/src/tests/ecma_6/Generators/delegating-yield-4.js')
-rw-r--r-- | js/src/tests/ecma_6/Generators/delegating-yield-4.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-4.js b/js/src/tests/ecma_6/Generators/delegating-yield-4.js new file mode 100644 index 000000000..c07673172 --- /dev/null +++ b/js/src/tests/ecma_6/Generators/delegating-yield-4.js @@ -0,0 +1,18 @@ +// With yield*, inner and outer iterators can be invoked separately. + +function* g(n) { for (var i=0; i<n; i++) yield i; } +function* delegate(iter) { return yield* iter; } + +var inner = g(20); +var outer1 = delegate(inner); +var outer2 = delegate(inner); + +assertIteratorNext(outer1, 0); +assertIteratorNext(outer2, 1); +assertIteratorNext(inner, 2); +assertIteratorNext(outer1, 3); +assertIteratorNext(outer2, 4); +assertIteratorNext(inner, 5); + +if (typeof reportCompare == "function") + reportCompare(true, true); |