js/src/tests/ecma_6/Generators/delegating-yield-4.js

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:4de86f5c4d49
1 // With yield*, inner and outer iterators can be invoked separately.
2
3 function* g(n) { for (var i=0; i<n; i++) yield i; }
4 function* delegate(iter) { return yield* iter; }
5
6 var inner = g(20);
7 var outer1 = delegate(inner);
8 var outer2 = delegate(inner);
9
10 assertIteratorNext(outer1, 0);
11 assertIteratorNext(outer2, 1);
12 assertIteratorNext(inner, 2);
13 assertIteratorNext(outer1, 3);
14 assertIteratorNext(outer2, 4);
15 assertIteratorNext(inner, 5);
16
17 if (typeof reportCompare == "function")
18 reportCompare(true, true);

mercurial