From 4494db10b73666a648cb5d312a843601a695ecee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Bargull?= <andre.bargull@gmail.com>
Date: Tue, 2 May 2017 12:09:25 -0700
Subject: [PATCH] Rename and update assignment early error tests

---
 .../expressions/assignment/11.13.1-1-1.js     | 15 -------------
 .../expressions/assignment/11.13.1-1-2.js     | 15 -------------
 .../expressions/assignment/11.13.1-1-3.js     | 15 -------------
 .../expressions/assignment/11.13.1-1-4.js     | 15 -------------
 .../expressions/assignment/target-boolean.js  | 21 +++++++++++++++++++
 .../expressions/assignment/target-null.js     | 21 +++++++++++++++++++
 .../expressions/assignment/target-number.js   | 21 +++++++++++++++++++
 .../expressions/assignment/target-string.js   | 21 +++++++++++++++++++
 8 files changed, 84 insertions(+), 60 deletions(-)
 delete mode 100644 test/language/expressions/assignment/11.13.1-1-1.js
 delete mode 100644 test/language/expressions/assignment/11.13.1-1-2.js
 delete mode 100644 test/language/expressions/assignment/11.13.1-1-3.js
 delete mode 100644 test/language/expressions/assignment/11.13.1-1-4.js
 create mode 100644 test/language/expressions/assignment/target-boolean.js
 create mode 100644 test/language/expressions/assignment/target-null.js
 create mode 100644 test/language/expressions/assignment/target-number.js
 create mode 100644 test/language/expressions/assignment/target-string.js

diff --git a/test/language/expressions/assignment/11.13.1-1-1.js b/test/language/expressions/assignment/11.13.1-1-1.js
deleted file mode 100644
index 5bc0891b15..0000000000
--- a/test/language/expressions/assignment/11.13.1-1-1.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: PutValue operates only on references (see step 1)
-es5id: 11.13.1-1-1
-description: >
-    simple assignment throws ReferenceError if LeftHandSide is not a
-    reference (number)
----*/
-
-
-assert.throws(ReferenceError, function() {
-    eval("42 = 42");
-});
diff --git a/test/language/expressions/assignment/11.13.1-1-2.js b/test/language/expressions/assignment/11.13.1-1-2.js
deleted file mode 100644
index 8f42ba35b2..0000000000
--- a/test/language/expressions/assignment/11.13.1-1-2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: PutValue operates only on references (see step 1).
-es5id: 11.13.1-1-2
-description: >
-    simple assignment throws ReferenceError if LeftHandSide is not a
-    reference (string)
----*/
-
-
-assert.throws(ReferenceError, function() {
-    eval("'x' = 42");
-});
diff --git a/test/language/expressions/assignment/11.13.1-1-3.js b/test/language/expressions/assignment/11.13.1-1-3.js
deleted file mode 100644
index 196821e97b..0000000000
--- a/test/language/expressions/assignment/11.13.1-1-3.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: PutValue operates only on references (see step 1).
-es5id: 11.13.1-1-3
-description: >
-    simple assignment throws ReferenceError if LeftHandSide is not a
-    reference (boolean)
----*/
-
-
-assert.throws(ReferenceError, function() {
-    eval("true = 42");
-});
diff --git a/test/language/expressions/assignment/11.13.1-1-4.js b/test/language/expressions/assignment/11.13.1-1-4.js
deleted file mode 100644
index 4a5cb16340..0000000000
--- a/test/language/expressions/assignment/11.13.1-1-4.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: PutValue operates only on references (see step 1).
-es5id: 11.13.1-1-4
-description: >
-    simple assignment throws ReferenceError if LeftHandSide is not a
-    reference (null)
----*/
-
-
-assert.throws(ReferenceError, function() {
-    eval("null = 42");
-});
diff --git a/test/language/expressions/assignment/target-boolean.js b/test/language/expressions/assignment/target-boolean.js
new file mode 100644
index 0000000000..2022f02120
--- /dev/null
+++ b/test/language/expressions/assignment/target-boolean.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-assignment-operators-static-semantics-early-errors
+es5id: 11.13.1-1-3
+description: >
+    simple assignment throws ReferenceError if LeftHandSide is not a
+    reference (boolean)
+info: |
+    AssignmentExpression : LeftHandSideExpression = AssignmentExpression
+
+    It is an early Reference Error if LeftHandSideExpression is neither an
+    ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of
+    LeftHandSideExpression is false.
+negative:
+  phase: early
+  type: ReferenceError
+---*/
+
+true = 42;
diff --git a/test/language/expressions/assignment/target-null.js b/test/language/expressions/assignment/target-null.js
new file mode 100644
index 0000000000..2b51226a37
--- /dev/null
+++ b/test/language/expressions/assignment/target-null.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-assignment-operators-static-semantics-early-errors
+es5id: 11.13.1-1-4
+description: >
+    simple assignment throws ReferenceError if LeftHandSide is not a
+    reference (null)
+info: |
+    AssignmentExpression : LeftHandSideExpression = AssignmentExpression
+
+    It is an early Reference Error if LeftHandSideExpression is neither an
+    ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of
+    LeftHandSideExpression is false.
+negative:
+  phase: early
+  type: ReferenceError
+---*/
+
+null = 42;
diff --git a/test/language/expressions/assignment/target-number.js b/test/language/expressions/assignment/target-number.js
new file mode 100644
index 0000000000..7301d805ae
--- /dev/null
+++ b/test/language/expressions/assignment/target-number.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-assignment-operators-static-semantics-early-errors
+es5id: 11.13.1-1-1
+description: >
+    simple assignment throws ReferenceError if LeftHandSide is not a
+    reference (number)
+info: |
+    AssignmentExpression : LeftHandSideExpression = AssignmentExpression
+
+    It is an early Reference Error if LeftHandSideExpression is neither an
+    ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of
+    LeftHandSideExpression is false.
+negative:
+  phase: early
+  type: ReferenceError
+---*/
+
+42 = 42;
diff --git a/test/language/expressions/assignment/target-string.js b/test/language/expressions/assignment/target-string.js
new file mode 100644
index 0000000000..ef0c984e88
--- /dev/null
+++ b/test/language/expressions/assignment/target-string.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-assignment-operators-static-semantics-early-errors
+es5id: 11.13.1-1-2
+description: >
+    simple assignment throws ReferenceError if LeftHandSide is not a
+    reference (string)
+info: |
+    AssignmentExpression : LeftHandSideExpression = AssignmentExpression
+
+    It is an early Reference Error if LeftHandSideExpression is neither an
+    ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of
+    LeftHandSideExpression is false.
+negative:
+  phase: early
+  type: ReferenceError
+---*/
+
+'x' = 42;
-- 
GitLab