mirror of https://github.com/tc39/test262.git
Merge pull request #778 from jugglinmike/negative-reform-9
Encode expected error "phase"
This commit is contained in:
commit
638c4801e6
|
@ -70,14 +70,21 @@ Eg: Object.prototype.toString - '[object Null]' will be returned when
|
|||
'this' value is null
|
||||
|
||||
#### negative
|
||||
**negative**: [regex]
|
||||
**negative**: [dictionary containing **phase** and **type**]
|
||||
|
||||
This means the test is expected to throw an error of the given type. If no error is thrown, a test failure is reported.
|
||||
|
||||
If an error is thrown, it is implicitly converted to a string. The second parameter is a regular expression that will be matched against this string. If the match fails, a test failure is reported. Thus the regular expression can match either the error name, or the message contents, or both.
|
||||
- **type**- If an error is thrown, it is implicitly converted to a string. In order for the test to pass, this value must match the name of the error constructor.
|
||||
- **phase** - Negative tests whose **phase** value is "early" must produce the specified error prior to executing code. The value "runtime" dictates that the error is expected to be produced as a result of executing the test code.
|
||||
|
||||
For best practices on how to use the negative tag please see Handling Errors and Negative Test Cases, below.
|
||||
|
||||
For example:
|
||||
|
||||
negative:
|
||||
phase: early
|
||||
type: ReferenceError
|
||||
|
||||
#### es5id
|
||||
**es5id**: [es5-test-id]
|
||||
|
||||
|
@ -150,12 +157,6 @@ assert.sameValue(actual, expected, message) | throw a new Test262Error instance
|
|||
assert.notSameValue(actual, unexpected, message) | throw a new Test262Error instance if the first two arguments are [the same value](http://www.ecma-international.org/ecma-262/6.0/#sec-samevalue); accepts an optional string message for use in creating the error
|
||||
assert.throws(expectedErrorConstructor, fn) | throw a new Test262Error instance if the provided function does not throw an error, or if the constructor of the value thrown does not match the provided constructor
|
||||
|
||||
The test harness also defines the following objects:
|
||||
|
||||
Identifier | Purpose
|
||||
-----------|--------
|
||||
NotEarlyError | preconstructed error object used for testing syntax and other early errors; see Syntax Error & Early Error, below
|
||||
|
||||
```
|
||||
/// error class
|
||||
function Test262Error(message) {
|
||||
|
@ -171,8 +172,6 @@ function $ERROR(message) {
|
|||
function $DONE(arg) {
|
||||
//[omitted body]
|
||||
}
|
||||
|
||||
var NotEarlyError = new Error(...);
|
||||
```
|
||||
|
||||
## Handling Errors and Negative Test Cases
|
||||
|
@ -181,12 +180,11 @@ Expectations for **parsing errors** should be declared using [the `negative` fro
|
|||
|
||||
```javascript
|
||||
/*---
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
// This `throw` statement guarantees that no code is executed in order to
|
||||
// trigger the SyntaxError.
|
||||
throw NotEarlyError;
|
||||
var var = var;
|
||||
```
|
||||
|
||||
|
|
|
@ -117,20 +117,38 @@ structured as [YAML](http://yaml.org/).
|
|||
### `negative`
|
||||
|
||||
These tests are expected to generate an uncaught exception. The value of this
|
||||
attribute is the name of the constructor of the expected error. If a test
|
||||
configured with the `negative` attribute completes without throwing an
|
||||
exception, or if the name of the thrown exception's constructor does not match
|
||||
the specified constructor name, the test must be interpreted as "failing."
|
||||
attribute is a YAML dictonary with two keys:
|
||||
|
||||
- `phase` - the stage of the test interpretation process that the error is
|
||||
expected to be produced; either "early" (meaning, "prior to evaluation") or
|
||||
"runtime" (meaning, "during evaluation"); in the case of "early", additional
|
||||
test transformation may be required--see below
|
||||
- `type` - the name of the constructor of the expected error
|
||||
|
||||
If a test configured with the `negative` attribute completes without throwing
|
||||
an exception, or if the name of the thrown exception's constructor does not
|
||||
match the specified constructor name, or if the error occurs at a phase that
|
||||
differs from the indicated phase, the test must be interpreted as "failing."
|
||||
|
||||
*Example:*
|
||||
|
||||
```js
|
||||
/*---
|
||||
negative: ReferenceError
|
||||
negative:
|
||||
phase: runtime
|
||||
type: ReferenceError
|
||||
---*/
|
||||
unresolvable;
|
||||
```
|
||||
|
||||
Consumers are free to assert the "early" phase as they see fit.
|
||||
|
||||
For example, it is possible to insert a `throw` statement with a unique error
|
||||
type at the beginning of the test file. In this case, the statement should be
|
||||
inserted *after* the directive desribed in the section titled "Strict Mode"
|
||||
(where appropriate), though it must *not* be inserted for tests containing the
|
||||
"raw" flag.
|
||||
|
||||
### `includes`
|
||||
|
||||
One or more files whose content must be evaluated in the test realm's global
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
/// Copyright (c) 2012 Ecma International. All rights reserved.
|
||||
/// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
var NotEarlyErrorString = "NotEarlyError";
|
||||
var EarlyErrorRePat = "^((?!" + NotEarlyErrorString + ").)*$";
|
||||
var NotEarlyError = new Error(NotEarlyErrorString);
|
||||
|
||||
function Test262Error(message) {
|
||||
this.message = message || "";
|
||||
}
|
||||
|
|
|
@ -5,7 +5,9 @@ desc: >
|
|||
It is a Syntax Error if BoundNames of FormalParameters contains any duplicate
|
||||
elements.
|
||||
template: syntax
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
info: |
|
||||
14.1.2 Static Semantics: Early Errors
|
||||
|
||||
|
|
|
@ -20,7 +20,9 @@ info: |
|
|||
|
||||
...BindingIdentifier[?Yield]
|
||||
...BindingPattern[?Yield]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- params
|
||||
|
|
|
@ -10,7 +10,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5.1
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -8,7 +8,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5.4
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
AssignmentPattern as the goal symbol.
|
||||
template: syntax
|
||||
es6id: 12.14.5.1
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5.3
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
AssignmentPattern as the goal symbol.
|
||||
template: syntax
|
||||
es6id: 12.14.5.1
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5.3
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -10,7 +10,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5.1
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5.4
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -7,7 +7,9 @@ desc: >
|
|||
AssignmentElementList.
|
||||
template: syntax
|
||||
es6id: 12.14.5
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -7,7 +7,9 @@ desc: >
|
|||
AssignmentElementList.
|
||||
template: syntax
|
||||
es6id: 12.14.5
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -7,7 +7,9 @@ desc: >
|
|||
AssignmentElementList.
|
||||
template: syntax
|
||||
es6id: 12.14.5
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -7,7 +7,9 @@ desc: >
|
|||
AssignmentRestElement in a AssignmentElementList.
|
||||
template: syntax
|
||||
es6id: 12.14.5
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -6,7 +6,9 @@ desc: >
|
|||
The AssignmentRestElement does not support an initializer.
|
||||
template: syntax
|
||||
es6id: 12.14.5
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- setup
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
AssignmentPattern as the goal symbol.
|
||||
template: syntax
|
||||
es6id: 12.14.5.1
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5.3
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
AssignmentPattern as the goal symbol.
|
||||
template: syntax
|
||||
es6id: 12.14.5.1
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5.3
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- setup
|
||||
|
|
|
@ -9,7 +9,9 @@ template: syntax
|
|||
es6id: 12.14.5
|
||||
flags: [noStrict]
|
||||
features: [generators]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- setup
|
||||
|
|
|
@ -8,7 +8,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -8,7 +8,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5.1
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -8,7 +8,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5.1
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5.4
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5.4
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
AssignmentPattern as the goal symbol.
|
||||
template: syntax
|
||||
es6id: 12.14.5.1
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5.4
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -10,7 +10,9 @@ desc: >
|
|||
the goal symbol.
|
||||
template: syntax
|
||||
es6id: 12.14.5.1
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -9,7 +9,9 @@ desc: >
|
|||
template: syntax
|
||||
es6id: 12.14.5.4
|
||||
flags: [onlyStrict]
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//- elems
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
/*---
|
||||
template: default
|
||||
desc: Reset element (nested array pattern) does not support initializer
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
info: >
|
||||
13.3.3 Destructuring Binding Patterns
|
||||
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
/*---
|
||||
template: default
|
||||
desc: Reset element (identifier) does not support initializer
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
info: >
|
||||
13.3.3 Destructuring Binding Patterns
|
||||
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
/*---
|
||||
template: default
|
||||
desc: Reset element (nested object pattern) does not support initializer
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
info: >
|
||||
13.3.3 Destructuring Binding Patterns
|
||||
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
/*---
|
||||
template: default
|
||||
desc: Rest element (array binding pattern) may not be followed by any element
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
info: >
|
||||
13.3.3 Destructuring Binding Patterns
|
||||
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
/*---
|
||||
template: default
|
||||
desc: Rest element (identifier) may not be followed by any element
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
info: >
|
||||
13.3.3 Destructuring Binding Patterns
|
||||
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
/*---
|
||||
template: default
|
||||
desc: Rest element (object binding pattern) may not be followed by any element
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
info: >
|
||||
13.3.3 Destructuring Binding Patterns
|
||||
|
||||
|
|
|
@ -17,7 +17,9 @@ info: |
|
|||
|
||||
HTMLCloseComment ::
|
||||
WhiteSpaceSequence[opt] SingleLineDelimitedCommentSequence[opt] --> SingleLineCommentChars[opt]
|
||||
negative: Test262Error
|
||||
negative:
|
||||
phase: runtime
|
||||
type: Test262Error
|
||||
---*/
|
||||
|
||||
var counter = 0;
|
||||
|
|
|
@ -19,7 +19,9 @@ info: |
|
|||
|
||||
HTMLCloseComment ::
|
||||
WhiteSpaceSequence[opt] SingleLineDelimitedCommentSequence[opt] --> SingleLineCommentChars[opt]
|
||||
negative: Test262Error
|
||||
negative:
|
||||
phase: runtime
|
||||
type: Test262Error
|
||||
---*/
|
||||
|
||||
var foo = [23]
|
||||
|
|
|
@ -17,7 +17,9 @@ info: |
|
|||
|
||||
HTMLCloseComment ::
|
||||
WhiteSpaceSequence[opt] SingleLineDelimitedCommentSequence[opt] --> SingleLineCommentChars[opt]
|
||||
negative: Test262Error
|
||||
negative:
|
||||
phase: runtime
|
||||
type: Test262Error
|
||||
---*/
|
||||
|
||||
var counter = 0;
|
||||
|
|
|
@ -14,7 +14,9 @@ info: |
|
|||
|
||||
SingleLineHTMLOpenComment ::
|
||||
<!--SingleLineCommentCharsopt
|
||||
negative: Test262Error
|
||||
negative:
|
||||
phase: runtime
|
||||
type: Test262Error
|
||||
---*/
|
||||
|
||||
var counter = 0;
|
||||
|
|
|
@ -9,7 +9,9 @@ info: |
|
|||
any duplicate entries for "__proto__" and at least two of those entries
|
||||
were obtained from productions of the form
|
||||
PropertyDefinition : PropertyName : AssignmentExpression .
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
({
|
||||
|
|
|
@ -7,7 +7,9 @@ description: >
|
|||
semantics of the surrounding context.
|
||||
The SV of EscapeSequence :: HexEscapeSequence is the SV of the
|
||||
HexEscapeSequence.
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
flags: [onlyStrict]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
esid: sec-initializers-in-forin-statement-heads
|
||||
description: >
|
||||
for-in heads prohibit AssignmentExpressions
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
var a;
|
||||
throw NotEarlyError;
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
esid: sec-initializers-in-forin-statement-heads
|
||||
description: >
|
||||
for-in initializers with const are prohibited
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
throw NotEarlyError;
|
||||
for (const a = 0 in {});
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
esid: sec-initializers-in-forin-statement-heads
|
||||
description: >
|
||||
for-in initializers with let are prohibited
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
throw NotEarlyError;
|
||||
for (let a = 0 in {});
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
esid: sec-initializers-in-forin-statement-heads
|
||||
description: >
|
||||
for-in initializers in strict mode are prohibited
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
flags: [onlyStrict]
|
||||
---*/
|
||||
throw NotEarlyError;
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
esid: sec-initializers-in-forin-statement-heads
|
||||
description: >
|
||||
for-in initializers with ArrayBindingPatterns are always prohibited
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
throw NotEarlyError;
|
||||
for (var [a] = 0 in {});
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
esid: sec-initializers-in-forin-statement-heads
|
||||
description: >
|
||||
for-in initializers with ObjectBindingPattern are always prohibited
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
throw NotEarlyError;
|
||||
for (var {a} = 0 in {});
|
||||
|
|
|
@ -4,11 +4,12 @@
|
|||
/*---
|
||||
es5id: 10.5-1gs
|
||||
description: Strict Mode - arguments cannot be assigned to in a strict function
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
flags: [onlyStrict]
|
||||
---*/
|
||||
|
||||
throw NotEarlyError;
|
||||
|
||||
function f_10_5_1_gs(){
|
||||
arguments = 7;
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
info: Check examples for automatic semicolon insertion from the Standart
|
||||
es5id: 7.9.2_A1_T1
|
||||
description: "{ 1 2 } 3 is not a valid sentence in the ECMAScript grammar"
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
info: Check examples for automatic semicolon insertion from the Standart
|
||||
es5id: 7.9.2_A1_T3
|
||||
description: for( a ; b \n ) is not a valid sentence in the ECMAScript grammar
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -7,7 +7,9 @@ es5id: 7.9.2_A1_T6
|
|||
description: >
|
||||
if(a>b) \n else c=d is not a valid sentence in the ECMAScript
|
||||
grammar
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
info: Check {} for automatic semicolon insertion
|
||||
es5id: 7.9_A10_T2
|
||||
description: Checking if execution of "{}*1" fails
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
info: Check {} for automatic semicolon insertion
|
||||
es5id: 7.9_A10_T4
|
||||
description: Checking if execution of "({};)*1" fails
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
info: Check {} for automatic semicolon insertion
|
||||
es5id: 7.9_A10_T6
|
||||
description: Checking if execution of "{} \n * 1" fails
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
info: Check {} for automatic semicolon insertion
|
||||
es5id: 7.9_A10_T8
|
||||
description: Checking if execution of "{1 2} 3" fails
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
info: Check If Statement for automatic semicolon insertion
|
||||
es5id: 7.9_A11_T4
|
||||
description: Checking if execution of "if (false) x = 1 else x = -1" fails
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
info: Check If Statement for automatic semicolon insertion
|
||||
es5id: 7.9_A11_T8
|
||||
description: Use if (false) {x = 1}; \n else x=-1 and check x
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
info: Check Throw Statement for automatic semicolon insertion
|
||||
es5id: 7.9_A4
|
||||
description: Try use Throw \n Expression construction
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
info: Check Postfix Increment Operator for automatic semicolon insertion
|
||||
es5id: 7.9_A5.1_T1
|
||||
description: Try use Variable \n ++ construction
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
info: Check Postfix Decrement Operator for automatic semicolon insertion
|
||||
es5id: 7.9_A5.3_T1
|
||||
description: Try use Variable \n -- construction
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -11,7 +11,9 @@ info: >
|
|||
|
||||
es5id: 7.9_A5.7_T1
|
||||
description: Try use Variable1 \n ++ \n ++ \n Variable2 construction
|
||||
negative: ReferenceError
|
||||
negative:
|
||||
phase: early
|
||||
type: ReferenceError
|
||||
---*/
|
||||
|
||||
var x=0, y=0;
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Use one semicolon
|
||||
es5id: 7.9_A6.2_T1
|
||||
description: For header is (semicolon \n)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Use one semicolon
|
||||
es5id: 7.9_A6.2_T10
|
||||
description: For header is (\n false \n semicolon)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Use one semicolon
|
||||
es5id: 7.9_A6.2_T2
|
||||
description: For header is (\n semicolon \n)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Use one semicolon
|
||||
es5id: 7.9_A6.2_T3
|
||||
description: For header is (\n semicolon)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Use one semicolon
|
||||
es5id: 7.9_A6.2_T4
|
||||
description: For header is (\n \n semicolon)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Use one semicolon
|
||||
es5id: 7.9_A6.2_T5
|
||||
description: For header is (false semicolon false\n)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Use one semicolon
|
||||
es5id: 7.9_A6.2_T6
|
||||
description: For header is (false semicolon \n false)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Use one semicolon
|
||||
es5id: 7.9_A6.2_T7
|
||||
description: For header is (false \n semicolon \n)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Use one semicolon
|
||||
es5id: 7.9_A6.2_T8
|
||||
description: For header is (false \n semicolon false \n)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Use one semicolon
|
||||
es5id: 7.9_A6.2_T9
|
||||
description: For header is (\n semicolon false)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Don`t use semicolons
|
||||
es5id: 7.9_A6.3_T1
|
||||
description: For header is (\n)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Don`t use semicolons
|
||||
es5id: 7.9_A6.3_T2
|
||||
description: For header is (\n \n)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Don`t use semicolons
|
||||
es5id: 7.9_A6.3_T3
|
||||
description: For header is (\n \n \n)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Don`t use semicolons
|
||||
es5id: 7.9_A6.3_T4
|
||||
description: For header is (\n false \n)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Don`t use semicolons
|
||||
es5id: 7.9_A6.3_T5
|
||||
description: For header is (false \n false \n)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Don`t use semicolons
|
||||
es5id: 7.9_A6.3_T6
|
||||
description: For header is (\n false \n false \n)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -8,7 +8,9 @@ info: >
|
|||
Don`t use semicolons
|
||||
es5id: 7.9_A6.3_T7
|
||||
description: For header is (\n false \n false \n false \n)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -7,7 +7,9 @@ es5id: 7.9_A6.4_T1
|
|||
description: >
|
||||
Three semicolons. For header is (false semicolon false semicolon
|
||||
false semicolon)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -7,7 +7,9 @@ es5id: 7.9_A6.4_T2
|
|||
description: >
|
||||
Three semicolons. For header is (false semicolon false two
|
||||
semicolons false)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
info: Check Do-While Statement for automatic semicolon insertion
|
||||
es5id: 7.9_A9_T6
|
||||
description: Execute do \n while(false)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
info: Check Do-While Statement for automatic semicolon insertion
|
||||
es5id: 7.9_A9_T7
|
||||
description: Execute do \n\n while(false)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
info: Check Do-While Statement for automatic semicolon insertion
|
||||
es5id: 7.9_A9_T8
|
||||
description: Execute do {}; \n while(false)
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
//CHECK#1
|
||||
|
|
|
@ -5,7 +5,9 @@ es6id: 13.1
|
|||
description: >
|
||||
for declaration:
|
||||
disallow initialization assignment
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
for (let x = 3 in {}) { }
|
||||
|
||||
|
|
|
@ -5,7 +5,9 @@ es6id: 13.1
|
|||
description: >
|
||||
for declaration:
|
||||
disallow multiple lexical bindings, with and without initializer
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
for (let x = 3, y in {}) { }
|
||||
|
||||
|
|
|
@ -5,7 +5,9 @@ es6id: 13.1
|
|||
description: >
|
||||
for declaration:
|
||||
disallow multiple lexical bindings, with initializer
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
for (let x = 3, y = 4 in {}) { }
|
||||
|
||||
|
|
|
@ -5,7 +5,9 @@ es6id: 13.1
|
|||
description: >
|
||||
for declaration:
|
||||
disallow multiple lexical bindings, without and with initializer
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
for (let x, y = 4 in {}) { }
|
||||
|
||||
|
|
|
@ -5,7 +5,9 @@ es6id: 13.1
|
|||
description: >
|
||||
for declaration:
|
||||
disallow multiple lexical bindings
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
for (let x, y in {}) { }
|
||||
|
||||
|
|
|
@ -5,7 +5,9 @@ es6id: 13.1
|
|||
description: >
|
||||
function declarations in statement position in strict mode:
|
||||
do Statement while ( Expression )
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
flags: [onlyStrict]
|
||||
---*/
|
||||
do function g() {} while (false)
|
||||
|
|
|
@ -5,7 +5,9 @@ es6id: 13.1
|
|||
description: >
|
||||
function declarations in statement position in strict mode:
|
||||
for ( ;;) Statement
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
flags: [onlyStrict]
|
||||
---*/
|
||||
for (;false;) function g() {}
|
||||
|
|
|
@ -5,7 +5,9 @@ es6id: 13.1
|
|||
description: >
|
||||
function declarations in statement position in strict mode:
|
||||
if ( Expression ) Statement else Statement
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
flags: [onlyStrict]
|
||||
---*/
|
||||
if (true) {} else function g() {}
|
||||
|
|
|
@ -5,7 +5,9 @@ es6id: 13.1
|
|||
description: >
|
||||
function declarations in statement position in strict mode:
|
||||
if ( Expression ) Statement
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
flags: [onlyStrict]
|
||||
---*/
|
||||
if (true) function g() {}
|
||||
|
|
|
@ -5,7 +5,9 @@ es6id: 13.1
|
|||
description: >
|
||||
function declarations in statement position in strict mode:
|
||||
while ( Expression ) Statement
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
flags: [onlyStrict]
|
||||
---*/
|
||||
while (false) function g() {}
|
||||
|
|
|
@ -5,7 +5,9 @@ es6id: B.3.3
|
|||
description: >
|
||||
redeclaration within block:
|
||||
attempt to redeclare function declaration with function declaration
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
{ function f() {} function f() {} }
|
||||
|
||||
|
|
|
@ -5,6 +5,8 @@ es6id: B.3.3
|
|||
description: >
|
||||
redeclaration within block:
|
||||
attempt to redeclare function declaration with let
|
||||
negative: SyntaxError
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
{ function f() {} let f; }
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue