diff options
Diffstat (limited to 'js/src/tests/non262/generators/delegating-yield-11.js')
-rw-r--r-- | js/src/tests/non262/generators/delegating-yield-11.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/js/src/tests/non262/generators/delegating-yield-11.js b/js/src/tests/non262/generators/delegating-yield-11.js new file mode 100644 index 0000000000..f7e6650fb9 --- /dev/null +++ b/js/src/tests/non262/generators/delegating-yield-11.js @@ -0,0 +1,20 @@ +// The first call to yield* passes one arg to "next". + +function Iter() { + function next() { + if (arguments.length != 1) + throw Error; + return { value: 42, done: true } + } + + this.next = next; + this[Symbol.iterator] = function () { return this; } +} + +function* delegate(iter) { return yield* iter; } + +var iter = delegate(new Iter()); +assertDeepEq(iter.next(), {value:42, done:true}); + +if (typeof reportCompare == "function") + reportCompare(true, true); |