blob: d239c9a7f549169bb34ab316254959b216de55e4 [file] [log] [blame]
keith_miller@apple.combcc77f22016-07-15 06:03:25 +00001// Copyright (C) 2013 the V8 project authors. All rights reserved.
2// This code is governed by the BSD license found in the LICENSE file.
3
4/*---
5 description: >
6 `yield` is a valid BindingIdentifier for GeneratorMethods outside of
7 strict mode.
8 features: [generators]
9 es6id: 12.1.1
10 flags: [noStrict]
11 ---*/
12
13var iter, result;
14var obj = {
15 *yield() { (yield 3) + (yield 4); }
16}
17
18iter = obj.yield();
19
20result = iter.next();
21assert.sameValue(result.value, 3, 'First result `value`');
22assert.sameValue(result.done, false, 'First result `done` flag');
23
24result = iter.next();
25assert.sameValue(result.value, 4, 'Second result `value`');
26assert.sameValue(result.done, false, 'Second result `done` flag');
27
28result = iter.next();
29assert.sameValue(result.value, undefined, 'Third result `value`');
30assert.sameValue(result.done, true, 'Third result `done` flag');;