test262/test/language/expressions/logical-assignment
Philip Chimento 615a2eb9a1 Fix tests for private reference with logical assignment
There were three things wrong with the 'and', 'or', and 'nullish' tests
that I added as part of #2940:

1. They were in the wrong folder (should be
   expressions/logical-assignment, not expressions/compound-assignment)
2. The tests for ||= and ??= on readonly accessor properties were
   incorrect. These assignments would short-circuit if the getter
   returned 1 as it previously did, so PutValue would not throw.
3. The tests for ||= and ??= on private methods were invalid, as a
   method always evaluates to true in a boolean context, and is not
   nullish, so these would always short-circuit.

I've removed the invalid private method cases, fixed the readonly
accessor cases, and added new templates to test the short-circuit
behaviour as well as the non-short-circuit behaviour.

Closes: #3413
2022-02-21 15:38:59 -05:00
..
left-hand-side-private-reference-accessor-property-and.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-accessor-property-nullish.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-accessor-property-or.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-accessor-property-short-circuit-and.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-accessor-property-short-circuit-nullish.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-accessor-property-short-circuit-or.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-data-property-and.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-data-property-nullish.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-data-property-or.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-data-property-short-circuit-and.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-data-property-short-circuit-nullish.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-data-property-short-circuit-or.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-method-and.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-method-short-circuit-nullish.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-method-short-circuit-or.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-readonly-accessor-property-and.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-readonly-accessor-property-nullish.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-readonly-accessor-property-or.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-readonly-accessor-property-short-circuit-and.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-readonly-accessor-property-short-circuit-nullish.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
left-hand-side-private-reference-readonly-accessor-property-short-circuit-or.js Fix tests for private reference with logical assignment 2022-02-21 15:38:59 -05:00
lgcl-and-arguments-strict.js Logical Assignment Operators: additional syntax tests 2020-03-31 15:05:04 -04:00
lgcl-and-assignment-operator-bigint.js Fix tests 2020-03-31 10:56:40 -04:00
lgcl-and-assignment-operator-lhs-before-rhs.js Fix tests 2020-03-31 10:56:40 -04:00
lgcl-and-assignment-operator-namedevaluation-arrow-function.js Add test for NamedEvaluation of Logical Assignment 2020-06-10 12:34:03 -04:00
lgcl-and-assignment-operator-namedevaluation-class-expression.js Add test for NamedEvaluation of Logical Assignment 2020-06-10 12:34:03 -04:00
lgcl-and-assignment-operator-namedevaluation-function.js Add test for NamedEvaluation of Logical Assignment 2020-06-10 12:34:03 -04:00
lgcl-and-assignment-operator-no-set-put.js Fix tests 2020-03-31 10:56:40 -04:00
lgcl-and-assignment-operator-no-set.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-and-assignment-operator-non-extensible.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-and-assignment-operator-non-simple-lhs.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-and-assignment-operator-non-writeable-put.js Fix tests 2020-03-31 10:56:40 -04:00
lgcl-and-assignment-operator-non-writeable.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-and-assignment-operator-unresolved-lhs.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-and-assignment-operator-unresolved-rhs-put.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-and-assignment-operator-unresolved-rhs.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-and-assignment-operator.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-and-eval-strict.js Logical Assignment Operators: additional syntax tests 2020-03-31 15:05:04 -04:00
lgcl-and-non-simple.js Logical Assignment Operators: additional syntax tests 2020-03-31 15:05:04 -04:00
lgcl-and-whitespace.js Logical Assignment Operators: additional syntax tests 2020-03-31 15:05:04 -04:00
lgcl-nullish-arguments-strict.js Logical Assignment Operators: additional syntax tests 2020-03-31 15:05:04 -04:00
lgcl-nullish-assignment-operator-bigint.js Fix tests 2020-03-31 10:56:40 -04:00
lgcl-nullish-assignment-operator-lhs-before-rhs.js Fix tests 2020-03-31 10:56:40 -04:00
lgcl-nullish-assignment-operator-namedevaluation-arrow-function.js Fix init values 2020-06-10 12:34:03 -04:00
lgcl-nullish-assignment-operator-namedevaluation-class-expression.js Fix init values 2020-06-10 12:34:03 -04:00
lgcl-nullish-assignment-operator-namedevaluation-function.js Fix init values 2020-06-10 12:34:03 -04:00
lgcl-nullish-assignment-operator-no-set-put.js Fix tests 2020-03-31 10:56:40 -04:00
lgcl-nullish-assignment-operator-no-set.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-nullish-assignment-operator-non-extensible.js Fix tests 2020-03-31 10:56:40 -04:00
lgcl-nullish-assignment-operator-non-simple-lhs.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-nullish-assignment-operator-non-writeable-put.js Fix tests 2020-03-31 10:56:40 -04:00
lgcl-nullish-assignment-operator-non-writeable.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-nullish-assignment-operator-unresolved-lhs.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-nullish-assignment-operator-unresolved-rhs-put.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-nullish-assignment-operator-unresolved-rhs.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-nullish-assignment-operator.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-nullish-eval-strict.js Logical Assignment Operators: additional syntax tests 2020-03-31 15:05:04 -04:00
lgcl-nullish-non-simple.js Logical Assignment Operators: additional syntax tests 2020-03-31 15:05:04 -04:00
lgcl-nullish-whitespace.js Logical Assignment Operators: additional syntax tests 2020-03-31 15:05:04 -04:00
lgcl-or-arguments-strict.js Logical Assignment Operators: additional syntax tests 2020-03-31 15:05:04 -04:00
lgcl-or-assignment-operator-bigint.js Fix tests 2020-03-31 10:56:40 -04:00
lgcl-or-assignment-operator-lhs-before-rhs.js Fix tests 2020-03-31 10:56:40 -04:00
lgcl-or-assignment-operator-namedevaluation-arrow-function.js Fix init values 2020-06-10 12:34:03 -04:00
lgcl-or-assignment-operator-namedevaluation-class-expression.js Fix init values 2020-06-10 12:34:03 -04:00
lgcl-or-assignment-operator-namedevaluation-function.js Fix init values 2020-06-10 12:34:03 -04:00
lgcl-or-assignment-operator-no-set-put.js Fix tests 2020-03-31 10:56:40 -04:00
lgcl-or-assignment-operator-no-set.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-or-assignment-operator-non-extensible.js Fix tests 2020-03-31 10:56:40 -04:00
lgcl-or-assignment-operator-non-simple-lhs.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-or-assignment-operator-non-writeable-put.js Fix tests 2020-03-31 10:56:40 -04:00
lgcl-or-assignment-operator-non-writeable.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-or-assignment-operator-unresolved-lhs.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-or-assignment-operator-unresolved-rhs-put.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-or-assignment-operator-unresolved-rhs.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-or-assignment-operator.js Add logical-assignment-operators feature 2020-03-31 10:56:40 -04:00
lgcl-or-eval-strict.js Logical Assignment Operators: additional syntax tests 2020-03-31 15:05:04 -04:00
lgcl-or-non-simple.js Logical Assignment Operators: additional syntax tests 2020-03-31 15:05:04 -04:00
lgcl-or-whitespace.js Logical Assignment Operators: additional syntax tests 2020-03-31 15:05:04 -04:00