Coverage for assignment to left hand side expressions that are an assignment. Fixes gh-2487

This commit is contained in:
Rick Waldron 2020-08-21 13:39:21 -04:00
parent 0a977a691d
commit 8287422b64
2 changed files with 44 additions and 0 deletions

View File

@ -0,0 +1,23 @@
// Copyright (C) 2020 Rick Waldron. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-assignment-operators-static-semantics-early-errors
description: Applied to assignment
info: |
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
- It is an early Syntax Error if LeftHandSideExpression is neither an
ObjectLiteral nor an ArrayLiteral and AssignmentTargetType of
LeftHandSideExpression is invalid or strict.
negative:
phase: parse
type: SyntaxError
---*/
$DONOTEVALUATE();
function f() {
var a, b = 2;
(a = b) = 1;
}

View File

@ -0,0 +1,21 @@
// Copyright (C) 2020 Rick Waldron. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-assignment-operators-static-semantics-early-errors
description: Applied to assignment
info: |
AssignmentExpression : LeftHandSideExpression = AssignmentExpression
- It is an early Syntax Error if LeftHandSideExpression is neither an
ObjectLiteral nor an ArrayLiteral and AssignmentTargetType of
LeftHandSideExpression is invalid or strict.
negative:
phase: parse
type: SyntaxError
---*/
$DONOTEVALUATE();
var a, b = 2;
(a = b) = 1;