diff options
Diffstat (limited to 'test/language/expressions/optional-chaining/optional-chain-async-square-brackets.js')
-rw-r--r-- | test/language/expressions/optional-chaining/optional-chain-async-square-brackets.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/language/expressions/optional-chaining/optional-chain-async-square-brackets.js b/test/language/expressions/optional-chaining/optional-chain-async-square-brackets.js new file mode 100644 index 000000000..0930d2eaf --- /dev/null +++ b/test/language/expressions/optional-chaining/optional-chain-async-square-brackets.js @@ -0,0 +1,24 @@ +// Copyright 2019 Google, Inc. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: prod-OptionalExpression +description: > + optional chain expansions in an async context +info: | + Left-Hand-Side Expressions + OptionalExpression + MemberExpression [PrimaryExpression Identifier] OptionalChain + OptionalChain ?.[Expression] +features: [optional-chaining] +flags: [async] +---*/ + +async function checkAssertions() { + assert.sameValue(await [11]?.[0], 11); + assert.sameValue([22, 33]?.[await Promise.resolve(1)], 33); + assert.sameValue([44, await Promise.resolve(55)]?.[1], 55); + assert.sameValue(undefined?.[ + await Promise.reject(new Error('unreachable')) + ], undefined); +} +checkAssertions().then($DONE, $DONE); |