Source code

Revision control

Copy as Markdown

Other Tools

var BUGNUMBER = 1391519;
var summary = "for-await-of outside of async function should provide better error";
print(BUGNUMBER + ": " + summary);
let caught = false;
try {
eval("for await (let x of []) {}");
} catch(e) {
assertEq(e.message.includes("for await (... of ...) is only valid in"), true);
caught = true;
}
assertEq(caught, true);
// Extra `await` shouldn't throw that error.
caught = false;
try {
eval("async function f() { for await await (let x of []) {} }");
} catch(e) {
assertEq(e.message, "missing ( after for");
caught = true;
}
assertEq(caught, true);
if (typeof reportCompare === "function")
reportCompare(true, true);