From c11d6b00bc2c53323fe26a5813a720fd74cd25ad Mon Sep 17 00:00:00 2001 From: Stuart Cook Date: Wed, 5 May 2021 05:05:45 +1000 Subject: [PATCH] Add a test for `for await (async of` (#2982) --- .../statements/for-await-of/head-lhs-async.js | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 test/language/statements/for-await-of/head-lhs-async.js diff --git a/test/language/statements/for-await-of/head-lhs-async.js b/test/language/statements/for-await-of/head-lhs-async.js new file mode 100644 index 0000000000..3c4363d302 --- /dev/null +++ b/test/language/statements/for-await-of/head-lhs-async.js @@ -0,0 +1,23 @@ +// Copyright (C) 2021 Stuart Cook. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-for-in-and-for-of-statements +description: > + The left-hand-side of a for-await-of loop may be the identifier `async`. +info: | + ForInOfStatement[Yield, Await, Return]: + [+Await] for await ( [lookahead ≠ let] LeftHandSideExpression[?Yield, ?Await] of AssignmentExpression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return] +features: [async-iteration] +flags: [async] +---*/ + +let async; + +async function fn() { + for await (async of [7]); +} + +fn() + .then(() => assert.sameValue(async, 7), $DONE) + .then($DONE, $DONE);