From 24e774251a87ca6ef87b358cd023ad14ea85a825 Mon Sep 17 00:00:00 2001
From: Mike Pennisi <mike@mikepennisi.com>
Date: Sun, 13 Mar 2016 14:33:01 -0400
Subject: [PATCH] Test runtime errors with assertion utility method

Improve test consistency by using the `assert.throws` helper function to
assert runtime exceptions. Remove superfluous code.
---
 .../expressions/postfix-decrement/S11.3.2_A1.1_T1.js      | 6 +++---
 .../expressions/postfix-decrement/S11.3.2_A1.1_T2.js      | 6 +++---
 .../expressions/postfix-decrement/S11.3.2_A1.1_T3.js      | 6 +++---
 .../expressions/postfix-decrement/S11.3.2_A1.1_T4.js      | 6 +++---
 .../expressions/postfix-increment/S11.3.1_A1.1_T1.js      | 6 +++---
 .../expressions/postfix-increment/S11.3.1_A1.1_T2.js      | 6 +++---
 .../expressions/postfix-increment/S11.3.1_A1.1_T3.js      | 6 +++---
 .../expressions/postfix-increment/S11.3.1_A1.1_T4.js      | 6 +++---
 test/language/line-terminators/S7.3_A2.1_T1.js            | 8 +++-----
 test/language/line-terminators/S7.3_A2.2_T1.js            | 8 +++-----
 test/language/line-terminators/S7.3_A2.3.js               | 8 +++-----
 test/language/line-terminators/S7.3_A2.4.js               | 7 +++----
 test/language/line-terminators/S7.3_A3.1_T2.js            | 6 +++---
 test/language/line-terminators/S7.3_A3.2_T2.js            | 6 +++---
 test/language/line-terminators/S7.3_A3.3_T2.js            | 6 +++---
 test/language/line-terminators/S7.3_A3.4_T2.js            | 6 +++---
 test/language/literals/numeric/7.8.3-3gs.js               | 7 ++++---
 17 files changed, 52 insertions(+), 58 deletions(-)

diff --git a/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T1.js b/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T1.js
index 226042ee9d..457afcd321 100644
--- a/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T1.js
+++ b/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T1.js
@@ -5,8 +5,8 @@
 info: Line Terminator between LeftHandSideExpression and "--" is not allowed
 es5id: 11.3.2_A1.1_T1
 description: Checking Line Feed
-negative: SyntaxError
 ---*/
 
-//CHECK#1
-eval("var x = 1; x\u000A--");
+assert.throws(SyntaxError, function() {
+  eval("var x = 1; x\u000A--");
+});
diff --git a/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T2.js b/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T2.js
index 5f9564515e..c34cb927b2 100644
--- a/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T2.js
+++ b/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T2.js
@@ -5,8 +5,8 @@
 info: Line Terminator between LeftHandSideExpression and "--" is not allowed
 es5id: 11.3.2_A1.1_T2
 description: Checking Carriage Return
-negative: SyntaxError
 ---*/
 
-//CHECK#1
-eval("var x = 1; x\u000D--");
+assert.throws(SyntaxError, function() {
+  eval("var x = 1; x\u000D--");
+});
diff --git a/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T3.js b/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T3.js
index e691a9a9a0..6ea38029ab 100644
--- a/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T3.js
+++ b/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T3.js
@@ -5,8 +5,8 @@
 info: Line Terminator between LeftHandSideExpression and "--" is not allowed
 es5id: 11.3.2_A1.1_T3
 description: Checking Page separator
-negative: SyntaxError
 ---*/
 
-//CHECK#1
-eval("var x = 1; x\u2028--");
+assert.throws(SyntaxError, function() {
+  eval("var x = 1; x\u2028--");
+});
diff --git a/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T4.js b/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T4.js
index 9dcac1ee08..e83bfb49fb 100644
--- a/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T4.js
+++ b/test/language/expressions/postfix-decrement/S11.3.2_A1.1_T4.js
@@ -5,8 +5,8 @@
 info: Line Terminator between LeftHandSideExpression and "--" is not allowed
 es5id: 11.3.2_A1.1_T4
 description: Checking Line separator
-negative: SyntaxError
 ---*/
 
-//CHECK#1
-eval("var x = 1; x\u2029--");
+assert.throws(SyntaxError, function() {
+  eval("var x = 1; x\u2029--");
+});
diff --git a/test/language/expressions/postfix-increment/S11.3.1_A1.1_T1.js b/test/language/expressions/postfix-increment/S11.3.1_A1.1_T1.js
index 3e678b5ed2..9800f7c545 100644
--- a/test/language/expressions/postfix-increment/S11.3.1_A1.1_T1.js
+++ b/test/language/expressions/postfix-increment/S11.3.1_A1.1_T1.js
@@ -5,8 +5,8 @@
 info: Line Terminator between LeftHandSideExpression and "++" is not allowed
 es5id: 11.3.1_A1.1_T1
 description: Checking Line Feed
-negative: SyntaxError
 ---*/
 
-//CHECK#1
-eval("var x = 1; x\u000A++");
+assert.throws(SyntaxError, function() {
+  eval("var x = 1; x\u000A++");
+});
diff --git a/test/language/expressions/postfix-increment/S11.3.1_A1.1_T2.js b/test/language/expressions/postfix-increment/S11.3.1_A1.1_T2.js
index 296ea00009..58dac29479 100644
--- a/test/language/expressions/postfix-increment/S11.3.1_A1.1_T2.js
+++ b/test/language/expressions/postfix-increment/S11.3.1_A1.1_T2.js
@@ -5,8 +5,8 @@
 info: Line Terminator between LeftHandSideExpression and "++" is not allowed
 es5id: 11.3.1_A1.1_T2
 description: Carriage Return
-negative: SyntaxError
 ---*/
 
-//CHECK#1
-eval("var x = 1; x\u000D++");
+assert.throws(SyntaxError, function() {
+  eval("var x = 1; x\u000D++");
+});
diff --git a/test/language/expressions/postfix-increment/S11.3.1_A1.1_T3.js b/test/language/expressions/postfix-increment/S11.3.1_A1.1_T3.js
index d6a51bd559..01eb922615 100644
--- a/test/language/expressions/postfix-increment/S11.3.1_A1.1_T3.js
+++ b/test/language/expressions/postfix-increment/S11.3.1_A1.1_T3.js
@@ -5,8 +5,8 @@
 info: Line Terminator between LeftHandSideExpression and "++" is not allowed
 es5id: 11.3.1_A1.1_T3
 description: Checking Line Seprator
-negative: SyntaxError
 ---*/
 
-//CHECK#1
-eval("var x = 1; x\u2028++");
+assert.throws(SyntaxError, function() {
+  eval("var x = 1; x\u2028++");
+});
diff --git a/test/language/expressions/postfix-increment/S11.3.1_A1.1_T4.js b/test/language/expressions/postfix-increment/S11.3.1_A1.1_T4.js
index 8afd23013d..3e5727708f 100644
--- a/test/language/expressions/postfix-increment/S11.3.1_A1.1_T4.js
+++ b/test/language/expressions/postfix-increment/S11.3.1_A1.1_T4.js
@@ -5,8 +5,8 @@
 info: Line Terminator between LeftHandSideExpression and "++" is not allowed
 es5id: 11.3.1_A1.1_T4
 description: Checking Paragraph separator
-negative: SyntaxError
 ---*/
 
-//CHECK#1
-eval("var x = 1; x\u2029++");
+assert.throws(SyntaxError, function() {
+  eval("var x = 1; x\u2029++");
+});
diff --git a/test/language/line-terminators/S7.3_A2.1_T1.js b/test/language/line-terminators/S7.3_A2.1_T1.js
index 3e8cad14ae..424b170278 100644
--- a/test/language/line-terminators/S7.3_A2.1_T1.js
+++ b/test/language/line-terminators/S7.3_A2.1_T1.js
@@ -5,10 +5,8 @@
 info: LINE FEED (U+000A) within strings is not allowed
 es5id: 7.3_A2.1_T1
 description: Insert LINE FEED (\u000A) into string
-negative: SyntaxError
 ---*/
 
-// CHECK#1
-if (eval("'\u000Astr\u000Aing\u000A'") === "\u000Astr\u000Aing\u000A") {
-  $ERROR('#1: eval("\'\\u000Astr\\u000Aing\\u000A\'") === "\\u000Astr\\u000Aing\\u000A"');
-}
+assert.throws(SyntaxError, function() {
+  eval("'\u000Astr\u000Aing\u000A'");
+});
diff --git a/test/language/line-terminators/S7.3_A2.2_T1.js b/test/language/line-terminators/S7.3_A2.2_T1.js
index bb50b71a30..cb4e39387d 100644
--- a/test/language/line-terminators/S7.3_A2.2_T1.js
+++ b/test/language/line-terminators/S7.3_A2.2_T1.js
@@ -5,10 +5,8 @@
 info: CARRIAGE RETURN (U+000D) within strings is not allowed
 es5id: 7.3_A2.2_T1
 description: Insert CARRIAGE RETURN (\u000D) into string
-negative: SyntaxError
 ---*/
 
-// CHECK#1
-if (eval("'\u000Dstr\u000Ding\u000D'") === "\u000Dstr\u000Ding\u000D") {
-  $ERROR('#1: eval("\'\\u000Dstr\\u000Ding\\u000D\'") === "\\u000Dstr\\u000Ding\\u000D"');
-}
+assert.throws(SyntaxError, function() {
+  eval("'\u000Dstr\u000Ding\u000D'");
+});
diff --git a/test/language/line-terminators/S7.3_A2.3.js b/test/language/line-terminators/S7.3_A2.3.js
index 439140a558..fb26e7e7a7 100644
--- a/test/language/line-terminators/S7.3_A2.3.js
+++ b/test/language/line-terminators/S7.3_A2.3.js
@@ -5,10 +5,8 @@
 info: LINE SEPARATOR (U+2028) within strings is not allowed
 es5id: 7.3_A2.3
 description: Insert LINE SEPARATOR (\u2028) into string
-negative: SyntaxError
 ---*/
 
-// CHECK#1
-if (eval("'\u2028str\u2028ing\u2028'") === "\u2028str\u2028ing\u2028") {
-  $ERROR('#1: eval("\'\\u2028str\\u2028ing\\u2028\'") === "\\u2028str\\u2028ing\\u2028"');
-}
+assert.throws(SyntaxError, function() {
+  eval("'\u2028str\u2028ing\u2028'");
+});
diff --git a/test/language/line-terminators/S7.3_A2.4.js b/test/language/line-terminators/S7.3_A2.4.js
index 9db6e42e8b..582a84f642 100644
--- a/test/language/line-terminators/S7.3_A2.4.js
+++ b/test/language/line-terminators/S7.3_A2.4.js
@@ -5,10 +5,9 @@
 info: PARAGRAPH SEPARATOR (U+2029) within strings is not allowed
 es5id: 7.3_A2.4
 description: Insert PARAGRAPH SEPARATOR (\u2029) into string
-negative: SyntaxError
 ---*/
 
 // CHECK#1
-if (eval("'\u2029str\u2029ing\u2029'") === "\u2029str\u2029ing\u2029") {
-  $ERROR('#1: eval("\'\\u2029str\\u2029ing\\u2029\'") === "\\u2029str\\u2029ing\\u2029"');
-}
+assert.throws(SyntaxError, function() {
+  eval("'\u2029str\u2029ing\u2029'");
+});
diff --git a/test/language/line-terminators/S7.3_A3.1_T2.js b/test/language/line-terminators/S7.3_A3.1_T2.js
index 61d2bbbaa3..2b37ae5146 100644
--- a/test/language/line-terminators/S7.3_A3.1_T2.js
+++ b/test/language/line-terminators/S7.3_A3.1_T2.js
@@ -5,8 +5,8 @@
 info: Single line comments can not contain LINE FEED (U+000A) inside
 es5id: 7.3_A3.1_T2
 description: Insert LINE FEED (\u000A) into begin of single line comment
-negative: SyntaxError
 ---*/
 
-// CHECK#1
-eval("//\u000A single line comment");
+assert.throws(SyntaxError, function() {
+  eval("//\u000A single line comment");
+});
diff --git a/test/language/line-terminators/S7.3_A3.2_T2.js b/test/language/line-terminators/S7.3_A3.2_T2.js
index 04cde82e4e..580e558a1b 100644
--- a/test/language/line-terminators/S7.3_A3.2_T2.js
+++ b/test/language/line-terminators/S7.3_A3.2_T2.js
@@ -5,8 +5,8 @@
 info: Single line comments can not contain CARRIAGE RETURN (U+000D) inside
 es5id: 7.3_A3.2_T2
 description: Insert CARRIAGE RETURN (\u000D) into begin of single line comment
-negative: SyntaxError
 ---*/
 
-// CHECK#1
-eval("//\u000D single line comment");
+assert.throws(SyntaxError, function() {
+  eval("//\u000D single line comment");
+});
diff --git a/test/language/line-terminators/S7.3_A3.3_T2.js b/test/language/line-terminators/S7.3_A3.3_T2.js
index 07d3f855a2..fd82522201 100644
--- a/test/language/line-terminators/S7.3_A3.3_T2.js
+++ b/test/language/line-terminators/S7.3_A3.3_T2.js
@@ -5,8 +5,8 @@
 info: Single line comments can not contain LINE SEPARATOR (U+2028) inside
 es5id: 7.3_A3.3_T2
 description: Insert LINE SEPARATOR (\u2028) into begin of single line comment
-negative: SyntaxError
 ---*/
 
-// CHECK#1
-eval("//\u2028 single line comment");
+assert.throws(SyntaxError, function() {
+  eval("//\u2028 single line comment");
+});
diff --git a/test/language/line-terminators/S7.3_A3.4_T2.js b/test/language/line-terminators/S7.3_A3.4_T2.js
index 6393ba801a..953b894a02 100644
--- a/test/language/line-terminators/S7.3_A3.4_T2.js
+++ b/test/language/line-terminators/S7.3_A3.4_T2.js
@@ -7,8 +7,8 @@ es5id: 7.3_A3.4_T2
 description: >
     Insert PARAGRAPH SEPARATOR (\u2029) into begin of single line
     comment
-negative: SyntaxError
 ---*/
 
-// CHECK#1
-eval("//\u2029 single line comment");
+assert.throws(SyntaxError, function() {
+  eval("//\u2029 single line comment");
+});
diff --git a/test/language/literals/numeric/7.8.3-3gs.js b/test/language/literals/numeric/7.8.3-3gs.js
index b29697437c..e82e6cffe7 100644
--- a/test/language/literals/numeric/7.8.3-3gs.js
+++ b/test/language/literals/numeric/7.8.3-3gs.js
@@ -6,9 +6,10 @@ es5id: 7.8.3-3gs
 description: >
     Strict Mode - octal extension is forbidden in strict mode (after a
     hex number is assigned to a variable from an eval)
-negative: SyntaxError
 flags: [onlyStrict]
 ---*/
 
-var a;
-eval("a = 0x1;a = 01;");
+var a;
+assert.throws(SyntaxError, function() {
+  eval("a = 0x1;a = 01;");
+});
-- 
GitLab