diff options
author | Maximilian Goldstein <max.goldstein@qt.io> | 2021-04-09 15:03:20 +0200 |
---|---|---|
committer | Maximilian Goldstein <max.goldstein@qt.io> | 2021-04-13 11:45:16 +0000 |
commit | 4dad98d63c279b989fdb48006fbd1db8ee27bc7f (patch) | |
tree | 40bc5864e3df0edd9960b8acfdc769ff894a24ba /test/language/expressions/optional-chaining/optional-chain-prod-expression.js | |
parent | 5a105134b9fdf9abc0dc12dc3e44027529634715 (diff) | |
download | qtdeclarative-testsuites-snapshot-20180312-3c69133-based.tar.gz |
Add optional chaining testssnapshot-20180312-3c69133-based
Change-Id: Ia87313a2756dfbc3d90128ac77cd4dc6c8c137df
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 7d1cf05c547a636495b2731c4fc2842a01849064)
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'test/language/expressions/optional-chaining/optional-chain-prod-expression.js')
-rw-r--r-- | test/language/expressions/optional-chaining/optional-chain-prod-expression.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/language/expressions/optional-chaining/optional-chain-prod-expression.js b/test/language/expressions/optional-chaining/optional-chain-prod-expression.js new file mode 100644 index 000000000..bd9030584 --- /dev/null +++ b/test/language/expressions/optional-chaining/optional-chain-prod-expression.js @@ -0,0 +1,42 @@ +// Copyright 2020 Salesforce.com, Inc. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: prod-OptionalExpression +description: > + Productions for ?. [Expression] +info: | + OptionalChain: + ?.[ Expression ] +features: [optional-chaining] +---*/ + +const $ = 'x'; +const arr = [39, 42]; + +arr.true = 'prop'; +arr[1.1] = 'other prop'; + +const obj = { + a: 'hello', + undefined: 40, + $: 0, + NaN: 41, + null: 42, + x: 43, + true: 44 +}; + +assert.sameValue(arr?.[0], 39, '[0]'); +assert.sameValue(arr?.[0, 1], 42, '[0, 1]'); +assert.sameValue(arr?.[1], 42, '[1]'); +assert.sameValue(arr?.[1, 0], 39, '[1, 0]'); +assert.sameValue(arr?.[{}, NaN, undefined, 2, 0, 10 / 10], 42, '[{}, NaN, undefined, 2, 0, 10 / 10]'); +assert.sameValue(arr?.[true], 'prop', '[true]'); +assert.sameValue(arr?.[1.1], 'other prop', '[1.1]'); + +assert.sameValue(obj?.[undefined], 40, '[undefined]'); +assert.sameValue(obj?.[NaN], 41, '[NaN]'); +assert.sameValue(obj?.[null], 42, '[null]'); +assert.sameValue(obj?.['$'], 0, '["$"]'); +assert.sameValue(obj?.[$], 43, '[$]'); +assert.sameValue(obj?.[true], 44, '[true]'); |