mirror of
https://github.com/tc39/test262.git
synced 2025-07-23 05:55:36 +02:00
Merge pull request #1375 from jugglinmike/refactor-for-parsers-assignment
Refactor AssignmentExpression tests for parsers
This commit is contained in:
commit
642d88377f
@ -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();
|
|
@ -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();
|
|
@ -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');
|
|
@ -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();
|
|
@ -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');
|
|
||||||
}
|
|
16
test/language/expressions/assignment/id-arguments-strict.js
Normal file
16
test/language/expressions/assignment/id-arguments-strict.js
Normal file
@ -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;
|
16
test/language/expressions/assignment/id-eval-strict.js
Normal file
16
test/language/expressions/assignment/id-eval-strict.js
Normal file
@ -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;
|
18
test/language/expressions/assignment/line-terminator.js
Normal file
18
test/language/expressions/assignment/line-terminator.js
Normal file
@ -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');
|
||||||
|
}
|
55
test/language/expressions/assignment/white-space.js
Normal file
55
test/language/expressions/assignment/white-space.js
Normal file
@ -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');
|
||||||
|
}
|
16
test/language/statements/variable/id-arguments-strict.js
Normal file
16
test/language/statements/variable/id-arguments-strict.js
Normal file
@ -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;
|
16
test/language/statements/variable/id-eval-strict.js
Normal file
16
test/language/statements/variable/id-eval-strict.js
Normal file
@ -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;
|
Loading…
x
Reference in New Issue
Block a user