mirror of https://github.com/tc39/test262.git
Module code: early errors
Assert that relevant early errors are reported following the parsing of module code.
This commit is contained in:
parent
076480fc2d
commit
cfd7e1f61d
|
@ -0,0 +1,15 @@
|
||||||
|
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
esid: sec-module-semantics-static-semantics-early-errors
|
||||||
|
es6id: 15.2.1.1
|
||||||
|
description: >
|
||||||
|
It is a Syntax Error if the ExportedNames of ModuleItemList contains any
|
||||||
|
duplicate entries.
|
||||||
|
flags: [module]
|
||||||
|
negative: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
var x, y;
|
||||||
|
export default x;
|
||||||
|
export { y as default };
|
|
@ -0,0 +1,15 @@
|
||||||
|
// Copyright (C) 2015 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
esid: sec-module-semantics-static-semantics-early-errors
|
||||||
|
es6id: 15.2.1.1
|
||||||
|
description: Exporting a global binding
|
||||||
|
info: >
|
||||||
|
It is a Syntax Error if any element of the ExportedBindings of
|
||||||
|
ModuleItemList does not also occur in either the VarDeclaredNames of
|
||||||
|
ModuleItemList, or the LexicallyDeclaredNames of ModuleItemList.
|
||||||
|
flags: [module]
|
||||||
|
negative: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
export { Number };
|
|
@ -0,0 +1,31 @@
|
||||||
|
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
description: ImportedBinding is a BindingIdentifier and cannot be "arguments"
|
||||||
|
esid: sec-imports
|
||||||
|
info: |
|
||||||
|
ImportSpecifier :
|
||||||
|
ImportedBinding
|
||||||
|
IdentifierName as ImportedBinding
|
||||||
|
|
||||||
|
ImportedBinding :
|
||||||
|
BindingIdentifier
|
||||||
|
|
||||||
|
12.1.1 Static Semantics : Early Errors
|
||||||
|
|
||||||
|
BindingIdentifier : Identifier
|
||||||
|
|
||||||
|
- It is a Syntax Error if the code matched by this production is contained
|
||||||
|
in strict mode code and the StringValue of Identifier is "arguments" or
|
||||||
|
"eval".
|
||||||
|
negative: SyntaxError
|
||||||
|
flags: [module]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
// Create an appropriately-named ExportEntry in order to avoid false positives
|
||||||
|
// (e.g. cases where the implementation does not generate the expected early
|
||||||
|
// error but does produce a SyntaxError for unresolvable bindings).
|
||||||
|
var x;
|
||||||
|
export { x as arguments };
|
||||||
|
|
||||||
|
import { arguments } from './early-import-arguments.js';
|
|
@ -0,0 +1,31 @@
|
||||||
|
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
description: ImportedBinding is a BindingIdentifier and cannot be "arguments"
|
||||||
|
esid: sec-imports
|
||||||
|
info: |
|
||||||
|
ImportSpecifier :
|
||||||
|
ImportedBinding
|
||||||
|
IdentifierName as ImportedBinding
|
||||||
|
|
||||||
|
ImportedBinding :
|
||||||
|
BindingIdentifier
|
||||||
|
|
||||||
|
12.1.1 Static Semantics : Early Errors
|
||||||
|
|
||||||
|
BindingIdentifier : Identifier
|
||||||
|
|
||||||
|
- It is a Syntax Error if the code matched by this production is contained
|
||||||
|
in strict mode code and the StringValue of Identifier is "arguments" or
|
||||||
|
"eval".
|
||||||
|
negative: SyntaxError
|
||||||
|
flags: [module]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
// Create an appropriately-named ExportEntry in order to avoid false positives
|
||||||
|
// (e.g. cases where the implementation does not generate the expected early
|
||||||
|
// error but does produce a SyntaxError for unresolvable bindings).
|
||||||
|
var x;
|
||||||
|
export { x };
|
||||||
|
|
||||||
|
import { x as arguments } from './early-import-as-arguments.js';
|
|
@ -0,0 +1,31 @@
|
||||||
|
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
description: ImportedBinding is a BindingIdentifier and cannot be "eval"
|
||||||
|
esid: sec-imports
|
||||||
|
info: |
|
||||||
|
ImportSpecifier :
|
||||||
|
ImportedBinding
|
||||||
|
IdentifierName as ImportedBinding
|
||||||
|
|
||||||
|
ImportedBinding :
|
||||||
|
BindingIdentifier
|
||||||
|
|
||||||
|
12.1.1 Static Semantics : Early Errors
|
||||||
|
|
||||||
|
BindingIdentifier : Identifier
|
||||||
|
|
||||||
|
- It is a Syntax Error if the code matched by this production is contained
|
||||||
|
in strict mode code and the StringValue of Identifier is "arguments" or
|
||||||
|
"eval".
|
||||||
|
negative: SyntaxError
|
||||||
|
flags: [module]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
// Create an appropriately-named ExportEntry in order to avoid false positives
|
||||||
|
// (e.g. cases where the implementation does not generate the expected early
|
||||||
|
// error but does produce a SyntaxError for unresolvable bindings).
|
||||||
|
var x;
|
||||||
|
export { x };
|
||||||
|
|
||||||
|
import { x as eval } from './early-import-as-eval.js';
|
|
@ -0,0 +1,31 @@
|
||||||
|
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
description: ImportedBinding is a BindingIdentifier and cannot be "eval"
|
||||||
|
esid: sec-imports
|
||||||
|
info: |
|
||||||
|
ImportSpecifier :
|
||||||
|
ImportedBinding
|
||||||
|
IdentifierName as ImportedBinding
|
||||||
|
|
||||||
|
ImportedBinding :
|
||||||
|
BindingIdentifier
|
||||||
|
|
||||||
|
12.1.1 Static Semantics : Early Errors
|
||||||
|
|
||||||
|
BindingIdentifier : Identifier
|
||||||
|
|
||||||
|
- It is a Syntax Error if the code matched by this production is contained
|
||||||
|
in strict mode code and the StringValue of Identifier is "arguments" or
|
||||||
|
"eval".
|
||||||
|
negative: SyntaxError
|
||||||
|
flags: [module]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
// Create an appropriately-named ExportEntry in order to avoid false positives
|
||||||
|
// (e.g. cases where the implementation does not generate the expected early
|
||||||
|
// error but does produce a SyntaxError for unresolvable bindings).
|
||||||
|
var x;
|
||||||
|
export { x as eval };
|
||||||
|
|
||||||
|
import { eval } from './early-import-eval.js';
|
Loading…
Reference in New Issue