diff --git a/test/language/expressions/assignment/11.13.1-4-28-s.js b/test/language/expressions/assignment/11.13.1-4-28-s.js deleted file mode 100644 index ef1dfed23abf1c8a556dc6db4cce597efbbdb4a5..0000000000000000000000000000000000000000 --- a/test/language/expressions/assignment/11.13.1-4-28-s.js +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c) 2012 Ecma International. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -es5id: 11.13.1-4-28-s -description: > - Strict Mode - SyntaxError is thrown if the identifier 'eval' - appears as the LeftHandSideExpression of simple assignment(=) - under strict mode -flags: [onlyStrict] ----*/ - -function testcase() { - var err = null; - var blah = eval; - try { - eval("var eval = 20;"); - } catch (e) { - err = e; - } - assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); - assert.sameValue(blah, eval, 'blah'); - } -testcase(); diff --git a/test/language/expressions/assignment/11.13.1-4-29-s.js b/test/language/expressions/assignment/11.13.1-4-29-s.js deleted file mode 100644 index fedd11c6f004f7fb7f6ec585e6bd0516114428ba..0000000000000000000000000000000000000000 --- a/test/language/expressions/assignment/11.13.1-4-29-s.js +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c) 2012 Ecma International. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -es5id: 11.13.1-4-29-s -description: > - Strict Mode - SyntaxError is thrown if the identifier 'arguments' - appears as the LeftHandSideExpression of simple assignment(=) - under strict mode -flags: [onlyStrict] ----*/ - -function testcase() { - var err = null; - var blah = arguments; - try { - eval("var arguments = 20;"); - } catch (e) { - err = e; - } - assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); - assert.sameValue(blah, arguments, 'blah'); - } -testcase(); diff --git a/test/language/expressions/assignment/11.13.1-4-30-s.js b/test/language/expressions/assignment/11.13.1-4-30-s.js deleted file mode 100644 index 70cdcd0af6b5901821a43552d98ebc8d0bed54f3..0000000000000000000000000000000000000000 --- a/test/language/expressions/assignment/11.13.1-4-30-s.js +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c) 2012 Ecma International. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -es5id: 11.13.1-4-30-s -description: > - Strict Mode - SyntaxError is thrown if the identifier 'eval' - appears as the LeftHandSideExpression (PrimaryExpression) of - simple assignment(=) under strict mode -flags: [onlyStrict] ----*/ - - var blah = eval; -assert.throws(SyntaxError, function() { - eval("(eval) = 20;"); -}); -assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/assignment/11.13.1-4-31-s.js b/test/language/expressions/assignment/11.13.1-4-31-s.js deleted file mode 100644 index 6fc24f0034d6c792f8cfff83a23ff6bed4457cd3..0000000000000000000000000000000000000000 --- a/test/language/expressions/assignment/11.13.1-4-31-s.js +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c) 2012 Ecma International. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -es5id: 11.13.1-4-31-s -description: > - Strict Mode - SyntaxError is thrown if the identifier 'arguments' - appears as the LeftHandSideExpression (PrimaryExpression) of - simple assignment(=) under strict mode -flags: [onlyStrict] ----*/ - -function testcase() { - var err = null; - var blah = arguments; - try { - eval("(arguments) = 20;"); - } catch (e) { - err = e; - } - assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); - assert.sameValue(blah, arguments, 'blah'); -} -testcase(); diff --git a/test/language/expressions/assignment/S11.13.1_A1.js b/test/language/expressions/assignment/S11.13.1_A1.js deleted file mode 100644 index 621a5015051574fb35eef04d84e15ce5c63794a2..0000000000000000000000000000000000000000 --- a/test/language/expressions/assignment/S11.13.1_A1.js +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -info: > - White Space and Line Terminator between LeftHandSideExpression and "=" or - between "=" and AssignmentExpression are allowed -es5id: 11.13.1_A1 -description: Checking by using eval -flags: [noStrict] ----*/ - -//CHECK#1 -if ((eval("x\u0009=\u0009true")) !== true) { - $ERROR('#1: (x\\u0009=\\u0009true) === true'); -} - -//CHECK#2 -if ((eval("x\u000B=\u000Btrue")) !== true) { - $ERROR('#2: (x\\u000B=\\u000Btrue) === true'); -} - -//CHECK#3 -if ((eval("x\u000C=\u000Ctrue")) !== true) { - $ERROR('#3: (x\\u000C=\\u000Ctrue) === true'); -} - -//CHECK#4 -if ((eval("x\u0020=\u0020true")) !== true) { - $ERROR('#4: (x\\u0020=\\u0020true) === true'); -} - -//CHECK#5 -if ((eval("x\u00A0=\u00A0true")) !== true) { - $ERROR('#5: (x\\u00A0=\\u00A0true) === true'); -} - -//CHECK#6 -if ((eval("x\u000A=\u000Atrue")) !== true) { - $ERROR('#6: (x\\u000A=\\u000Atrue) === true'); -} - -//CHECK#7 -if ((eval("x\u000D=\u000Dtrue")) !== true) { - $ERROR('#7: (x\\u000D=\\u000Dtrue) === true'); -} - -//CHECK#8 -if ((eval("x\u2028=\u2028true")) !== true) { - $ERROR('#8: (x\\u2028=\\u2028true) === true'); -} - -//CHECK#9 -if ((eval("x\u2029=\u2029true")) !== true) { - $ERROR('#9: (x\\u2029=\\u2029true) === true'); -} - - -//CHECK#10 -if ((eval("x\u0009\u000B\u000C\u0020\u00A0\u000A\u000D\u2028\u2029=\u0009\u000B\u000C\u0020\u00A0\u000A\u000D\u2028\u2029true")) !== true) { - $ERROR('#10: (x\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029=\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029true) === true'); -} diff --git a/test/language/expressions/assignment/id-arguments-strict.js b/test/language/expressions/assignment/id-arguments-strict.js new file mode 100644 index 0000000000000000000000000000000000000000..6425c52c30f050e6d57fe4f8dab438d0421536e9 --- /dev/null +++ b/test/language/expressions/assignment/id-arguments-strict.js @@ -0,0 +1,16 @@ +// Copyright (c) 2012 Ecma International. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +es5id: 11.13.1-4-30-s +description: > + Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears as + the LeftHandSideExpression (PrimaryExpression) of simple assignment(=). +negative: + phase: early + type: SyntaxError +flags: [onlyStrict] +---*/ + +throw "Test262: This statement should not be evaluated."; + +(arguments) = 20; diff --git a/test/language/expressions/assignment/id-eval-strict.js b/test/language/expressions/assignment/id-eval-strict.js new file mode 100644 index 0000000000000000000000000000000000000000..b1ddcc19bc8809ad4adce99f3f425fa2a9b61323 --- /dev/null +++ b/test/language/expressions/assignment/id-eval-strict.js @@ -0,0 +1,16 @@ +// Copyright (c) 2012 Ecma International. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +es5id: 11.13.1-4-30-s +description: > + Strict Mode - SyntaxError is thrown if the identifier 'eval' appears as the + LeftHandSideExpression (PrimaryExpression) of simple assignment(=). +negative: + phase: early + type: SyntaxError +flags: [onlyStrict] +---*/ + +throw "Test262: This statement should not be evaluated."; + +(eval) = 20; diff --git a/test/language/expressions/assignment/line-terminator.js b/test/language/expressions/assignment/line-terminator.js new file mode 100644 index 0000000000000000000000000000000000000000..61f29c1ef06049f954156c6ffeccdb9355b736d8 --- /dev/null +++ b/test/language/expressions/assignment/line-terminator.js @@ -0,0 +1,18 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: > + White Space between LeftHandSideExpression and "=" or between "=" and + AssignmentExpression is allowed +es5id: 11.13.1_A1 +---*/ + +var x; + +x += +true; + +if (x !== true) { + $ERROR('#6: (x\\u000A=\\u000Atrue) === true'); +} diff --git a/test/language/expressions/assignment/white-space.js b/test/language/expressions/assignment/white-space.js new file mode 100644 index 0000000000000000000000000000000000000000..a9ecdc6d43007d3a53048fd7035d8b0c5dbdfb6b --- /dev/null +++ b/test/language/expressions/assignment/white-space.js @@ -0,0 +1,55 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: > + White Space between LeftHandSideExpression and "=" or between "=" and + AssignmentExpression is allowed +es5id: 11.13.1_A1 +---*/ + +var x; + +x = 'U+0009'; +if (x !== 'U+0009') { + $ERROR('#1: (x\\u0009=\\u0009true) === true'); +} + +x='U+000B'; +if (x !== 'U+000B') { + $ERROR('#2: (x\\u000B=\\u000Btrue) === true'); +} + +x='U+000C'; +if (x !== 'U+000C') { + $ERROR('#3: (x\\u000C=\\u000Ctrue) === true'); +} + +x = 'U+0020'; +if (x !== 'U+0020') { + $ERROR('#4: (x\\u0020=\\u0020true) === true'); +} + +x = 'U+00A0'; +if (x !== 'U+00A0') { + $ERROR('#5: (x\\u00A0=\\u00A0true) === true'); +} + +x = 'U+000D'; +if (x !== 'U+000D') { + $ERROR('#7: (x\\u000D=\\u000Dtrue) === true'); +} + +x
=
'U+2028'; +if (x !== 'U+2028') { + $ERROR('#8: (x\\u2028=\\u2028true) === true'); +} + +x
=
'U+2029'; +if (x !== 'U+2029') { + $ERROR('#9: (x\\u2029=\\u2029true) === true'); +} + +x  

=  

'U+0009U+000BU+000CU+0020U+00A0U+000DU+2028U+2029'; +if (x !== 'U+0009U+000BU+000CU+0020U+00A0U+000DU+2028U+2029') { + $ERROR('#10: (x\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000D\\u2028\\u2029=\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000D\\u2028\\u2029true) === true'); +} diff --git a/test/language/statements/variable/id-arguments-strict.js b/test/language/statements/variable/id-arguments-strict.js new file mode 100644 index 0000000000000000000000000000000000000000..66e099ef081614796424d631b6b99b74029b8279 --- /dev/null +++ b/test/language/statements/variable/id-arguments-strict.js @@ -0,0 +1,16 @@ +// Copyright (c) 2012 Ecma International. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +es5id: 11.13.1-4-28-s +description: > + Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears + as the LeftHandSideExpression of simple assignment(=) under strict mode +negative: + phase: early + type: SyntaxError +flags: [onlyStrict] +---*/ + +throw "Test262: This statement should not be evaluated."; + +var arguments; diff --git a/test/language/statements/variable/id-eval-strict.js b/test/language/statements/variable/id-eval-strict.js new file mode 100644 index 0000000000000000000000000000000000000000..a9e6c4825088b540d552996c482bf4756a3ac547 --- /dev/null +++ b/test/language/statements/variable/id-eval-strict.js @@ -0,0 +1,16 @@ +// Copyright (c) 2012 Ecma International. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +es5id: 11.13.1-4-28-s +description: > + Strict Mode - SyntaxError is thrown if the identifier 'eval' appears as the + LeftHandSideExpression of simple assignment(=) under strict mode +negative: + phase: early + type: SyntaxError +flags: [onlyStrict] +---*/ + +throw "Test262: This statement should not be evaluated."; + +var eval;