summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/AsyncGenerators/for-await-of-error.js
blob: 36e10313a40b0a8a5e746ff6c4f30df0a7e908c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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);