diff options
Diffstat (limited to 'js/src/tests/test262/language/expressions/function/static-init-await-reference.js')
-rw-r--r-- | js/src/tests/test262/language/expressions/function/static-init-await-reference.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/expressions/function/static-init-await-reference.js b/js/src/tests/test262/language/expressions/function/static-init-await-reference.js new file mode 100644 index 0000000000..d6c2180a06 --- /dev/null +++ b/js/src/tests/test262/language/expressions/function/static-init-await-reference.js @@ -0,0 +1,28 @@ +// Copyright (C) 2021 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-class-definitions-static-semantics-early-errors +description: The `await` keyword is interpreted as an IdentifierReference within function expressions +info: | + ClassStaticBlockBody : ClassStaticBlockStatementList + + [...] + - It is a Syntax Error if ContainsAwait of ClassStaticBlockStatementList is true. +features: [class-static-block] +---*/ + +var await = 0; +var fromParam, fromBody; + +class C { + static { + (function (x = fromParam = await) { + fromBody = await; + })(); + } +} + +assert.sameValue(fromParam, 0, 'from parameter'); +assert.sameValue(fromBody, 0, 'from body'); + +reportCompare(0, 0); |