From 6b00c8fbfefa4207d39901e480bae402701ee6b4 Mon Sep 17 00:00:00 2001 From: Mike Pennisi Date: Sun, 23 Sep 2018 21:32:37 -0400 Subject: [PATCH] Rename and refactor tests The tests for the parsing of variable declarations were expressed using eval. This made the tests more complex than necessary and also prevented the tests from providing value to ECMAScript parsers. Remove the use of eval and instead express the expectations with literal source text. --- .../variable/{12.2.1-12.js => arguments-non-strict.js} | 3 ++- ...2.2.1-28-s.js => arguments-strict-list-final-init.js} | 9 ++++++--- .../{12.2.1-30-s.js => arguments-strict-list-final.js} | 9 ++++++--- .../{12.2.1-25-s.js => arguments-strict-list-first.js} | 9 ++++++--- .../{12.2.1-33-s.js => arguments-strict-list-middle.js} | 9 ++++++--- ...{12.2.1-32-s.js => arguments-strict-list-repeated.js} | 9 ++++++--- .../{12.2.1-23-s.js => arguments-strict-single-init.js} | 9 ++++++--- .../{12.2.1-12-s.js => arguments-strict-single.js} | 9 ++++++--- .../{12.2.1-26-s.js => eval-strict-list-final.js} | 9 ++++++--- .../{12.2.1-27-s.js => eval-strict-list-first-init.js} | 9 ++++++--- .../{12.2.1-29-s.js => eval-strict-list-first.js} | 9 ++++++--- .../{12.2.1-31-s.js => eval-strict-list-repeated.js} | 9 ++++++--- .../{12.2.1-24-s.js => eval-strict-single-init.js} | 9 ++++++--- .../variable/{12.2.1-1-s.js => eval-strict-single.js} | 9 ++++++--- 14 files changed, 80 insertions(+), 40 deletions(-) rename test/language/statements/variable/{12.2.1-12.js => arguments-non-strict.js} (84%) rename test/language/statements/variable/{12.2.1-28-s.js => arguments-strict-list-final-init.js} (65%) rename test/language/statements/variable/{12.2.1-30-s.js => arguments-strict-list-final.js} (63%) rename test/language/statements/variable/{12.2.1-25-s.js => arguments-strict-list-first.js} (64%) rename test/language/statements/variable/{12.2.1-33-s.js => arguments-strict-list-middle.js} (63%) rename test/language/statements/variable/{12.2.1-32-s.js => arguments-strict-list-repeated.js} (65%) rename test/language/statements/variable/{12.2.1-23-s.js => arguments-strict-single-init.js} (65%) rename test/language/statements/variable/{12.2.1-12-s.js => arguments-strict-single.js} (64%) rename test/language/statements/variable/{12.2.1-26-s.js => eval-strict-list-final.js} (64%) rename test/language/statements/variable/{12.2.1-27-s.js => eval-strict-list-first-init.js} (65%) rename test/language/statements/variable/{12.2.1-29-s.js => eval-strict-list-first.js} (63%) rename test/language/statements/variable/{12.2.1-31-s.js => eval-strict-list-repeated.js} (66%) rename test/language/statements/variable/{12.2.1-24-s.js => eval-strict-single-init.js} (66%) rename test/language/statements/variable/{12.2.1-1-s.js => eval-strict-single.js} (67%) diff --git a/test/language/statements/variable/12.2.1-12.js b/test/language/statements/variable/arguments-non-strict.js similarity index 84% rename from test/language/statements/variable/12.2.1-12.js rename to test/language/statements/variable/arguments-non-strict.js index 130ecf0eb6..9ffb6f6dee 100644 --- a/test/language/statements/variable/12.2.1-12.js +++ b/test/language/statements/variable/arguments-non-strict.js @@ -3,8 +3,9 @@ /*--- es5id: 12.2.1-12 +esid: sec-variable-statement description: arguments as local var identifier is allowed flags: [noStrict] ---*/ - eval("(function (){var arguments;})"); +var arguments; diff --git a/test/language/statements/variable/12.2.1-28-s.js b/test/language/statements/variable/arguments-strict-list-final-init.js similarity index 65% rename from test/language/statements/variable/12.2.1-28-s.js rename to test/language/statements/variable/arguments-strict-list-final-init.js index c06f66b58c..afc16f42a7 100644 --- a/test/language/statements/variable/12.2.1-28-s.js +++ b/test/language/statements/variable/arguments-strict-list-final-init.js @@ -3,13 +3,16 @@ /*--- es5id: 12.2.1-28-s +esid: sec-variable-statement description: > arguments as local var identifier assigned to throws SyntaxError in strict mode flags: [onlyStrict] +negative: + phase: parse + type: SyntaxError ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval('function foo() { var a, arguments = 42;}'); -}); +var a, arguments = 42; diff --git a/test/language/statements/variable/12.2.1-30-s.js b/test/language/statements/variable/arguments-strict-list-final.js similarity index 63% rename from test/language/statements/variable/12.2.1-30-s.js rename to test/language/statements/variable/arguments-strict-list-final.js index 2fb229dda0..2c513d0754 100644 --- a/test/language/statements/variable/12.2.1-30-s.js +++ b/test/language/statements/variable/arguments-strict-list-final.js @@ -3,11 +3,14 @@ /*--- es5id: 12.2.1-30-s +esid: sec-variable-statement description: arguments as local var identifier throws SyntaxError in strict mode flags: [onlyStrict] +negative: + phase: parse + type: SyntaxError ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval('function foo() { var a = 42, arguments;}'); -}); +var a = 42, arguments; diff --git a/test/language/statements/variable/12.2.1-25-s.js b/test/language/statements/variable/arguments-strict-list-first.js similarity index 64% rename from test/language/statements/variable/12.2.1-25-s.js rename to test/language/statements/variable/arguments-strict-list-first.js index 95712e37f4..98023fea67 100644 --- a/test/language/statements/variable/12.2.1-25-s.js +++ b/test/language/statements/variable/arguments-strict-list-first.js @@ -3,11 +3,14 @@ /*--- es5id: 12.2.1-25-s +esid: sec-variable-statement description: arguments as local var identifier throws SyntaxError in strict mode flags: [onlyStrict] +negative: + phase: parse + type: SyntaxError ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval('function foo() { var arguments, a;}'); -}); +var arguments, a; diff --git a/test/language/statements/variable/12.2.1-33-s.js b/test/language/statements/variable/arguments-strict-list-middle.js similarity index 63% rename from test/language/statements/variable/12.2.1-33-s.js rename to test/language/statements/variable/arguments-strict-list-middle.js index 0b474dd519..15dbe4c09b 100644 --- a/test/language/statements/variable/12.2.1-33-s.js +++ b/test/language/statements/variable/arguments-strict-list-middle.js @@ -3,11 +3,14 @@ /*--- es5id: 12.2.1-33-s +esid: sec-variable-statement description: arguments as local var identifier throws SyntaxError in strict mode flags: [onlyStrict] +negative: + phase: parse + type: SyntaxError ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval('function foo() { var a, arguments, b;}'); -}); +var a, arguments, b; diff --git a/test/language/statements/variable/12.2.1-32-s.js b/test/language/statements/variable/arguments-strict-list-repeated.js similarity index 65% rename from test/language/statements/variable/12.2.1-32-s.js rename to test/language/statements/variable/arguments-strict-list-repeated.js index 12326d08bf..20756b56d9 100644 --- a/test/language/statements/variable/12.2.1-32-s.js +++ b/test/language/statements/variable/arguments-strict-list-repeated.js @@ -3,13 +3,16 @@ /*--- es5id: 12.2.1-32-s +esid: sec-variable-statement description: > arguments as local var identifier defined twice and assigned once throws SyntaxError in strict mode flags: [onlyStrict] +negative: + phase: parse + type: SyntaxError ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval('function foo() { var arguments, arguments = 42;}'); -}); +var arguments, arguments = 42; diff --git a/test/language/statements/variable/12.2.1-23-s.js b/test/language/statements/variable/arguments-strict-single-init.js similarity index 65% rename from test/language/statements/variable/12.2.1-23-s.js rename to test/language/statements/variable/arguments-strict-single-init.js index 45e3912de7..d9492f2da2 100644 --- a/test/language/statements/variable/12.2.1-23-s.js +++ b/test/language/statements/variable/arguments-strict-single-init.js @@ -3,13 +3,16 @@ /*--- es5id: 12.2.1-23-s +esid: sec-variable-statement description: > arguments as local var identifier assigned to throws SyntaxError in strict mode flags: [onlyStrict] +negative: + phase: parse + type: SyntaxError ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval('function foo() { var arguments = 42;}'); -}); +var arguments = 42; diff --git a/test/language/statements/variable/12.2.1-12-s.js b/test/language/statements/variable/arguments-strict-single.js similarity index 64% rename from test/language/statements/variable/12.2.1-12-s.js rename to test/language/statements/variable/arguments-strict-single.js index 50ffbfef3c..a5ce7627da 100644 --- a/test/language/statements/variable/12.2.1-12-s.js +++ b/test/language/statements/variable/arguments-strict-single.js @@ -3,11 +3,14 @@ /*--- es5id: 12.2.1-12-s +esid: sec-variable-statement description: arguments as local var identifier throws SyntaxError in strict mode flags: [onlyStrict] +negative: + phase: parse + type: SyntaxError ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval('function foo() { var arguments;}'); -}); +var arguments; diff --git a/test/language/statements/variable/12.2.1-26-s.js b/test/language/statements/variable/eval-strict-list-final.js similarity index 64% rename from test/language/statements/variable/12.2.1-26-s.js rename to test/language/statements/variable/eval-strict-list-final.js index 427689845b..429ce2cf19 100644 --- a/test/language/statements/variable/12.2.1-26-s.js +++ b/test/language/statements/variable/eval-strict-list-final.js @@ -3,11 +3,14 @@ /*--- es5id: 12.2.1-26-s +esid: sec-variable-statement description: eval as local var identifier throws SyntaxError in strict mode flags: [onlyStrict] +negative: + phase: parse + type: SyntaxError ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval('function foo() { var a, eval;}'); -}); +var a, eval; diff --git a/test/language/statements/variable/12.2.1-27-s.js b/test/language/statements/variable/eval-strict-list-first-init.js similarity index 65% rename from test/language/statements/variable/12.2.1-27-s.js rename to test/language/statements/variable/eval-strict-list-first-init.js index 51b3bc1b32..17f3b0810d 100644 --- a/test/language/statements/variable/12.2.1-27-s.js +++ b/test/language/statements/variable/eval-strict-list-first-init.js @@ -3,13 +3,16 @@ /*--- es5id: 12.2.1-27-s +esid: sec-variable-statement description: > eval as local var identifier assigned to throws SyntaxError in strict mode flags: [onlyStrict] +negative: + phase: parse + type: SyntaxError ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval('function foo() { var eval = 42, a;}'); -}); +var eval = 42, a; diff --git a/test/language/statements/variable/12.2.1-29-s.js b/test/language/statements/variable/eval-strict-list-first.js similarity index 63% rename from test/language/statements/variable/12.2.1-29-s.js rename to test/language/statements/variable/eval-strict-list-first.js index f188ae7196..423be25f7e 100644 --- a/test/language/statements/variable/12.2.1-29-s.js +++ b/test/language/statements/variable/eval-strict-list-first.js @@ -3,11 +3,14 @@ /*--- es5id: 12.2.1-29-s +esid: sec-variable-statement description: eval as local var identifier throws SyntaxError in strict mode flags: [onlyStrict] +negative: + phase: parse + type: SyntaxError ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval('function foo() { var eval, a = 42;}'); -}); +var eval, a = 42; diff --git a/test/language/statements/variable/12.2.1-31-s.js b/test/language/statements/variable/eval-strict-list-repeated.js similarity index 66% rename from test/language/statements/variable/12.2.1-31-s.js rename to test/language/statements/variable/eval-strict-list-repeated.js index 937313d894..22c69bd0b8 100644 --- a/test/language/statements/variable/12.2.1-31-s.js +++ b/test/language/statements/variable/eval-strict-list-repeated.js @@ -3,13 +3,16 @@ /*--- es5id: 12.2.1-31-s +esid: sec-variable-statement description: > eval as local var identifier defined twice throws SyntaxError in strict mode flags: [onlyStrict] +negative: + phase: parse + type: SyntaxError ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval('function foo() { var eval, eval;}'); -}); +var eval, eval; diff --git a/test/language/statements/variable/12.2.1-24-s.js b/test/language/statements/variable/eval-strict-single-init.js similarity index 66% rename from test/language/statements/variable/12.2.1-24-s.js rename to test/language/statements/variable/eval-strict-single-init.js index 8e5818b107..0294333215 100644 --- a/test/language/statements/variable/12.2.1-24-s.js +++ b/test/language/statements/variable/eval-strict-single-init.js @@ -3,13 +3,16 @@ /*--- es5id: 12.2.1-24-s +esid: sec-variable-statement description: > eval as local var identifier assigned to throws SyntaxError in strict mode flags: [onlyStrict] +negative: + phase: parse + type: SyntaxError ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval('function foo() { var eval = 42;}'); -}); +var eval = 42; diff --git a/test/language/statements/variable/12.2.1-1-s.js b/test/language/statements/variable/eval-strict-single.js similarity index 67% rename from test/language/statements/variable/12.2.1-1-s.js rename to test/language/statements/variable/eval-strict-single.js index bdf44cea2b..096efa5e91 100644 --- a/test/language/statements/variable/12.2.1-1-s.js +++ b/test/language/statements/variable/eval-strict-single.js @@ -3,13 +3,16 @@ /*--- es5id: 12.2.1-1-s +esid: sec-variable-statement description: > eval - a function declaring a var named 'eval' throws SyntaxError in strict mode flags: [onlyStrict] +negative: + phase: parse + type: SyntaxError ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval('function foo() { var eval; }'); -}); +var eval;