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

40 lines
623 B
JavaScript

function* tryFinallyGenerator() {
var x = 1;
var y;
// finally inside a catch
try {
try {
yield x;
throw 7;
x = 2;
} finally {
x = 3;
}
} catch (e) {
y = e;
}
yield x * y;
// finally with no enclosing try
try {
y = 11;
yield y;
} finally {
y = 3;
}
yield y;
}
function accumulate(iterator) {
var result = '';
for (var value of iterator) {
result = result + String(value);
}
return result;
}
// ----------------------------------------------------------------------------
assert.equal('121113', accumulate(tryFinallyGenerator()));