diff options
author | Leo Balter <leonardo.balter@gmail.com> | 2018-02-05 11:44:03 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-05 11:44:03 -0500 |
commit | 31dfa8761ae0c18298f8c9d179e739b5e465f99c (patch) | |
tree | 4941bdbe8cb17d5df31542bd8747be2bd32b6410 /test/language | |
parent | 82c6148980332febe92a544a1fb653718e9fdb57 (diff) | |
parent | 1d96e257842d07783ff15bef60eea98c7fc8342d (diff) | |
download | qtdeclarative-testsuites-31dfa8761ae0c18298f8c9d179e739b5e465f99c.tar.gz |
Merge pull request #1404 from jugglinmike/refactor-for-parsers-function
Refactor function literal tests for parsers
Diffstat (limited to 'test/language')
-rw-r--r-- | test/language/expressions/function/name-arguments-non-strict.js (renamed from test/language/statements/function/13.1-3-8.js) | 2 | ||||
-rw-r--r-- | test/language/expressions/function/name-arguments-strict-body.js (renamed from test/language/statements/function/13.1-42-s.js) | 10 | ||||
-rw-r--r-- | test/language/expressions/function/name-arguments-strict.js (renamed from test/language/statements/function/13.1-14-s.js) | 10 | ||||
-rw-r--r-- | test/language/expressions/function/name-eval-non-strict.js (renamed from test/language/statements/function/13.1-3-2.js) | 2 | ||||
-rw-r--r-- | test/language/expressions/function/name-eval-strict-body.js (renamed from test/language/statements/function/13.1-38-s.js) | 10 | ||||
-rw-r--r-- | test/language/expressions/function/name-eval-strict.js (renamed from test/language/statements/function/13.1-12-s.js) | 10 | ||||
-rw-r--r-- | test/language/expressions/function/name-eval-stricteval.js (renamed from test/language/statements/function/13.1-37-s.js) | 0 | ||||
-rw-r--r-- | test/language/expressions/function/param-arguments-non-strict.js (renamed from test/language/statements/function/13.1-2-6.js) | 2 | ||||
-rw-r--r-- | test/language/expressions/function/param-duplicated-non-strict.js (renamed from test/language/statements/function/13.1-1-2.js) | 2 | ||||
-rw-r--r-- | test/language/expressions/function/param-duplicated-strict-1.js (renamed from test/language/statements/function/13.1-8-s.js) | 8 | ||||
-rw-r--r-- | test/language/expressions/function/param-duplicated-strict-2.js (renamed from test/language/statements/function/13.1-9-s.js) | 8 | ||||
-rw-r--r-- | test/language/expressions/function/param-duplicated-strict-3.js (renamed from test/language/statements/function/13.1-10-s.js) | 8 | ||||
-rw-r--r-- | test/language/expressions/function/param-duplicated-strict-body-1.js (renamed from test/language/statements/function/13.1-30-s.js) | 8 | ||||
-rw-r--r-- | test/language/expressions/function/param-duplicated-strict-body-2.js (renamed from test/language/statements/function/13.1-32-s.js) | 8 | ||||
-rw-r--r-- | test/language/expressions/function/param-duplicated-strict-body-3.js (renamed from test/language/statements/function/13.1-34-s.js) | 8 | ||||
-rw-r--r-- | test/language/expressions/function/param-eval-non-strict.js (renamed from test/language/statements/function/13.1-2-2.js) | 2 | ||||
-rw-r--r-- | test/language/expressions/function/param-eval-strict-body.js (renamed from test/language/statements/function/13.1-18-s.js) | 8 | ||||
-rw-r--r-- | test/language/expressions/function/param-eval-stricteval.js (renamed from test/language/statements/function/13.1-17-s.js) | 0 | ||||
-rw-r--r-- | test/language/statements/function/S13_A7_T2.js | 49 | ||||
-rw-r--r-- | test/language/statements/function/enable-strict-via-body.js (renamed from test/language/statements/function/13.0-10-s.js) | 21 | ||||
-rw-r--r-- | test/language/statements/function/enable-strict-via-outer-body.js (renamed from test/language/statements/function/13.0-11-s.js) | 21 | ||||
-rw-r--r-- | test/language/statements/function/enable-strict-via-outer-script.js (renamed from test/language/statements/function/13.0-9-s.js) | 17 | ||||
-rw-r--r-- | test/language/statements/function/invalid-2-names.js (renamed from test/language/statements/function/13.0-1.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/invalid-3-names.js (renamed from test/language/statements/function/13.0-2.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/invalid-function-body-1.js | 17 | ||||
-rw-r--r-- | test/language/statements/function/invalid-function-body-2.js | 17 | ||||
-rw-r--r-- | test/language/statements/function/invalid-function-body-3.js | 17 | ||||
-rw-r--r-- | test/language/statements/function/invalid-name-dot.js (renamed from test/language/statements/function/13.0-3.js) | 10 | ||||
-rw-r--r-- | test/language/statements/function/invalid-name-two-dots.js (renamed from test/language/statements/function/13.0-4.js) | 11 | ||||
-rw-r--r-- | test/language/statements/function/line-terminator-non-strict.js (renamed from test/language/statements/function/S13_A16_T1.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/line-terminator-strict.js (renamed from test/language/statements/function/S13_A16_T2.js) | 10 | ||||
-rw-r--r-- | test/language/statements/function/name-arguments-non-strict.js (renamed from test/language/statements/function/13.1-3-7.js) | 2 | ||||
-rw-r--r-- | test/language/statements/function/name-arguments-strict-body.js (renamed from test/language/statements/function/13.1-40-s.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/name-arguments-strict.js (renamed from test/language/statements/function/13.1-13-s.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/name-eval-non-strict.js (renamed from test/language/statements/function/13.1-3-1.js) | 2 | ||||
-rw-r--r-- | test/language/statements/function/name-eval-strict-body.js (renamed from test/language/statements/function/13.1-36-s.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/name-eval-strict.js (renamed from test/language/statements/function/13.1-11-s.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/name-eval-stricteval.js (renamed from test/language/statements/function/13.1-35-s.js) | 0 | ||||
-rw-r--r-- | test/language/statements/function/name-unicode.js (renamed from test/language/statements/function/S13_A14_T2.js) | 0 | ||||
-rw-r--r-- | test/language/statements/function/param-arguments-non-strict.js (renamed from test/language/statements/function/13.1-2-5.js) | 2 | ||||
-rw-r--r-- | test/language/statements/function/param-arguments-strict-body.js (renamed from test/language/statements/function/13.1-20-s.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/param-arguments-strict.js (renamed from test/language/statements/function/13.1-3-s.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/param-duplicated-non-strict.js (renamed from test/language/statements/function/13.1-1-1.js) | 2 | ||||
-rw-r--r-- | test/language/statements/function/param-duplicated-strict-1.js (renamed from test/language/statements/function/13.1-5-s.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/param-duplicated-strict-2.js (renamed from test/language/statements/function/13.1-6-s.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/param-duplicated-strict-3.js (renamed from test/language/statements/function/13.1-7-s.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/param-duplicated-strict-body-1.js (renamed from test/language/statements/function/13.1-24-s.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/param-duplicated-strict-body-2.js (renamed from test/language/statements/function/13.1-26-s.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/param-duplicated-strict-body-3.js (renamed from test/language/statements/function/13.1-28-s.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/param-eval-non-strict.js (renamed from test/language/statements/function/13.1-2-1.js) | 2 | ||||
-rw-r--r-- | test/language/statements/function/param-eval-strict-body.js (renamed from test/language/statements/function/13.1-16-s.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/param-eval-strict.js (renamed from test/language/statements/function/13.1-1-s.js) | 8 | ||||
-rw-r--r-- | test/language/statements/function/param-eval-stricteval.js (renamed from test/language/statements/function/13.1-15-s.js) | 0 |
53 files changed, 260 insertions, 182 deletions
diff --git a/test/language/statements/function/13.1-3-8.js b/test/language/expressions/function/name-arguments-non-strict.js index 6e2d9e0ba..ecfe0b868 100644 --- a/test/language/statements/function/13.1-3-8.js +++ b/test/language/expressions/function/name-arguments-non-strict.js @@ -9,4 +9,4 @@ description: > flags: [noStrict] ---*/ - eval("(function arguments (){});"); +(function arguments (){}); diff --git a/test/language/statements/function/13.1-42-s.js b/test/language/expressions/function/name-arguments-strict-body.js index 8e9a3fccb..542026bf0 100644 --- a/test/language/statements/function/13.1-42-s.js +++ b/test/language/expressions/function/name-arguments-strict-body.js @@ -7,10 +7,12 @@ description: > StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionExpression whose FunctionBody is contained in strict code +negative: + phase: parse + type: SyntaxError flags: [noStrict] ---*/ - var _13_1_42_s = {}; -assert.throws(SyntaxError, function() { - eval("_13_1_42_s.x = function arguments() {'use strict';};"); -}); +throw "Test262: This statement should not be evaluated."; + +(function arguments() {'use strict';}); diff --git a/test/language/statements/function/13.1-14-s.js b/test/language/expressions/function/name-arguments-strict.js index 902419038..a88dd86db 100644 --- a/test/language/statements/function/13.1-14-s.js +++ b/test/language/expressions/function/name-arguments-strict.js @@ -6,10 +6,12 @@ es5id: 13.1-14-s description: > StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionExpression in strict mode +negative: + phase: parse + type: SyntaxError flags: [onlyStrict] ---*/ - var _13_1_14_s = {}; -assert.throws(SyntaxError, function() { - eval("_13_1_14_s.x = function arguments() {};"); -}); +throw "Test262: This statement should not be evaluated."; + +(function arguments() {}); diff --git a/test/language/statements/function/13.1-3-2.js b/test/language/expressions/function/name-eval-non-strict.js index d3b2f6bf7..0b136c285 100644 --- a/test/language/statements/function/13.1-3-2.js +++ b/test/language/expressions/function/name-eval-non-strict.js @@ -9,4 +9,4 @@ description: > flags: [noStrict] ---*/ - eval("(function eval(){});"); +(function eval(){}); diff --git a/test/language/statements/function/13.1-38-s.js b/test/language/expressions/function/name-eval-strict-body.js index ac4db793d..c373e4617 100644 --- a/test/language/statements/function/13.1-38-s.js +++ b/test/language/expressions/function/name-eval-strict-body.js @@ -7,10 +7,12 @@ description: > StrictMode - SyntaxError is thrown if 'eval' occurs as the Identifier of a FunctionExpression whose FunctionBody is contained in strict code +negative: + phase: parse + type: SyntaxError flags: [noStrict] ---*/ - var _13_1_38_s = {}; -assert.throws(SyntaxError, function() { - eval("_13_1_38_s.x = function eval() {'use strict'; };"); -}); +throw "Test262: This statement should not be evaluated."; + +(function eval() {'use strict';}); diff --git a/test/language/statements/function/13.1-12-s.js b/test/language/expressions/function/name-eval-strict.js index 9ab5a3d72..d1e81dd1c 100644 --- a/test/language/statements/function/13.1-12-s.js +++ b/test/language/expressions/function/name-eval-strict.js @@ -6,10 +6,12 @@ es5id: 13.1-12-s description: > StrictMode - SyntaxError is thrown if 'eval' occurs as the Identifier of a FunctionExpression in strict mode +negative: + phase: parse + type: SyntaxError flags: [onlyStrict] ---*/ - var _13_1_12_s = {}; -assert.throws(SyntaxError, function() { - eval("_13_1_12_s.x = function eval() {};"); -}); +throw "Test262: This statement should not be evaluated."; + +(function eval() {}); diff --git a/test/language/statements/function/13.1-37-s.js b/test/language/expressions/function/name-eval-stricteval.js index 5b2c1db6b..5b2c1db6b 100644 --- a/test/language/statements/function/13.1-37-s.js +++ b/test/language/expressions/function/name-eval-stricteval.js diff --git a/test/language/statements/function/13.1-2-6.js b/test/language/expressions/function/param-arguments-non-strict.js index 8db8bf9b2..e3a9167fb 100644 --- a/test/language/statements/function/13.1-2-6.js +++ b/test/language/expressions/function/param-arguments-non-strict.js @@ -9,4 +9,4 @@ description: > flags: [noStrict] ---*/ - eval("(function foo(arguments){});"); +(function foo(arguments){}); diff --git a/test/language/statements/function/13.1-1-2.js b/test/language/expressions/function/param-duplicated-non-strict.js index 0db6d3ba7..a1710392d 100644 --- a/test/language/statements/function/13.1-1-2.js +++ b/test/language/expressions/function/param-duplicated-non-strict.js @@ -9,4 +9,4 @@ description: > flags: [noStrict] ---*/ - eval('(function foo(a,a){})'); +(function foo(a,a){}); diff --git a/test/language/statements/function/13.1-8-s.js b/test/language/expressions/function/param-duplicated-strict-1.js index 3f38c146a..a1233a695 100644 --- a/test/language/statements/function/13.1-8-s.js +++ b/test/language/expressions/function/param-duplicated-strict-1.js @@ -11,10 +11,12 @@ description: > Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionExpression and the function has two identical parameters +negative: + phase: parse + type: SyntaxError flags: [onlyStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("var _13_1_8_fun = function (param, param) { };"); -}); +(function (param, param) { }); diff --git a/test/language/statements/function/13.1-9-s.js b/test/language/expressions/function/param-duplicated-strict-2.js index b107b8623..c4bd88ffc 100644 --- a/test/language/statements/function/13.1-9-s.js +++ b/test/language/expressions/function/param-duplicated-strict-2.js @@ -12,10 +12,12 @@ description: > 'strict mode' using a FunctionExpression and the function has two identical parameters, which are separated by a unique parameter name +negative: + phase: parse + type: SyntaxError flags: [onlyStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("var _13_1_9_fun = function (param1, param2, param1) { };"); -}); +(function (param1, param2, param1) { }); diff --git a/test/language/statements/function/13.1-10-s.js b/test/language/expressions/function/param-duplicated-strict-3.js index c744d7ad8..0f8b4df2e 100644 --- a/test/language/statements/function/13.1-10-s.js +++ b/test/language/expressions/function/param-duplicated-strict-3.js @@ -11,10 +11,12 @@ description: > Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionExpression and the function has three identical parameters +negative: + phase: parse + type: SyntaxError flags: [onlyStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("var _13_1_10_fun = function (param, param, param) { };") -}); +(function (param, param, param) { }); diff --git a/test/language/statements/function/13.1-30-s.js b/test/language/expressions/function/param-duplicated-strict-body-1.js index 3434df2d1..08c11c65c 100644 --- a/test/language/statements/function/13.1-30-s.js +++ b/test/language/expressions/function/param-duplicated-strict-body-1.js @@ -11,10 +11,12 @@ description: > Strict Mode - SyntaxError is thrown if a function is created using a FunctionExpression whose FunctionBody is contained in strict code and the function has two identical parameters +negative: + phase: parse + type: SyntaxError flags: [noStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("var _13_1_30_fun = function (param, param) { 'use strict'; };"); -}); +(function (param, param) { 'use strict'; }); diff --git a/test/language/statements/function/13.1-32-s.js b/test/language/expressions/function/param-duplicated-strict-body-2.js index e7ff3ebca..5d286c9c7 100644 --- a/test/language/statements/function/13.1-32-s.js +++ b/test/language/expressions/function/param-duplicated-strict-body-2.js @@ -12,10 +12,12 @@ description: > a FunctionExpression whose FunctionBody is strict and the function has two identical parameters, which are separated by a unique parameter name +negative: + phase: parse + type: SyntaxError flags: [noStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("var _13_1_32_fun = function (param1, param2, param1) { 'use strict'; };"); -}); +(function (param1, param2, param1) { 'use strict'; }); diff --git a/test/language/statements/function/13.1-34-s.js b/test/language/expressions/function/param-duplicated-strict-body-3.js index a4d45d00c..27807ffaf 100644 --- a/test/language/statements/function/13.1-34-s.js +++ b/test/language/expressions/function/param-duplicated-strict-body-3.js @@ -10,10 +10,12 @@ es5id: 13.1-34-s description: > Strict Mode - SyntaxError is thrown if a function declaration has three identical parameters with a strict mode body +negative: + phase: parse + type: SyntaxError flags: [noStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("var _13_1_34_fun = function (param, param, param) { 'use strict'; };") -}); +(function (param, param, param) { 'use strict'; }); diff --git a/test/language/statements/function/13.1-2-2.js b/test/language/expressions/function/param-eval-non-strict.js index c3e856734..29161ccf0 100644 --- a/test/language/statements/function/13.1-2-2.js +++ b/test/language/expressions/function/param-eval-non-strict.js @@ -9,4 +9,4 @@ description: > flags: [noStrict] ---*/ - eval("(function foo(eval){});"); +(function foo(eval){}); diff --git a/test/language/statements/function/13.1-18-s.js b/test/language/expressions/function/param-eval-strict-body.js index a3df9f85c..8b237ad05 100644 --- a/test/language/statements/function/13.1-18-s.js +++ b/test/language/expressions/function/param-eval-strict-body.js @@ -11,10 +11,12 @@ description: > StrictMode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionExpression when FuctionBody is strict code +negative: + phase: parse + type: SyntaxError flags: [noStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("var _13_1_18_fun = function (eval) { 'use strict'; }"); -}); +(function (eval) { 'use strict'; }); diff --git a/test/language/statements/function/13.1-17-s.js b/test/language/expressions/function/param-eval-stricteval.js index 57a9fe63f..57a9fe63f 100644 --- a/test/language/statements/function/13.1-17-s.js +++ b/test/language/expressions/function/param-eval-stricteval.js diff --git a/test/language/statements/function/S13_A7_T2.js b/test/language/statements/function/S13_A7_T2.js deleted file mode 100644 index b4ed77cab..000000000 --- a/test/language/statements/function/S13_A7_T2.js +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -info: The FunctionBody must be SourceElements -es5id: 13_A7_T2 -description: > - Inserting elements that is different from SourceElements into the - FunctionBody ----*/ - -////////////////////////////////////////////////////////////////////////////// -//CHECK#1 -try{ - eval("function __func(){/ ABC}"); - $ERROR('#1: eval("function __func(){/ ABC}") lead to throwing exception'); -} catch(e){ - if(!(e instanceof SyntaxError)){ - $ERROR('#1.1: eval("function __func(){/ ABC}") lead to throwing exception of SyntaxError. Actual: exception is '+e); - } -} -// -////////////////////////////////////////////////////////////////////////////// - -////////////////////////////////////////////////////////////////////////////// -//CHECK#3 -try{ - eval("function __func(){&1}"); - $ERROR('#3: eval("function __func(){&1}") lead to throwing exception'); -} catch(e){ - if(!(e instanceof SyntaxError)){ - $ERROR('#3.1: eval("function __func(){&1}") lead to throwing exception of SyntaxError. Actual: exception is '+e); - } -} -// -////////////////////////////////////////////////////////////////////////////// - -////////////////////////////////////////////////////////////////////////////// -//CHECK#4 -try{ - eval("function __func(){# ABC}"); - $ERROR('#4: eval("function __func(){# ABC}") lead to throwing exception'); -} catch(e){ - if(!(e instanceof SyntaxError)){ - $ERROR('#4.1: eval("function __func(){# ABC}") lead to throwing exception of SyntaxError. Actual: exception is '+e); - } -} -// -////////////////////////////////////////////////////////////////////////////// diff --git a/test/language/statements/function/13.0-10-s.js b/test/language/statements/function/enable-strict-via-body.js index b47632572..5a7a830be 100644 --- a/test/language/statements/function/13.0-10-s.js +++ b/test/language/statements/function/enable-strict-via-body.js @@ -10,16 +10,17 @@ description: > Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionBody with an inner function contains a Use Strict Directive +negative: + phase: parse + type: SyntaxError flags: [noStrict] ---*/ - function _13_0_10_fun() { - function _13_0_10_inner() { - "use strict"; - eval("eval = 42;"); - } - _13_0_10_inner(); - }; -assert.throws(SyntaxError, function() { - _13_0_10_fun(); -}); +throw "Test262: This statement should not be evaluated."; + +function _13_0_10_fun() { + function _13_0_10_inner() { + "use strict"; + eval = 42; + } +} diff --git a/test/language/statements/function/13.0-11-s.js b/test/language/statements/function/enable-strict-via-outer-body.js index 393033ff1..efd168aa4 100644 --- a/test/language/statements/function/13.0-11-s.js +++ b/test/language/statements/function/enable-strict-via-outer-body.js @@ -10,16 +10,17 @@ description: > Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionBody with an inner function which is in strict mode +negative: + phase: parse + type: SyntaxError flags: [noStrict] ---*/ - function _13_0_11_fun() { - "use strict"; - function _13_0_11_inner() { - eval("eval = 42;"); - } - _13_0_11_inner(); - }; -assert.throws(SyntaxError, function() { - _13_0_11_fun(); -}); +throw "Test262: This statement should not be evaluated."; + +function _13_0_11_fun() { + "use strict"; + function _13_0_11_inner() { + eval = 42; + } +} diff --git a/test/language/statements/function/13.0-9-s.js b/test/language/statements/function/enable-strict-via-outer-script.js index da2066e98..f2f01d1e2 100644 --- a/test/language/statements/function/13.0-9-s.js +++ b/test/language/statements/function/enable-strict-via-outer-script.js @@ -10,13 +10,16 @@ description: > Strict Mode - SourceElements is evaluated as strict mode code when a FunctionDeclaration that is contained in strict mode code has an inner function +negative: + phase: parse + type: SyntaxError flags: [onlyStrict] ---*/ - var _13_0_9_fun = function () { - function _13_0_9_inner() { eval("eval = 42;"); } - _13_0_9_inner(); - }; -assert.throws(SyntaxError, function() { - _13_0_9_fun(); -}); +throw "Test262: This statement should not be evaluated."; + +var _13_0_9_fun = function () { + function _13_0_9_inner() { + eval = 42; + } +}; diff --git a/test/language/statements/function/13.0-1.js b/test/language/statements/function/invalid-2-names.js index 33b5fd66e..f7af44a72 100644 --- a/test/language/statements/function/13.0-1.js +++ b/test/language/statements/function/invalid-2-names.js @@ -6,9 +6,11 @@ es5id: 13.0-1 description: > 13.0 - multiple names in one function declaration is not allowed, two function names +negative: + phase: parse + type: SyntaxError ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function x, y() {}"); -}); +function x, y() {} diff --git a/test/language/statements/function/13.0-2.js b/test/language/statements/function/invalid-3-names.js index 7a3712f06..4d19df15d 100644 --- a/test/language/statements/function/13.0-2.js +++ b/test/language/statements/function/invalid-3-names.js @@ -6,9 +6,11 @@ es5id: 13.0-2 description: > 13.0 - multiple names in one function declaration is not allowed, three function names +negative: + phase: parse + type: SyntaxError ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function x,y,z(){}"); -}); +function x,y,z(){} diff --git a/test/language/statements/function/invalid-function-body-1.js b/test/language/statements/function/invalid-function-body-1.js new file mode 100644 index 000000000..9888d4d8f --- /dev/null +++ b/test/language/statements/function/invalid-function-body-1.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: The FunctionBody must be SourceElements +es5id: 13_A7_T2 +description: > + Inserting elements that is different from SourceElements into the + FunctionBody +negative: + phase: parse + type: SyntaxError +---*/ + +throw "Test262: This statement should not be evaluated."; + +function __func(){/ ABC} diff --git a/test/language/statements/function/invalid-function-body-2.js b/test/language/statements/function/invalid-function-body-2.js new file mode 100644 index 000000000..bbd8c93ec --- /dev/null +++ b/test/language/statements/function/invalid-function-body-2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: The FunctionBody must be SourceElements +es5id: 13_A7_T2 +description: > + Inserting elements that is different from SourceElements into the + FunctionBody +negative: + phase: parse + type: SyntaxError +---*/ + +throw "Test262: This statement should not be evaluated."; + +function __func(){&1} diff --git a/test/language/statements/function/invalid-function-body-3.js b/test/language/statements/function/invalid-function-body-3.js new file mode 100644 index 000000000..6087c3ac0 --- /dev/null +++ b/test/language/statements/function/invalid-function-body-3.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: The FunctionBody must be SourceElements +es5id: 13_A7_T2 +description: > + Inserting elements that is different from SourceElements into the + FunctionBody +negative: + phase: parse + type: SyntaxError +---*/ + +throw "Test262: This statement should not be evaluated."; + +function __func(){# ABC} diff --git a/test/language/statements/function/13.0-3.js b/test/language/statements/function/invalid-name-dot.js index f4eab6a1c..7fa20cd00 100644 --- a/test/language/statements/function/13.0-3.js +++ b/test/language/statements/function/invalid-name-dot.js @@ -6,9 +6,11 @@ es5id: 13.0-3 description: > 13.0 - property names in function definition is not allowed, add a new property into object +negative: + phase: parse + type: SyntaxError ---*/ - var obj = {}; -assert.throws(SyntaxError, function() { - eval("function obj.tt() {};"); -}); +throw "Test262: This statement should not be evaluated."; + +function obj.tt() {} diff --git a/test/language/statements/function/13.0-4.js b/test/language/statements/function/invalid-name-two-dots.js index ace2f52e1..b8b9eb62c 100644 --- a/test/language/statements/function/13.0-4.js +++ b/test/language/statements/function/invalid-name-two-dots.js @@ -6,10 +6,11 @@ es5id: 13.0-4 description: > 13.0 - multiple names in one function declaration is not allowed, add a new property into a property which is a object +negative: + phase: parse + type: SyntaxError ---*/ - var obj = {}; - obj.tt = { len: 10 }; -assert.throws(SyntaxError, function() { - eval("function obj.tt.ss() {};"); -}); +throw "Test262: This statement should not be evaluated."; + +function obj.tt.ss() {} diff --git a/test/language/statements/function/S13_A16_T1.js b/test/language/statements/function/line-terminator-non-strict.js index 11dba26c6..d585e3fce 100644 --- a/test/language/statements/function/S13_A16_T1.js +++ b/test/language/statements/function/line-terminator-non-strict.js @@ -38,6 +38,12 @@ z z(); -eval("function\u0009\u2029w(\u000C)\u00A0{\u000D};"); +// The following function expression is expressed with literal unicode +// characters so that parsers may benefit from this test. The included code +// points are as follows: +// +// "function\u0009\u2029w(\u000C)\u00A0{\u000D}" + +function
w() {
} w(); diff --git a/test/language/statements/function/S13_A16_T2.js b/test/language/statements/function/line-terminator-strict.js index 00fbf5995..3a00e1821 100644 --- a/test/language/statements/function/S13_A16_T2.js +++ b/test/language/statements/function/line-terminator-strict.js @@ -37,4 +37,12 @@ z z(); -eval("function\u0009\u2029w(\u000C)\u00A0{\u000D}; w()"); +// The following function expression is expressed with literal unicode +// characters so that parsers may benefit from this test. The included code +// points are as follows: +// +// "function\u0009\u2029w(\u000C)\u00A0{\u000D}" + +function
w() {
} + +w(); diff --git a/test/language/statements/function/13.1-3-7.js b/test/language/statements/function/name-arguments-non-strict.js index e9445cfd8..8027c9626 100644 --- a/test/language/statements/function/13.1-3-7.js +++ b/test/language/statements/function/name-arguments-non-strict.js @@ -9,4 +9,4 @@ description: > flags: [noStrict] ---*/ - eval("function arguments (){};"); +function arguments (){} diff --git a/test/language/statements/function/13.1-40-s.js b/test/language/statements/function/name-arguments-strict-body.js index 8c7704607..9b13ce5cc 100644 --- a/test/language/statements/function/13.1-40-s.js +++ b/test/language/statements/function/name-arguments-strict-body.js @@ -7,10 +7,12 @@ description: > StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionDeclaration whose FunctionBody is contained in strict code +negative: + phase: parse + type: SyntaxError flags: [noStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function arguments() { 'use strict'; };") -}); +function arguments() { 'use strict'; } diff --git a/test/language/statements/function/13.1-13-s.js b/test/language/statements/function/name-arguments-strict.js index ca4217170..7b6f9bd5a 100644 --- a/test/language/statements/function/13.1-13-s.js +++ b/test/language/statements/function/name-arguments-strict.js @@ -6,10 +6,12 @@ es5id: 13.1-13-s description: > StrictMode - SyntaxError is thrown if 'arguments' occurs as the function name of a FunctionDeclaration in strict mode +negative: + phase: parse + type: SyntaxError flags: [onlyStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function arguments() { };") -}); +function arguments() { } diff --git a/test/language/statements/function/13.1-3-1.js b/test/language/statements/function/name-eval-non-strict.js index fa2f58983..0206d33bf 100644 --- a/test/language/statements/function/13.1-3-1.js +++ b/test/language/statements/function/name-eval-non-strict.js @@ -9,4 +9,4 @@ description: > flags: [noStrict] ---*/ - eval("function eval(){};"); +function eval(){} diff --git a/test/language/statements/function/13.1-36-s.js b/test/language/statements/function/name-eval-strict-body.js index ce5c98ec0..a11eea225 100644 --- a/test/language/statements/function/13.1-36-s.js +++ b/test/language/statements/function/name-eval-strict-body.js @@ -7,10 +7,12 @@ description: > StrictMode - SyntaxError is thrown if 'eval' occurs as the function name of a FunctionDeclaration whose FunctionBody is in strict mode +negative: + phase: parse + type: SyntaxError flags: [noStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function eval() { 'use strict'; };") -}); +function eval() { 'use strict'; } diff --git a/test/language/statements/function/13.1-11-s.js b/test/language/statements/function/name-eval-strict.js index f518e3e3e..a490c39ea 100644 --- a/test/language/statements/function/13.1-11-s.js +++ b/test/language/statements/function/name-eval-strict.js @@ -6,10 +6,12 @@ es5id: 13.1-11-s description: > StrictMode - SyntaxError is thrown if 'eval' occurs as the function name of a FunctionDeclaration in strict mode +negative: + phase: parse + type: SyntaxError flags: [onlyStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function eval() { };") -}); +function eval() { } diff --git a/test/language/statements/function/13.1-35-s.js b/test/language/statements/function/name-eval-stricteval.js index ca9376953..ca9376953 100644 --- a/test/language/statements/function/13.1-35-s.js +++ b/test/language/statements/function/name-eval-stricteval.js diff --git a/test/language/statements/function/S13_A14_T2.js b/test/language/statements/function/name-unicode.js index f28b51c5f..f28b51c5f 100644 --- a/test/language/statements/function/S13_A14_T2.js +++ b/test/language/statements/function/name-unicode.js diff --git a/test/language/statements/function/13.1-2-5.js b/test/language/statements/function/param-arguments-non-strict.js index 7d7f9cd00..a65a50e95 100644 --- a/test/language/statements/function/13.1-2-5.js +++ b/test/language/statements/function/param-arguments-non-strict.js @@ -9,4 +9,4 @@ description: > flags: [noStrict] ---*/ - eval("function foo(arguments){};"); +function foo(arguments){} diff --git a/test/language/statements/function/13.1-20-s.js b/test/language/statements/function/param-arguments-strict-body.js index 6d8b18b2d..5b9d2a1b0 100644 --- a/test/language/statements/function/13.1-20-s.js +++ b/test/language/statements/function/param-arguments-strict-body.js @@ -11,10 +11,12 @@ description: > StrictMode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionDeclaration when FuctionBody is strict code +negative: + phase: parse + type: SyntaxError flags: [noStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function _13_1_20_fun(arguments) { 'use strict'; }"); -}); +function _13_1_20_fun(arguments) { 'use strict'; } diff --git a/test/language/statements/function/13.1-3-s.js b/test/language/statements/function/param-arguments-strict.js index cb4c6cebb..4d37b8e87 100644 --- a/test/language/statements/function/13.1-3-s.js +++ b/test/language/statements/function/param-arguments-strict.js @@ -11,10 +11,12 @@ description: > Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears within a FormalParameterList of a strict mode FunctionDeclaration +negative: + phase: parse + type: SyntaxError flags: [onlyStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function _13_1_3_fun(arguments) { }"); -}); +function _13_1_3_fun(arguments) { } diff --git a/test/language/statements/function/13.1-1-1.js b/test/language/statements/function/param-duplicated-non-strict.js index fe491ee04..0f8da7bc2 100644 --- a/test/language/statements/function/13.1-1-1.js +++ b/test/language/statements/function/param-duplicated-non-strict.js @@ -9,4 +9,4 @@ description: > flags: [noStrict] ---*/ - eval('function foo(a,a){}'); +function foo(a,a){} diff --git a/test/language/statements/function/13.1-5-s.js b/test/language/statements/function/param-duplicated-strict-1.js index 3f766c679..b133910ed 100644 --- a/test/language/statements/function/13.1-5-s.js +++ b/test/language/statements/function/param-duplicated-strict-1.js @@ -11,10 +11,12 @@ description: > Strict Mode - SyntaxError is thrown if a function is declared in 'strict mode' using a FunctionDeclaration and the function has two identical parameters +negative: + phase: parse + type: SyntaxError flags: [onlyStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function _13_1_5_fun(param, param) { }"); -}); +function _13_1_5_fun(param, param) { } diff --git a/test/language/statements/function/13.1-6-s.js b/test/language/statements/function/param-duplicated-strict-2.js index cf5b51d3e..3abd84005 100644 --- a/test/language/statements/function/13.1-6-s.js +++ b/test/language/statements/function/param-duplicated-strict-2.js @@ -12,10 +12,12 @@ description: > 'strict mode' using a FunctionDeclaration and the function has two identical parameters, which are separated by a unique parameter name +negative: + phase: parse + type: SyntaxError flags: [onlyStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function _13_1_6_fun(param1, param2, param1) { }"); -}); +function _13_1_6_fun(param1, param2, param1) { } diff --git a/test/language/statements/function/13.1-7-s.js b/test/language/statements/function/param-duplicated-strict-3.js index aefc23a81..bbde6fb5d 100644 --- a/test/language/statements/function/13.1-7-s.js +++ b/test/language/statements/function/param-duplicated-strict-3.js @@ -11,10 +11,12 @@ description: > Strict Mode - SyntaxError is thrown if a function is created in 'strict mode' using a FunctionDeclaration and the function has three identical parameters +negative: + phase: parse + type: SyntaxError flags: [onlyStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function _13_1_7_fun(param, param, param) { }"); -}); +function _13_1_7_fun(param, param, param) { } diff --git a/test/language/statements/function/13.1-24-s.js b/test/language/statements/function/param-duplicated-strict-body-1.js index bfb7fc45b..fcbba0610 100644 --- a/test/language/statements/function/13.1-24-s.js +++ b/test/language/statements/function/param-duplicated-strict-body-1.js @@ -11,10 +11,12 @@ description: > Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration whose FunctionBody is contained in strict code and the function has two identical parameters +negative: + phase: parse + type: SyntaxError flags: [noStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function _13_1_24_fun(param, param) { 'use strict'; }"); -}); +function _13_1_24_fun(param, param) { 'use strict'; } diff --git a/test/language/statements/function/13.1-26-s.js b/test/language/statements/function/param-duplicated-strict-body-2.js index bb385da51..5266d30aa 100644 --- a/test/language/statements/function/13.1-26-s.js +++ b/test/language/statements/function/param-duplicated-strict-body-2.js @@ -12,10 +12,12 @@ description: > a FunctionDeclaration whose FunctionBody is contained in strict code and the function has two identical parameters which are separated by a unique parameter name +negative: + phase: parse + type: SyntaxError flags: [noStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function _13_1_26_fun(param1, param2, param1) { 'use strict'; }"); -}); +function _13_1_26_fun(param1, param2, param1) { 'use strict'; } diff --git a/test/language/statements/function/13.1-28-s.js b/test/language/statements/function/param-duplicated-strict-body-3.js index 54760ba6b..6783272a1 100644 --- a/test/language/statements/function/13.1-28-s.js +++ b/test/language/statements/function/param-duplicated-strict-body-3.js @@ -11,10 +11,12 @@ description: > Strict Mode - SyntaxError is thrown if a function is created using a FunctionDeclaration whose FunctionBody is contained in strict code and the function has three identical parameters +negative: + phase: parse + type: SyntaxError flags: [noStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function _13_1_28_fun(param, param, param) { 'use strict'; }"); -}); +function _13_1_28_fun(param, param, param) { 'use strict'; } diff --git a/test/language/statements/function/13.1-2-1.js b/test/language/statements/function/param-eval-non-strict.js index c517620a9..561b85377 100644 --- a/test/language/statements/function/13.1-2-1.js +++ b/test/language/statements/function/param-eval-non-strict.js @@ -9,4 +9,4 @@ description: > flags: [noStrict] ---*/ - eval("function foo(eval){};"); +function foo(eval){}; diff --git a/test/language/statements/function/13.1-16-s.js b/test/language/statements/function/param-eval-strict-body.js index 961dea507..c47006eda 100644 --- a/test/language/statements/function/13.1-16-s.js +++ b/test/language/statements/function/param-eval-strict-body.js @@ -11,10 +11,12 @@ description: > StrictMode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionDeclaration when FuctionBody is strict code +negative: + phase: parse + type: SyntaxError flags: [noStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function _13_1_16_fun(eval) { 'use strict'; }"); -}); +function _13_1_16_fun(eval) { 'use strict'; } diff --git a/test/language/statements/function/13.1-1-s.js b/test/language/statements/function/param-eval-strict.js index 8f1702734..f3e115f57 100644 --- a/test/language/statements/function/13.1-1-s.js +++ b/test/language/statements/function/param-eval-strict.js @@ -11,10 +11,12 @@ description: > Strict Mode - SyntaxError is thrown if the identifier 'eval' appears within a FormalParameterList of a strict mode FunctionDeclaration +negative: + phase: parse + type: SyntaxError flags: [onlyStrict] ---*/ +throw "Test262: This statement should not be evaluated."; -assert.throws(SyntaxError, function() { - eval("function _13_1_1_fun(eval) { }"); -}); +function _13_1_1_fun(eval) { } diff --git a/test/language/statements/function/13.1-15-s.js b/test/language/statements/function/param-eval-stricteval.js index 03370a8a1..03370a8a1 100644 --- a/test/language/statements/function/13.1-15-s.js +++ b/test/language/statements/function/param-eval-stricteval.js |