mirror of https://github.com/tc39/test262.git
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');
|
||||
}
|
|
@ -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;
|
|
@ -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;
|
|
@ -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');
|
||||
}
|
|
@ -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');
|
||||
}
|
|
@ -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;
|
|
@ -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…
Reference in New Issue