babel/test/fixtures/traceur/Yield/SwitchStatementWithYield.js
2015-01-04 19:40:09 +11:00

24 lines
523 B
JavaScript

function* f(x) {
switch (yield x) {
case 1:
return 1;
case 2:
return 2;
default:
return 3;
}
throw new Error('Unreachable');
}
var g = f(1);
assert.deepEqual(g.next(), {value: 1, done: false});
assert.deepEqual(g.next(2), {value: 2, done: true});
g = f(3);
assert.deepEqual(g.next(), {value: 3, done: false});
assert.deepEqual(g.next(1), {value: 1, done: true});
var g = f(4);
assert.deepEqual(g.next(), {value: 4, done: false});
assert.deepEqual(g.next(55), {value: 3, done: true});