Add more tests for `for (async of` edge-cases (#2983)

This commit is contained in:
Stuart Cook 2021-05-08 06:16:34 +10:00 committed by GitHub
parent c11d6b00bc
commit 9da1d6119c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 36 additions and 0 deletions

View File

@ -0,0 +1,18 @@
// 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-of loop may be the identifier `async` written
with an escape sequence.
info: |
ForInOfStatement[Yield, Await, Return] :
for ( [lookahead { let, async of }] LeftHandSideExpression[?Yield, ?Await] of AssignmentExpression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return]
---*/
let async;
for (\u0061sync of [7]);
assert.sameValue(async, 7);

View File

@ -0,0 +1,18 @@
// 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-of loop may be the identifier `async`
surrounded by parentheses.
info: |
ForInOfStatement[Yield, Await, Return] :
for ( [lookahead { let, async of }] LeftHandSideExpression[?Yield, ?Await] of AssignmentExpression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return]
---*/
let async;
for ((async) of [7]);
assert.sameValue(async, 7);