diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/tests/non262/AsyncGenerators/for-await-of-error.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/js/src/tests/non262/AsyncGenerators/for-await-of-error.js b/js/src/tests/non262/AsyncGenerators/for-await-of-error.js new file mode 100644 index 0000000000..36e10313a4 --- /dev/null +++ b/js/src/tests/non262/AsyncGenerators/for-await-of-error.js @@ -0,0 +1,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); |