summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/statements/for-of/head-lhs-async-escaped.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/language/statements/for-of/head-lhs-async-escaped.js')
-rw-r--r--js/src/tests/test262/language/statements/for-of/head-lhs-async-escaped.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/statements/for-of/head-lhs-async-escaped.js b/js/src/tests/test262/language/statements/for-of/head-lhs-async-escaped.js
new file mode 100644
index 0000000000..1ca7a75819
--- /dev/null
+++ b/js/src/tests/test262/language/statements/for-of/head-lhs-async-escaped.js
@@ -0,0 +1,20 @@
+// 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);
+
+reportCompare(0, 0);