diff --git a/test/language/eval-code/export.js b/test/language/eval-code/export.js new file mode 100644 index 0000000000000000000000000000000000000000..0b6b6094edfd99390a42c0c6589a724b5141b1f3 --- /dev/null +++ b/test/language/eval-code/export.js @@ -0,0 +1,24 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: The `export` declaration may not appear within eval code +id: sec-scripts +flags: [module] +info: | + Eval code is the source text supplied to the built-in eval function. More + precisely, if the parameter to the built-in eval function is a String, it + is treated as an ECMAScript Script. The eval code for a particular + invocation of eval is the global code portion of that Script. + + A.5 Scripts and Modules + + Script: + ScriptBodyopt + + ScriptBody: + StatementList +---*/ + +assert.throws(SyntaxError, function() { + eval('export default null;'); +}); diff --git a/test/language/eval-code/import.js b/test/language/eval-code/import.js new file mode 100644 index 0000000000000000000000000000000000000000..d1ffb7a31de982f800cdab0c0725beba25347d62 --- /dev/null +++ b/test/language/eval-code/import.js @@ -0,0 +1,24 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: The `import` declaration may not appear within eval code +id: sec-scripts +flags: [module] +info: | + Eval code is the source text supplied to the built-in eval function. More + precisely, if the parameter to the built-in eval function is a String, it + is treated as an ECMAScript Script. The eval code for a particular + invocation of eval is the global code portion of that Script. + + A.5 Scripts and Modules + + Script: + ScriptBodyopt + + ScriptBody: + StatementList +---*/ + +assert.throws(SyntaxError, function() { + eval('import v from "./import.js";'); +}); diff --git a/test/language/global-code/export.js b/test/language/global-code/export.js new file mode 100644 index 0000000000000000000000000000000000000000..5b80e1b446f9888320ac47400cf1c1db8e703033 --- /dev/null +++ b/test/language/global-code/export.js @@ -0,0 +1,17 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: The `export` declaration may not appear within a ScriptBody +id: sec-scripts +negative: SyntaxError +info: | + A.5 Scripts and Modules + + Script: + ScriptBodyopt + + ScriptBody: + StatementList +---*/ + +export default null; diff --git a/test/language/global-code/import.js b/test/language/global-code/import.js new file mode 100644 index 0000000000000000000000000000000000000000..f0c43cab0cbd7bb658c2b619588b27a7459601f0 --- /dev/null +++ b/test/language/global-code/import.js @@ -0,0 +1,17 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: The `import` declaration may not appear within a ScriptBody +id: sec-scripts +negative: SyntaxError +info: | + A.5 Scripts and Modules + + Script: + ScriptBodyopt + + ScriptBody: + StatementList +---*/ + +import v from './import.js'; diff --git a/test/language/module-code/decl-pos-export-arrow-function.js b/test/language/module-code/decl-pos-export-arrow-function.js new file mode 100644 index 0000000000000000000000000000000000000000..e17a600e5c805e1119fed7cad5f1701443df0058 --- /dev/null +++ b/test/language/module-code/decl-pos-export-arrow-function.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +() => { export default null; }; diff --git a/test/language/module-code/decl-pos-export-block-stmt-list.js b/test/language/module-code/decl-pos-export-block-stmt-list.js new file mode 100644 index 0000000000000000000000000000000000000000..135d2cad3f21a04aca06c56b98d6fb2decdee1f3 --- /dev/null +++ b/test/language/module-code/decl-pos-export-block-stmt-list.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +{ void 0; export default null; } diff --git a/test/language/module-code/decl-pos-export-block-stmt.js b/test/language/module-code/decl-pos-export-block-stmt.js new file mode 100644 index 0000000000000000000000000000000000000000..b4da0a7eaca2d34af7aac0f921aeb74d91074867 --- /dev/null +++ b/test/language/module-code/decl-pos-export-block-stmt.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +{ export default null; } diff --git a/test/language/module-code/decl-pos-export-class-decl-meth-static.js b/test/language/module-code/decl-pos-export-class-decl-meth-static.js new file mode 100644 index 0000000000000000000000000000000000000000..4d1105989931120094f4725be6ffde4916d7d5a2 --- /dev/null +++ b/test/language/module-code/decl-pos-export-class-decl-meth-static.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +class C { static method() { export default null; } } diff --git a/test/language/module-code/decl-pos-export-class-decl-meth.js b/test/language/module-code/decl-pos-export-class-decl-meth.js new file mode 100644 index 0000000000000000000000000000000000000000..c94dc220d877ce66bfaae6b6fe72d003aa314682 --- /dev/null +++ b/test/language/module-code/decl-pos-export-class-decl-meth.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +class C { method() { export default null; } } diff --git a/test/language/module-code/decl-pos-export-class-decl-method-gen-static.js b/test/language/module-code/decl-pos-export-class-decl-method-gen-static.js new file mode 100644 index 0000000000000000000000000000000000000000..02d76661d0d80cdb5daef91dcbb5d808fa6f4453 --- /dev/null +++ b/test/language/module-code/decl-pos-export-class-decl-method-gen-static.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +class C { static *method() { export default null; } } diff --git a/test/language/module-code/decl-pos-export-class-decl-method-gen.js b/test/language/module-code/decl-pos-export-class-decl-method-gen.js new file mode 100644 index 0000000000000000000000000000000000000000..4568bf8e5f4dd7d4a395db3b35f87c835929920d --- /dev/null +++ b/test/language/module-code/decl-pos-export-class-decl-method-gen.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +class C { *method() { export default null; } } diff --git a/test/language/module-code/decl-pos-export-class-expr-meth-gen-static.js b/test/language/module-code/decl-pos-export-class-expr-meth-gen-static.js new file mode 100644 index 0000000000000000000000000000000000000000..0fbb9e4194be218357ba9fff48ca1b8a685f5422 --- /dev/null +++ b/test/language/module-code/decl-pos-export-class-expr-meth-gen-static.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +(class { static *method() { export default null; } }); diff --git a/test/language/module-code/decl-pos-export-class-expr-meth-gen.js b/test/language/module-code/decl-pos-export-class-expr-meth-gen.js new file mode 100644 index 0000000000000000000000000000000000000000..97c1fe067d301451eee1d7d608c643f033a94d4e --- /dev/null +++ b/test/language/module-code/decl-pos-export-class-expr-meth-gen.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +(class { *method() { export default null; } }); diff --git a/test/language/module-code/decl-pos-export-class-expr-meth-static.js b/test/language/module-code/decl-pos-export-class-expr-meth-static.js new file mode 100644 index 0000000000000000000000000000000000000000..228abe0cd6385c5f53bdb081c1774390e9674c09 --- /dev/null +++ b/test/language/module-code/decl-pos-export-class-expr-meth-static.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +(class { static method() { export default null; } }); diff --git a/test/language/module-code/decl-pos-export-class-expr-meth.js b/test/language/module-code/decl-pos-export-class-expr-meth.js new file mode 100644 index 0000000000000000000000000000000000000000..2f8bc61b9bcd013d3cd72c9963873c53eb41692b --- /dev/null +++ b/test/language/module-code/decl-pos-export-class-expr-meth.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +(class { method() { export default null; } }); diff --git a/test/language/module-code/decl-pos-export-do-while.js b/test/language/module-code/decl-pos-export-do-while.js new file mode 100644 index 0000000000000000000000000000000000000000..65417fe6d7d463fd51facaf3a8a5a3fc22d07ecd --- /dev/null +++ b/test/language/module-code/decl-pos-export-do-while.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +do export default null; while (false) diff --git a/test/language/module-code/decl-pos-export-for-const.js b/test/language/module-code/decl-pos-export-for-const.js new file mode 100644 index 0000000000000000000000000000000000000000..51866046edd6a7b8e93e3f3599b33c7392566e20 --- /dev/null +++ b/test/language/module-code/decl-pos-export-for-const.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (const x = 0; false;) + export default null; diff --git a/test/language/module-code/decl-pos-export-for-in-const.js b/test/language/module-code/decl-pos-export-for-in-const.js new file mode 100644 index 0000000000000000000000000000000000000000..39756d89380a91eff2891531b519f2b9f2f3318b --- /dev/null +++ b/test/language/module-code/decl-pos-export-for-in-const.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (const y in []) + export default null; diff --git a/test/language/module-code/decl-pos-export-for-in-let.js b/test/language/module-code/decl-pos-export-for-in-let.js new file mode 100644 index 0000000000000000000000000000000000000000..dc530b1b8ad09d3b41b735f2ec0effe30ee4ca30 --- /dev/null +++ b/test/language/module-code/decl-pos-export-for-in-let.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (let y in []) + export default null; diff --git a/test/language/module-code/decl-pos-export-for-in-lhs.js b/test/language/module-code/decl-pos-export-for-in-lhs.js new file mode 100644 index 0000000000000000000000000000000000000000..e77cd8d3f21b17fb6d18bad0a86c6617afe34112 --- /dev/null +++ b/test/language/module-code/decl-pos-export-for-in-lhs.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (y in []) + export default null; diff --git a/test/language/module-code/decl-pos-export-for-in-var.js b/test/language/module-code/decl-pos-export-for-in-var.js new file mode 100644 index 0000000000000000000000000000000000000000..e28d918b4a892f51f4db1d42f754850a6c3cd656 --- /dev/null +++ b/test/language/module-code/decl-pos-export-for-in-var.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (var y in []) + export default null; diff --git a/test/language/module-code/decl-pos-export-for-let.js b/test/language/module-code/decl-pos-export-for-let.js new file mode 100644 index 0000000000000000000000000000000000000000..94cc8419b806cb84ab8f4cef2fc1827ee97a686b --- /dev/null +++ b/test/language/module-code/decl-pos-export-for-let.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (let x = 0; false;) + export default null; diff --git a/test/language/module-code/decl-pos-export-for-lhs.js b/test/language/module-code/decl-pos-export-for-lhs.js new file mode 100644 index 0000000000000000000000000000000000000000..6b5b4b8ddcf7cf5b266036c2fe95acbd60e88c55 --- /dev/null +++ b/test/language/module-code/decl-pos-export-for-lhs.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (x = 0; false;) + export default null; diff --git a/test/language/module-code/decl-pos-export-for-of-const.js b/test/language/module-code/decl-pos-export-for-of-const.js new file mode 100644 index 0000000000000000000000000000000000000000..865c3f8efdd507912361bf581a222179454dfb90 --- /dev/null +++ b/test/language/module-code/decl-pos-export-for-of-const.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (const y of []) + export default null; diff --git a/test/language/module-code/decl-pos-export-for-of-let.js b/test/language/module-code/decl-pos-export-for-of-let.js new file mode 100644 index 0000000000000000000000000000000000000000..8b3538e091e00a7d587cccfdb4ec3d4a5e97a848 --- /dev/null +++ b/test/language/module-code/decl-pos-export-for-of-let.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (let y of []) + export default null; diff --git a/test/language/module-code/decl-pos-export-for-of-lhs.js b/test/language/module-code/decl-pos-export-for-of-lhs.js new file mode 100644 index 0000000000000000000000000000000000000000..d1b7028738518860657efbffb18ad26473042e4f --- /dev/null +++ b/test/language/module-code/decl-pos-export-for-of-lhs.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (y of []) + export default null; diff --git a/test/language/module-code/decl-pos-export-for-of-var.js b/test/language/module-code/decl-pos-export-for-of-var.js new file mode 100644 index 0000000000000000000000000000000000000000..a6f77c0409b464e002d83151c15122b3b768dd64 --- /dev/null +++ b/test/language/module-code/decl-pos-export-for-of-var.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (var y of []) + export default null; diff --git a/test/language/module-code/decl-pos-export-for-var.js b/test/language/module-code/decl-pos-export-for-var.js new file mode 100644 index 0000000000000000000000000000000000000000..f98efec954e84bb9b20c057865f813cc19c2e85e --- /dev/null +++ b/test/language/module-code/decl-pos-export-for-var.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (var x = 0; false;) + export default null; diff --git a/test/language/module-code/decl-pos-export-function-decl.js b/test/language/module-code/decl-pos-export-function-decl.js new file mode 100644 index 0000000000000000000000000000000000000000..8be6dc1d968ed12791717d32186662320440c5d2 --- /dev/null +++ b/test/language/module-code/decl-pos-export-function-decl.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +function f() { export default null; } diff --git a/test/language/module-code/decl-pos-export-function-expr.js b/test/language/module-code/decl-pos-export-function-expr.js new file mode 100644 index 0000000000000000000000000000000000000000..aaa9546f961d2f86dc33fddae8e539fb7ecbe266 --- /dev/null +++ b/test/language/module-code/decl-pos-export-function-expr.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +(function() { export default null; }); diff --git a/test/language/module-code/decl-pos-export-generator-decl.js b/test/language/module-code/decl-pos-export-generator-decl.js new file mode 100644 index 0000000000000000000000000000000000000000..0bc329f146cf002ebd41a9aebdfdf076efffb7ec --- /dev/null +++ b/test/language/module-code/decl-pos-export-generator-decl.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +function* g() { export default null; } diff --git a/test/language/module-code/decl-pos-export-generator-expr.js b/test/language/module-code/decl-pos-export-generator-expr.js new file mode 100644 index 0000000000000000000000000000000000000000..8737b1842098ea54919dc6baee7790ea3a019d11 --- /dev/null +++ b/test/language/module-code/decl-pos-export-generator-expr.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +(function*() { export default null; }); diff --git a/test/language/module-code/decl-pos-export-if-else.js b/test/language/module-code/decl-pos-export-if-else.js new file mode 100644 index 0000000000000000000000000000000000000000..cb14fe46b34aa0d04f0ea8df9eaa35e95567b9db --- /dev/null +++ b/test/language/module-code/decl-pos-export-if-else.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +if (true) { } else export default null; diff --git a/test/language/module-code/decl-pos-export-if-if.js b/test/language/module-code/decl-pos-export-if-if.js new file mode 100644 index 0000000000000000000000000000000000000000..4c223f01424bf6bb944394ed599b7b574300cab5 --- /dev/null +++ b/test/language/module-code/decl-pos-export-if-if.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +if (false) export default null; diff --git a/test/language/module-code/decl-pos-export-labeled.js b/test/language/module-code/decl-pos-export-labeled.js new file mode 100644 index 0000000000000000000000000000000000000000..36851d263d41106651c8123cf2a9987fc0fa3aaa --- /dev/null +++ b/test/language/module-code/decl-pos-export-labeled.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +test262: export default null; diff --git a/test/language/module-code/decl-pos-export-object-gen-method.js b/test/language/module-code/decl-pos-export-object-gen-method.js new file mode 100644 index 0000000000000000000000000000000000000000..d03390a3a1df1b5b913b526d61f96f643dfacf72 --- /dev/null +++ b/test/language/module-code/decl-pos-export-object-gen-method.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +({ *m() { export default null; } }); diff --git a/test/language/module-code/decl-pos-export-object-getter.js b/test/language/module-code/decl-pos-export-object-getter.js new file mode 100644 index 0000000000000000000000000000000000000000..7dce8c98c74f61af40786e0b6e3f7fe08f59847e --- /dev/null +++ b/test/language/module-code/decl-pos-export-object-getter.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +({ get m() { export default null; } }); diff --git a/test/language/module-code/decl-pos-export-object-method.js b/test/language/module-code/decl-pos-export-object-method.js new file mode 100644 index 0000000000000000000000000000000000000000..4cd5fa6e21ccd2bd758b7decdd14555cfa58ac73 --- /dev/null +++ b/test/language/module-code/decl-pos-export-object-method.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +({ m() { export default null; } }); diff --git a/test/language/module-code/decl-pos-export-object-setter.js b/test/language/module-code/decl-pos-export-object-setter.js new file mode 100644 index 0000000000000000000000000000000000000000..f76af99e5568c0d42e1637fb6fc7ce9794d16972 --- /dev/null +++ b/test/language/module-code/decl-pos-export-object-setter.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +({ set m(x) { export default null; } }); diff --git a/test/language/module-code/decl-pos-export-switch-case-dflt.js b/test/language/module-code/decl-pos-export-switch-case-dflt.js new file mode 100644 index 0000000000000000000000000000000000000000..af7361ebaad894351597ceaecfd5b330cafb6f69 --- /dev/null +++ b/test/language/module-code/decl-pos-export-switch-case-dflt.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +switch(0) { case 1: export default null; default: } diff --git a/test/language/module-code/decl-pos-export-switch-case.js b/test/language/module-code/decl-pos-export-switch-case.js new file mode 100644 index 0000000000000000000000000000000000000000..40d4427519ffa63246b0902db0d980dc9d7a87af --- /dev/null +++ b/test/language/module-code/decl-pos-export-switch-case.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +switch(0) { case 1: export default null; } diff --git a/test/language/module-code/decl-pos-export-switch-dftl.js b/test/language/module-code/decl-pos-export-switch-dftl.js new file mode 100644 index 0000000000000000000000000000000000000000..f0a1610500237d564b2be5e5432d4dda908e683c --- /dev/null +++ b/test/language/module-code/decl-pos-export-switch-dftl.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +switch(0) { default: export default null; } diff --git a/test/language/module-code/decl-pos-export-try-catch-finally.js b/test/language/module-code/decl-pos-export-try-catch-finally.js new file mode 100644 index 0000000000000000000000000000000000000000..33d46e9c6d0bdc92138a8265e959d19bc9c21ca1 --- /dev/null +++ b/test/language/module-code/decl-pos-export-try-catch-finally.js @@ -0,0 +1,12 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +try { } catch (err) { } finally { + export default null; +} diff --git a/test/language/module-code/decl-pos-export-try-catch.js b/test/language/module-code/decl-pos-export-try-catch.js new file mode 100644 index 0000000000000000000000000000000000000000..07a776f8d8129bf037c327821cac0e557989ab8c --- /dev/null +++ b/test/language/module-code/decl-pos-export-try-catch.js @@ -0,0 +1,12 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +try { } catch (err) { + export default null; +} diff --git a/test/language/module-code/decl-pos-export-try-finally.js b/test/language/module-code/decl-pos-export-try-finally.js new file mode 100644 index 0000000000000000000000000000000000000000..4389d013a82b3128add9015f5e0053c35c5e0ff4 --- /dev/null +++ b/test/language/module-code/decl-pos-export-try-finally.js @@ -0,0 +1,12 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +try { } finally { + export default null; +} diff --git a/test/language/module-code/decl-pos-export-try-try.js b/test/language/module-code/decl-pos-export-try-try.js new file mode 100644 index 0000000000000000000000000000000000000000..338f2fd42915ea2e10c93f33db6ac5ad067f633d --- /dev/null +++ b/test/language/module-code/decl-pos-export-try-try.js @@ -0,0 +1,12 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +try { + export default null; +} catch (err) { } diff --git a/test/language/module-code/decl-pos-export-while.js b/test/language/module-code/decl-pos-export-while.js new file mode 100644 index 0000000000000000000000000000000000000000..b6c7999b43f9f52aac5ed4b6809549543a4945bb --- /dev/null +++ b/test/language/module-code/decl-pos-export-while.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `export` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +while (false) export default null; diff --git a/test/language/module-code/decl-pos-import-arrow-function.js b/test/language/module-code/decl-pos-import-arrow-function.js new file mode 100644 index 0000000000000000000000000000000000000000..ffb82404cf3aac02fbc3c4ec864154d45080f3b4 --- /dev/null +++ b/test/language/module-code/decl-pos-import-arrow-function.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +() => { import v from './decl-pos-import-arrow-function.js'; }; diff --git a/test/language/module-code/decl-pos-import-block-stmt-list.js b/test/language/module-code/decl-pos-import-block-stmt-list.js new file mode 100644 index 0000000000000000000000000000000000000000..5f96d3cab63dbb139d972d7a2a249a33ca048497 --- /dev/null +++ b/test/language/module-code/decl-pos-import-block-stmt-list.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +{ void 0; import v from './decl-pos-import-block-stmt-list.js'; } diff --git a/test/language/module-code/decl-pos-import-block-stmt.js b/test/language/module-code/decl-pos-import-block-stmt.js new file mode 100644 index 0000000000000000000000000000000000000000..c0bcc64ee68d994befc378509f44d3f2e799c924 --- /dev/null +++ b/test/language/module-code/decl-pos-import-block-stmt.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +{ import v from './decl-pos-import-block-stmt.js'; } diff --git a/test/language/module-code/decl-pos-import-class-decl-meth-static.js b/test/language/module-code/decl-pos-import-class-decl-meth-static.js new file mode 100644 index 0000000000000000000000000000000000000000..09827efdd9a6719d39ec83ed1f8ac23e590bcb0f --- /dev/null +++ b/test/language/module-code/decl-pos-import-class-decl-meth-static.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +class C { static method() { import v from './decl-pos-import-class-decl-meth-static.js'; } } diff --git a/test/language/module-code/decl-pos-import-class-decl-meth.js b/test/language/module-code/decl-pos-import-class-decl-meth.js new file mode 100644 index 0000000000000000000000000000000000000000..e20faa0e6d67cefaf3086d0c994fb208caa23be3 --- /dev/null +++ b/test/language/module-code/decl-pos-import-class-decl-meth.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +class C { method() { import v from './decl-pos-import-class-decl-meth.js'; } } diff --git a/test/language/module-code/decl-pos-import-class-decl-method-gen-static.js b/test/language/module-code/decl-pos-import-class-decl-method-gen-static.js new file mode 100644 index 0000000000000000000000000000000000000000..37c133ba44089f845088ab7c013118a1e4d0c5ed --- /dev/null +++ b/test/language/module-code/decl-pos-import-class-decl-method-gen-static.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +class C { static *method() { import v from './decl-pos-import-class-decl-method-gen-static.js'; } } diff --git a/test/language/module-code/decl-pos-import-class-decl-method-gen.js b/test/language/module-code/decl-pos-import-class-decl-method-gen.js new file mode 100644 index 0000000000000000000000000000000000000000..d178f0e07141f2c107702fa0879c5a181328db88 --- /dev/null +++ b/test/language/module-code/decl-pos-import-class-decl-method-gen.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +class C { *method() { import v from './decl-pos-import-class-decl-method-gen.js'; } } diff --git a/test/language/module-code/decl-pos-import-class-expr-meth-gen-static.js b/test/language/module-code/decl-pos-import-class-expr-meth-gen-static.js new file mode 100644 index 0000000000000000000000000000000000000000..c4598c63c2d59bb29d41194362c940909a42cd37 --- /dev/null +++ b/test/language/module-code/decl-pos-import-class-expr-meth-gen-static.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +(class { static *method() { import v from './decl-pos-import-class-expr-meth-gen-static.js'; } }); diff --git a/test/language/module-code/decl-pos-import-class-expr-meth-gen.js b/test/language/module-code/decl-pos-import-class-expr-meth-gen.js new file mode 100644 index 0000000000000000000000000000000000000000..aeafdf93c7a3a92a7fd8be604d3016b5b1dbcd8b --- /dev/null +++ b/test/language/module-code/decl-pos-import-class-expr-meth-gen.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +(class { *method() { import v from './decl-pos-import-class-expr-meth-gen.js'; } }); diff --git a/test/language/module-code/decl-pos-import-class-expr-meth-static.js b/test/language/module-code/decl-pos-import-class-expr-meth-static.js new file mode 100644 index 0000000000000000000000000000000000000000..59ba70dc4f6a07b225b5b0a184071e28e237f4fb --- /dev/null +++ b/test/language/module-code/decl-pos-import-class-expr-meth-static.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +(class { static method() { import v from './decl-pos-import-class-expr-meth-static.js'; } }); diff --git a/test/language/module-code/decl-pos-import-class-expr-meth.js b/test/language/module-code/decl-pos-import-class-expr-meth.js new file mode 100644 index 0000000000000000000000000000000000000000..57965c47f9abd03b585c5c7d172f1c0897b7b9c9 --- /dev/null +++ b/test/language/module-code/decl-pos-import-class-expr-meth.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +(class { method() { import v from './decl-pos-import-class-expr-meth.js'; } }); diff --git a/test/language/module-code/decl-pos-import-do-while.js b/test/language/module-code/decl-pos-import-do-while.js new file mode 100644 index 0000000000000000000000000000000000000000..80ba3e2ba4da6dfba1d6fb76106e2543e65afe47 --- /dev/null +++ b/test/language/module-code/decl-pos-import-do-while.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +do import v from './decl-pos-import-do-while.js'; while (false) diff --git a/test/language/module-code/decl-pos-import-for-const.js b/test/language/module-code/decl-pos-import-for-const.js new file mode 100644 index 0000000000000000000000000000000000000000..8c86c28c820e9c6bb6e44f8d12a58e07f986527a --- /dev/null +++ b/test/language/module-code/decl-pos-import-for-const.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (const x = 0; false;) + import v from './decl-pos-import-for-const.js'; diff --git a/test/language/module-code/decl-pos-import-for-in-const.js b/test/language/module-code/decl-pos-import-for-in-const.js new file mode 100644 index 0000000000000000000000000000000000000000..e492ddb2a765b1281dac4204277da190e17dd902 --- /dev/null +++ b/test/language/module-code/decl-pos-import-for-in-const.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (const y in []) + import v from './decl-pos-import-for-in-const.js'; diff --git a/test/language/module-code/decl-pos-import-for-in-let.js b/test/language/module-code/decl-pos-import-for-in-let.js new file mode 100644 index 0000000000000000000000000000000000000000..abadc3c96fe298458a0f149df6d3ada87fa61f83 --- /dev/null +++ b/test/language/module-code/decl-pos-import-for-in-let.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (let y in []) + import v from './decl-pos-import-for-in-let.js'; diff --git a/test/language/module-code/decl-pos-import-for-in-lhs.js b/test/language/module-code/decl-pos-import-for-in-lhs.js new file mode 100644 index 0000000000000000000000000000000000000000..f75a2af51c97b7f97de9bc04815426fcd447ab34 --- /dev/null +++ b/test/language/module-code/decl-pos-import-for-in-lhs.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (y in []) + import v from './decl-pos-import-for-in-lhs.js'; diff --git a/test/language/module-code/decl-pos-import-for-in-var.js b/test/language/module-code/decl-pos-import-for-in-var.js new file mode 100644 index 0000000000000000000000000000000000000000..365e1a8c07a8804f9db940a443b293e88bfb1d68 --- /dev/null +++ b/test/language/module-code/decl-pos-import-for-in-var.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (var y in []) + import v from './decl-pos-import-for-in-var.js'; diff --git a/test/language/module-code/decl-pos-import-for-let.js b/test/language/module-code/decl-pos-import-for-let.js new file mode 100644 index 0000000000000000000000000000000000000000..b95c90d7fd8a4b652dd5fe6d2bae98d9eb8ddc5d --- /dev/null +++ b/test/language/module-code/decl-pos-import-for-let.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (let x = 0; false;) + import v from './decl-pos-import-for-let.js'; diff --git a/test/language/module-code/decl-pos-import-for-lhs.js b/test/language/module-code/decl-pos-import-for-lhs.js new file mode 100644 index 0000000000000000000000000000000000000000..419fcf7f958812203aaa589eb53b9906aa522ed2 --- /dev/null +++ b/test/language/module-code/decl-pos-import-for-lhs.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (x = 0; false;) + import v from './decl-pos-import-for-lhs.js'; diff --git a/test/language/module-code/decl-pos-import-for-of-const.js b/test/language/module-code/decl-pos-import-for-of-const.js new file mode 100644 index 0000000000000000000000000000000000000000..0dbc347bc68b41a67b0826494b3b56dba2f5501f --- /dev/null +++ b/test/language/module-code/decl-pos-import-for-of-const.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (const y of []) + import v from './decl-pos-import-for-of-const.js'; diff --git a/test/language/module-code/decl-pos-import-for-of-let.js b/test/language/module-code/decl-pos-import-for-of-let.js new file mode 100644 index 0000000000000000000000000000000000000000..408ac54da7b02130359dcc922ceee2f905ccbf38 --- /dev/null +++ b/test/language/module-code/decl-pos-import-for-of-let.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (let y of []) + import v from './decl-pos-import-for-of-let.js'; diff --git a/test/language/module-code/decl-pos-import-for-of-lhs.js b/test/language/module-code/decl-pos-import-for-of-lhs.js new file mode 100644 index 0000000000000000000000000000000000000000..166ca9f6b7c82c853ce144d609fe5544743c1b55 --- /dev/null +++ b/test/language/module-code/decl-pos-import-for-of-lhs.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (y of []) + import v from './decl-pos-import-for-of-lhs.js'; diff --git a/test/language/module-code/decl-pos-import-for-of-var.js b/test/language/module-code/decl-pos-import-for-of-var.js new file mode 100644 index 0000000000000000000000000000000000000000..de1c6a1ac69bed24af026ad373abe3230cab3a70 --- /dev/null +++ b/test/language/module-code/decl-pos-import-for-of-var.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (var y of []) + import v from './decl-pos-import-for-of-var.js'; diff --git a/test/language/module-code/decl-pos-import-for-var.js b/test/language/module-code/decl-pos-import-for-var.js new file mode 100644 index 0000000000000000000000000000000000000000..f527a78485ffd7f4caef484711a1831176d7015c --- /dev/null +++ b/test/language/module-code/decl-pos-import-for-var.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +for (var x = 0; false;) + import v from './decl-pos-import-for-var.js'; diff --git a/test/language/module-code/decl-pos-import-function-decl.js b/test/language/module-code/decl-pos-import-function-decl.js new file mode 100644 index 0000000000000000000000000000000000000000..82f39eaf81a91eea86f1b3fe7e73c9e2891c5c67 --- /dev/null +++ b/test/language/module-code/decl-pos-import-function-decl.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +function f() { import v from './decl-pos-import-function-decl.js'; } diff --git a/test/language/module-code/decl-pos-import-function-expr.js b/test/language/module-code/decl-pos-import-function-expr.js new file mode 100644 index 0000000000000000000000000000000000000000..dbbacbd017b2699b5bab170dbdb6999ef6ad18b0 --- /dev/null +++ b/test/language/module-code/decl-pos-import-function-expr.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +(function() { import v from './decl-pos-import-function-expr.js'; }); diff --git a/test/language/module-code/decl-pos-import-generator-decl.js b/test/language/module-code/decl-pos-import-generator-decl.js new file mode 100644 index 0000000000000000000000000000000000000000..daa2903bc63760f9ce853e9d063472b032b43e09 --- /dev/null +++ b/test/language/module-code/decl-pos-import-generator-decl.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +function* g() { import v from './decl-pos-import-generator-decl.js'; } diff --git a/test/language/module-code/decl-pos-import-generator-expr.js b/test/language/module-code/decl-pos-import-generator-expr.js new file mode 100644 index 0000000000000000000000000000000000000000..b9c7a6b7e3952e4c7d5c7ee2b2b3b2c153d1e4d1 --- /dev/null +++ b/test/language/module-code/decl-pos-import-generator-expr.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +(function*() { import v from './decl-pos-import-generator-expr.js'; }); diff --git a/test/language/module-code/decl-pos-import-if-else.js b/test/language/module-code/decl-pos-import-if-else.js new file mode 100644 index 0000000000000000000000000000000000000000..3b6744242b8ebfa3391ecfb74bae80b43cbb567c --- /dev/null +++ b/test/language/module-code/decl-pos-import-if-else.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +if (true) { } else import v from './decl-pos-import-if-else.js'; diff --git a/test/language/module-code/decl-pos-import-if-if.js b/test/language/module-code/decl-pos-import-if-if.js new file mode 100644 index 0000000000000000000000000000000000000000..8a186880b8c8c9cf1acf11926a1d4ea3a8fd37eb --- /dev/null +++ b/test/language/module-code/decl-pos-import-if-if.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +if (false) import v from './decl-pos-import-if-if.js'; diff --git a/test/language/module-code/decl-pos-import-labeled.js b/test/language/module-code/decl-pos-import-labeled.js new file mode 100644 index 0000000000000000000000000000000000000000..b76f5ccbd4947304fccb11caebd4a92c5757bf86 --- /dev/null +++ b/test/language/module-code/decl-pos-import-labeled.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +test262: import v from './decl-pos-import-labeled.js'; diff --git a/test/language/module-code/decl-pos-import-object-gen-method.js b/test/language/module-code/decl-pos-import-object-gen-method.js new file mode 100644 index 0000000000000000000000000000000000000000..49b2bd006e3d4754e85b1c174fb3ed8656d29f91 --- /dev/null +++ b/test/language/module-code/decl-pos-import-object-gen-method.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +({ *m() { import v from './decl-pos-import-object-gen-method.js'; } }); diff --git a/test/language/module-code/decl-pos-import-object-getter.js b/test/language/module-code/decl-pos-import-object-getter.js new file mode 100644 index 0000000000000000000000000000000000000000..e99a4947fd17ee496a25494a152488ac5b2475e2 --- /dev/null +++ b/test/language/module-code/decl-pos-import-object-getter.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +({ get m() { import v from './decl-pos-import-object-getter.js'; } }); diff --git a/test/language/module-code/decl-pos-import-object-method.js b/test/language/module-code/decl-pos-import-object-method.js new file mode 100644 index 0000000000000000000000000000000000000000..5d4b0e5eedb8599001ba4c7ec1bb8c0f2a623e01 --- /dev/null +++ b/test/language/module-code/decl-pos-import-object-method.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +({ m() { import v from './decl-pos-import-object-method.js'; } }); diff --git a/test/language/module-code/decl-pos-import-object-setter.js b/test/language/module-code/decl-pos-import-object-setter.js new file mode 100644 index 0000000000000000000000000000000000000000..5764040689b598ca0e349a6fe759287c9f5427be --- /dev/null +++ b/test/language/module-code/decl-pos-import-object-setter.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Expression cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +({ set m(x) { import v from './decl-pos-import-object-setter.js'; } }); diff --git a/test/language/module-code/decl-pos-import-switch-case-dflt.js b/test/language/module-code/decl-pos-import-switch-case-dflt.js new file mode 100644 index 0000000000000000000000000000000000000000..7bf60cdea6383ad97481fb81084f109518178cf9 --- /dev/null +++ b/test/language/module-code/decl-pos-import-switch-case-dflt.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +switch(0) { case 1: import v from './decl-pos-import-switch-case-dflt.js'; default: } diff --git a/test/language/module-code/decl-pos-import-switch-case.js b/test/language/module-code/decl-pos-import-switch-case.js new file mode 100644 index 0000000000000000000000000000000000000000..bf86fbad25d5f9b1f580a793adf0240154357b6d --- /dev/null +++ b/test/language/module-code/decl-pos-import-switch-case.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +switch(0) { case 1: import v from './decl-pos-import-switch-case.js'; } diff --git a/test/language/module-code/decl-pos-import-switch-dftl.js b/test/language/module-code/decl-pos-import-switch-dftl.js new file mode 100644 index 0000000000000000000000000000000000000000..f99e3a2e424898877ffab2b476ef04b59db81f25 --- /dev/null +++ b/test/language/module-code/decl-pos-import-switch-dftl.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +switch(0) { default: import v from './decl-pos-import-switch-dftl.js'; } diff --git a/test/language/module-code/decl-pos-import-try-catch-finally.js b/test/language/module-code/decl-pos-import-try-catch-finally.js new file mode 100644 index 0000000000000000000000000000000000000000..522ca2d4443aa9c94d3cddc56cc3a978d7d2fe5a --- /dev/null +++ b/test/language/module-code/decl-pos-import-try-catch-finally.js @@ -0,0 +1,12 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +try { } catch (err) { } finally { + import v from './decl-pos-import-try-catch-finally.js'; +} diff --git a/test/language/module-code/decl-pos-import-try-catch.js b/test/language/module-code/decl-pos-import-try-catch.js new file mode 100644 index 0000000000000000000000000000000000000000..3c103b490ff5532a1ca46d73ae2d1e6192cca413 --- /dev/null +++ b/test/language/module-code/decl-pos-import-try-catch.js @@ -0,0 +1,12 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +try { } catch (err) { + import v from './decl-pos-import-try-catch.js'; +} diff --git a/test/language/module-code/decl-pos-import-try-finally.js b/test/language/module-code/decl-pos-import-try-finally.js new file mode 100644 index 0000000000000000000000000000000000000000..71c69c4468254846d4057ededf7f1452f5125934 --- /dev/null +++ b/test/language/module-code/decl-pos-import-try-finally.js @@ -0,0 +1,12 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +try { } finally { + import v from './decl-pos-import-try-finally.js'; +} diff --git a/test/language/module-code/decl-pos-import-try-try.js b/test/language/module-code/decl-pos-import-try-try.js new file mode 100644 index 0000000000000000000000000000000000000000..814a9a08125be18afe97d31f6609242d075fc7f1 --- /dev/null +++ b/test/language/module-code/decl-pos-import-try-try.js @@ -0,0 +1,12 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +try { + import v from './decl-pos-import-try-try.js'; +} catch (err) { } diff --git a/test/language/module-code/decl-pos-import-while.js b/test/language/module-code/decl-pos-import-while.js new file mode 100644 index 0000000000000000000000000000000000000000..23a2a6cea75d1fe899177df6957dc1cbece0afb3 --- /dev/null +++ b/test/language/module-code/decl-pos-import-while.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Statement cannot contain an `import` declaration +id: sec-modules +negative: SyntaxError +flags: [module] +---*/ + +while (false) import v from './decl-pos-import-while.js'; diff --git a/test/language/module-code/strict-mode.js b/test/language/module-code/strict-mode.js new file mode 100644 index 0000000000000000000000000000000000000000..7b31b38b0f5e8b87a34455c0bd8621291b2db8d5 --- /dev/null +++ b/test/language/module-code/strict-mode.js @@ -0,0 +1,12 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Module code is always strict mode code. +es6id: 10.2.1 +id: sec-strict-mode-code +flags: [module] +negative: SyntaxError +---*/ + +$ERROR('This statement should not be executed.'); +var public; diff --git a/test/language/reserved-words/await-module.js b/test/language/reserved-words/await-module.js new file mode 100644 index 0000000000000000000000000000000000000000..14d3e25721e78e7b8ac8c5833cebcfd3c4589386 --- /dev/null +++ b/test/language/reserved-words/await-module.js @@ -0,0 +1,11 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +id: sec-reserved-words +es6id: 11.6.2 +description: The `await` token is not permitted as an identifier in module code +flags: [module] +negative: SyntaxError +---*/ + +var await; diff --git a/test/language/reserved-words/await-script.js b/test/language/reserved-words/await-script.js new file mode 100644 index 0000000000000000000000000000000000000000..bae9067072bc260e7b37243ee156745718948bc1 --- /dev/null +++ b/test/language/reserved-words/await-script.js @@ -0,0 +1,9 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +id: sec-reserved-words +es6id: 11.6.2 +description: The `await` token is permitted as an identifier in script code +---*/ + +var await;