20 lines
549 B
JavaScript
20 lines
549 B
JavaScript
function sum(x, y) {
|
|
return x + y;
|
|
}
|
|
|
|
function* f() {
|
|
yield;
|
|
yield sum(yield, yield);
|
|
return yield;
|
|
}
|
|
|
|
var g = f(42);
|
|
|
|
assert.deepEqual(g.next(), {value: undefined, done: false});
|
|
assert.deepEqual(g.next(), {value: undefined, done: false});
|
|
assert.deepEqual(g.next(3), {value: undefined, done: false});
|
|
assert.deepEqual(g.next(39), {value: 42, done: false});
|
|
assert.deepEqual(g.next(), {value: undefined, done: false});
|
|
assert.deepEqual(g.next('abc'), {value: 'abc', done: true});
|
|
assert.deepEqual(g.next(), {value: undefined, done: true});
|