23 lines
420 B
JavaScript
23 lines
420 B
JavaScript
var finallyVisited = false;
|
|
|
|
function* test() {
|
|
try {
|
|
yield 42;
|
|
} finally {
|
|
finallyVisited = true;
|
|
}
|
|
}
|
|
|
|
var it = test();
|
|
assert.deepEqual({value: 42, done: false}, it.next());
|
|
assert.isFalse(finallyVisited);
|
|
|
|
assert.deepEqual({value: undefined, done: true}, it.next());
|
|
assert.isTrue(finallyVisited);
|
|
|
|
finallyVisited = false;
|
|
for (var i of test()) {
|
|
assert.equal(42, i);
|
|
}
|
|
assert.isTrue(finallyVisited);
|