diff options
Diffstat (limited to 'js/src/tests/test262/language/expressions/optional-chaining/optional-chain-async-square-brackets.js')
-rw-r--r-- | js/src/tests/test262/language/expressions/optional-chaining/optional-chain-async-square-brackets.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/expressions/optional-chaining/optional-chain-async-square-brackets.js b/js/src/tests/test262/language/expressions/optional-chaining/optional-chain-async-square-brackets.js new file mode 100644 index 0000000000..361b324295 --- /dev/null +++ b/js/src/tests/test262/language/expressions/optional-chaining/optional-chain-async-square-brackets.js @@ -0,0 +1,26 @@ +// |reftest| async +// 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] +includes: [asyncHelpers.js] +---*/ + +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); +} +asyncTest(checkAssertions); |