From 854df2196f0f5653a5fefc8a38d392825729a425 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Wed, 28 Aug 2019 14:02:17 -0400 Subject: [PATCH] test: add test for ?. [expression] edge cases (#2297) --- ...al-chain-expression-optional-expression.js | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 test/language/expressions/optional-chaining/optional-chain-expression-optional-expression.js diff --git a/test/language/expressions/optional-chaining/optional-chain-expression-optional-expression.js b/test/language/expressions/optional-chaining/optional-chain-expression-optional-expression.js new file mode 100644 index 0000000000..4391014d84 --- /dev/null +++ b/test/language/expressions/optional-chaining/optional-chain-expression-optional-expression.js @@ -0,0 +1,20 @@ +// 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 bracket notation containing optional expresion +info: | + OptionalChain: + ?. [OptionalExpression] +features: [optional-chaining] +---*/ +const a = undefined; +const b = {e: 0}; +const c = {}; +c[undefined] = 11; +const d = [22]; + +assert.sameValue(undefined, a?.[a?.b]); +assert.sameValue(11, c?.[a?.b]); +assert.sameValue(22, d?.[b?.e]);