diff --git a/tests/lib/rules/comma-dangle.js b/tests/lib/rules/comma-dangle.js index 7cd95823157..8797dbdcf19 100644 --- a/tests/lib/rules/comma-dangle.js +++ b/tests/lib/rules/comma-dangle.js @@ -1290,12 +1290,12 @@ ruleTester.run("comma-dangle", rule, { code: `let {a,} = {a: 1,}; let [b,] = [1,]; import {c,} from "foo"; -export {d,}; +let d = 0;export {d,}; (function foo(e,) {})(f,);`, output: `let {a} = {a: 1}; let [b,] = [1,]; import {c,} from "foo"; -export {d,}; +let d = 0;export {d,}; (function foo(e,) {})(f,);`, options: [{ objects: "never", @@ -1314,12 +1314,12 @@ export {d,}; code: `let {a,} = {a: 1,}; let [b,] = [1,]; import {c,} from "foo"; -export {d,}; +let d = 0;export {d,}; (function foo(e,) {})(f,);`, output: `let {a,} = {a: 1,}; let [b] = [1]; import {c,} from "foo"; -export {d,}; +let d = 0;export {d,}; (function foo(e,) {})(f,);`, options: [{ objects: "ignore", @@ -1338,12 +1338,12 @@ export {d,}; code: `let {a,} = {a: 1,}; let [b,] = [1,]; import {c,} from "foo"; -export {d,}; +let d = 0;export {d,}; (function foo(e,) {})(f,);`, output: `let {a,} = {a: 1,}; let [b,] = [1,]; import {c} from "foo"; -export {d,}; +let d = 0;export {d,}; (function foo(e,) {})(f,);`, options: [{ objects: "ignore", @@ -1361,12 +1361,12 @@ export {d,}; code: `let {a,} = {a: 1,}; let [b,] = [1,]; import {c,} from "foo"; -export {d,}; +let d = 0;export {d,}; (function foo(e,) {})(f,);`, output: `let {a,} = {a: 1,}; let [b,] = [1,]; import {c,} from "foo"; -export {d}; +let d = 0;export {d}; (function foo(e,) {})(f,);`, options: [{ objects: "ignore", @@ -1384,12 +1384,12 @@ export {d}; code: `let {a,} = {a: 1,}; let [b,] = [1,]; import {c,} from "foo"; -export {d,}; +let d = 0;export {d,}; (function foo(e,) {})(f,);`, output: `let {a,} = {a: 1,}; let [b,] = [1,]; import {c,} from "foo"; -export {d,}; +let d = 0;export {d,}; (function foo(e) {})(f);`, options: [{ objects: "ignore", diff --git a/tests/lib/rules/indent.js b/tests/lib/rules/indent.js index 7571d3aaf7e..06dd77d389a 100644 --- a/tests/lib/rules/indent.js +++ b/tests/lib/rules/indent.js @@ -1109,6 +1109,7 @@ ruleTester.run("indent", rule, { }, { code: unIndent` + var foo = 0, bar = 0; baz = 0; export { foo, bar, @@ -3100,6 +3101,7 @@ ruleTester.run("indent", rule, { `, { code: unIndent` + var foo = 0, bar = 0, baz = 0; export { foo, bar, @@ -4813,6 +4815,7 @@ ruleTester.run("indent", rule, { }, { code: unIndent` + var a = 0, b = 0, c = 0; export default foo( a, b, { @@ -7620,6 +7623,7 @@ ruleTester.run("indent", rule, { }, { code: unIndent` + var foo = 0, bar = 0, baz = 0; export { foo, bar, @@ -7627,6 +7631,7 @@ ruleTester.run("indent", rule, { }; `, output: unIndent` + var foo = 0, bar = 0, baz = 0; export { foo, bar, @@ -7634,10 +7639,11 @@ ruleTester.run("indent", rule, { }; `, parserOptions: { sourceType: "module" }, - errors: expectedErrors([[2, 4, 0, "Identifier"], [3, 4, 2, "Identifier"]]) + errors: expectedErrors([[3, 4, 0, "Identifier"], [4, 4, 2, "Identifier"]]) }, { code: unIndent` + var foo = 0, bar = 0, baz = 0; export { foo, bar, @@ -7645,6 +7651,7 @@ ruleTester.run("indent", rule, { } from 'qux'; `, output: unIndent` + var foo = 0, bar = 0, baz = 0; export { foo, bar, @@ -7652,7 +7659,7 @@ ruleTester.run("indent", rule, { } from 'qux'; `, parserOptions: { sourceType: "module" }, - errors: expectedErrors([[2, 4, 0, "Identifier"], [3, 4, 2, "Identifier"]]) + errors: expectedErrors([[3, 4, 0, "Identifier"], [4, 4, 2, "Identifier"]]) }, { @@ -8074,6 +8081,7 @@ ruleTester.run("indent", rule, { }, { code: unIndent` + var foo = 0, bar = 0, baz = 0; export { foo, bar, @@ -8081,6 +8089,7 @@ ruleTester.run("indent", rule, { } `, output: unIndent` + var foo = 0, bar = 0, baz = 0; export { foo, bar, @@ -8088,7 +8097,7 @@ ruleTester.run("indent", rule, { } `, parserOptions: { sourceType: "module" }, - errors: expectedErrors([[2, 4, 0, "Identifier"], [3, 4, 8, "Identifier"], [4, 4, 2, "Identifier"]]) + errors: expectedErrors([[3, 4, 0, "Identifier"], [4, 4, 8, "Identifier"], [5, 4, 2, "Identifier"]]) }, { code: unIndent` diff --git a/tests/lib/rules/keyword-spacing.js b/tests/lib/rules/keyword-spacing.js index 84c5d74a6fe..5e6a0d83730 100644 --- a/tests/lib/rules/keyword-spacing.js +++ b/tests/lib/rules/keyword-spacing.js @@ -561,16 +561,16 @@ ruleTester.run("keyword-spacing", rule, { // export //---------------------------------------------------------------------- - { code: "{} export {a}", parserOptions: { sourceType: "module" } }, + { code: "var a = 0; {} export {a}", parserOptions: { sourceType: "module" } }, { code: "{} export default a", parserOptions: { sourceType: "module" } }, { code: "{} export * from \"a\"", parserOptions: { sourceType: "module" } }, - { code: "{}export{a}", options: [NEITHER], parserOptions: { sourceType: "module" } }, - { code: "{} export {a}", options: [override("export", BOTH)], parserOptions: { sourceType: "module" } }, - { code: "{}export{a}", options: [override("export", NEITHER)], parserOptions: { sourceType: "module" } }, + { code: "var a = 0; {}export{a}", options: [NEITHER], parserOptions: { sourceType: "module" } }, + { code: "var a = 0; {} export {a}", options: [override("export", BOTH)], parserOptions: { sourceType: "module" } }, + { code: "var a = 0; {}export{a}", options: [override("export", NEITHER)], parserOptions: { sourceType: "module" } }, // not conflict with `semi-spacing` - { code: ";export {a}", parserOptions: { sourceType: "module" } }, - { code: "; export{a}", options: [NEITHER], parserOptions: { sourceType: "module" } }, + { code: "var a = 0;\n;export {a}", parserOptions: { sourceType: "module" } }, + { code: "var a = 0;\n; export{a}", options: [NEITHER], parserOptions: { sourceType: "module" } }, //---------------------------------------------------------------------- // extends @@ -2012,20 +2012,20 @@ ruleTester.run("keyword-spacing", rule, { //---------------------------------------------------------------------- { - code: "{}export{a}", - output: "{} export {a}", + code: "var a = 0; {}export{a}", + output: "var a = 0; {} export {a}", parserOptions: { sourceType: "module" }, errors: expectedBeforeAndAfter("export") }, { - code: "{}export default a", - output: "{} export default a", + code: "var a = 0; {}export default a", + output: "var a = 0; {} export default a", parserOptions: { sourceType: "module" }, errors: expectedBefore("export") }, { - code: "export default{a}", - output: "export default {a}", + code: "var a = 0; export default{a}", + output: "var a = 0; export default {a}", parserOptions: { sourceType: "module" }, errors: expectedAfter("default") }, @@ -2036,22 +2036,22 @@ ruleTester.run("keyword-spacing", rule, { errors: expectedBeforeAndAfter("export") }, { - code: "{} export {a}", - output: "{}export{a}", + code: "var a = 0; {} export {a}", + output: "var a = 0; {}export{a}", options: [NEITHER], parserOptions: { sourceType: "module" }, errors: unexpectedBeforeAndAfter("export") }, { - code: "{}export{a}", - output: "{} export {a}", + code: "var a = 0; {}export{a}", + output: "var a = 0; {} export {a}", options: [override("export", BOTH)], parserOptions: { sourceType: "module" }, errors: expectedBeforeAndAfter("export") }, { - code: "{} export {a}", - output: "{}export{a}", + code: "var a = 0; {} export {a}", + output: "var a = 0; {}export{a}", options: [override("export", NEITHER)], parserOptions: { sourceType: "module" }, errors: unexpectedBeforeAndAfter("export") diff --git a/tests/lib/rules/no-irregular-whitespace.js b/tests/lib/rules/no-irregular-whitespace.js index 492b2e9937a..bf5dcb45553 100644 --- a/tests/lib/rules/no-irregular-whitespace.js +++ b/tests/lib/rules/no-irregular-whitespace.js @@ -181,10 +181,15 @@ ruleTester.run("no-irregular-whitespace", rule, { code: "var any \u00A0 = 'thing';", errors: expectedErrors }, - { - code: "var any \u180E = 'thing';", - errors: expectedErrors - }, + + /* + * it was moved out of General_Category=Zs (separator, space) in Unicode 6.3.0, so should not be considered a whitespace character. + * https://codeblog.jonskeet.uk/2014/12/01/when-is-an-identifier-not-an-identifier-attack-of-the-mongolian-vowel-separator/ + * { + * code: "var any \u180E = 'thing';", + * errors: expectedErrors + * }, + */ { code: "var any \ufeff = 'thing';", errors: expectedErrors diff --git a/tests/lib/rules/no-undefined.js b/tests/lib/rules/no-undefined.js index bc570685416..bcc18b24271 100644 --- a/tests/lib/rules/no-undefined.js +++ b/tests/lib/rules/no-undefined.js @@ -111,11 +111,15 @@ ruleTester.run("no-undefined", rule, { parserOptions: ES6_MODULE, errors }, - { - code: "export { undefined }", - parserOptions: ES6_MODULE, - errors - }, + + /* + * it will be warned "Parsing error: Export 'undefined' is not defined" (acorn@>=6.0.7) + * { + * code: "export { undefined }", + * parserOptions: ES6_MODULE, + * errors + * }, + */ { code: "let a = [b, ...undefined]", errors }, { code: "[a, ...undefined] = b", errors }, { code: "[a = undefined] = b", errors } diff --git a/tests/lib/rules/no-useless-rename.js b/tests/lib/rules/no-useless-rename.js index 2a864c06bd3..9f7e0777af8 100644 --- a/tests/lib/rules/no-useless-rename.js +++ b/tests/lib/rules/no-useless-rename.js @@ -44,8 +44,8 @@ ruleTester.run("no-useless-rename", rule, { "import {foo as bar} from 'foo';", "import {foo as bar, baz as qux} from 'foo';", "export {foo} from 'foo';", - "export {foo as bar};", - "export {foo as bar, baz as qux};", + "var foo = 0;export {foo as bar};", + "var foo = 0; var baz = 0; export {foo as bar, baz as qux};", "export {foo as bar} from 'foo';", "export {foo as bar, baz as qux} from 'foo';", { @@ -91,15 +91,15 @@ ruleTester.run("no-useless-rename", rule, { // { ignoreExport: true } { - code: "export {foo as foo};", + code: "var foo = 0;export {foo as foo};", options: [{ ignoreExport: true }] }, { - code: "export {foo as foo, bar as baz};", + code: "var foo = 0;var bar = 0;export {foo as foo, bar as baz};", options: [{ ignoreExport: true }] }, { - code: "export {foo as foo, bar as bar};", + code: "var foo = 0;var bar = 0;export {foo as foo, bar as bar};", options: [{ ignoreExport: true }] }, { @@ -261,23 +261,23 @@ ruleTester.run("no-useless-rename", rule, { errors: ["Import foo unnecessarily renamed.", "Import bar unnecessarily renamed."] }, { - code: "export {foo as foo};", - output: "export {foo};", + code: "var foo = 0; export {foo as foo};", + output: "var foo = 0; export {foo};", errors: ["Export foo unnecessarily renamed."] }, { - code: "export {foo as foo, bar as baz};", - output: "export {foo, bar as baz};", + code: "var foo = 0; var bar = 0; export {foo as foo, bar as baz};", + output: "var foo = 0; var bar = 0; export {foo, bar as baz};", errors: ["Export foo unnecessarily renamed."] }, { - code: "export {foo as bar, baz as baz};", - output: "export {foo as bar, baz};", + code: "var foo = 0; var baz = 0; export {foo as bar, baz as baz};", + output: "var foo = 0; var baz = 0; export {foo as bar, baz};", errors: ["Export baz unnecessarily renamed."] }, { - code: "export {foo as foo, bar as bar};", - output: "export {foo, bar};", + code: "var foo = 0; var bar = 0;export {foo as foo, bar as bar};", + output: "var foo = 0; var bar = 0;export {foo, bar};", errors: ["Export foo unnecessarily renamed.", "Export bar unnecessarily renamed."] }, { @@ -291,8 +291,8 @@ ruleTester.run("no-useless-rename", rule, { errors: ["Export foo unnecessarily renamed."] }, { - code: "export {foo as bar, baz as baz} from 'foo';", - output: "export {foo as bar, baz} from 'foo';", + code: "var foo = 0; var bar = 0; export {foo as bar, baz as baz} from 'foo';", + output: "var foo = 0; var bar = 0; export {foo as bar, baz} from 'foo';", errors: ["Export baz unnecessarily renamed."] }, { diff --git a/tests/lib/rules/object-curly-newline.js b/tests/lib/rules/object-curly-newline.js index ac74c7a5e2e..072ca1611b3 100644 --- a/tests/lib/rules/object-curly-newline.js +++ b/tests/lib/rules/object-curly-newline.js @@ -515,6 +515,7 @@ ruleTester.run("object-curly-newline", rule, { // "ExportDeclaration" --------------------------------------------- { code: [ + "var a = 0, b = 0;", "export {a,", "b};" ].join("\n"), @@ -522,6 +523,7 @@ ruleTester.run("object-curly-newline", rule, { }, { code: [ + "var a = 0, b = 0;", "export {", "a as a, b", "} from 'module';" @@ -1637,19 +1639,21 @@ ruleTester.run("object-curly-newline", rule, { // "ExportDeclaration" --------------------------------------------- { code: [ + "var a = 0; var b = 0;", "export {", " a,", " b", "};" ].join("\n"), output: [ + "var a = 0; var b = 0;", "export {a,", " b};" ].join("\n"), options: [{ ExportDeclaration: "never" }], errors: [ - { line: 1, column: 8, message: "Unexpected line break after this opening brace." }, - { line: 4, column: 1, message: "Unexpected line break before this closing brace." } + { line: 2, column: 8, message: "Unexpected line break after this opening brace." }, + { line: 5, column: 1, message: "Unexpected line break before this closing brace." } ] }, { diff --git a/tests/lib/rules/object-curly-spacing.js b/tests/lib/rules/object-curly-spacing.js index dc2a26180a6..c016b731b16 100644 --- a/tests/lib/rules/object-curly-spacing.js +++ b/tests/lib/rules/object-curly-spacing.js @@ -48,7 +48,7 @@ ruleTester.run("object-curly-spacing", rule, { { code: "import { house, mouse } from 'caravan'", options: ["always"], parserOptions: { sourceType: "module" } }, { code: "import house, { mouse } from 'caravan'", options: ["always"], parserOptions: { sourceType: "module" } }, { code: "import door, { house, mouse } from 'caravan'", options: ["always"], parserOptions: { sourceType: "module" } }, - { code: "export { door }", options: ["always"], parserOptions: { sourceType: "module" } }, + { code: "var door = 0;export { door }", options: ["always"], parserOptions: { sourceType: "module" } }, { code: "import 'room'", options: ["always"], parserOptions: { sourceType: "module" } }, { code: "import { bar as x } from 'foo';", options: ["always"], parserOptions: { sourceType: "module" } }, { code: "import { x, } from 'foo';", options: ["always"], parserOptions: { sourceType: "module" } }, @@ -107,7 +107,7 @@ ruleTester.run("object-curly-spacing", rule, { { code: "export {\ndoor\n} from 'room'", options: ["never"], parserOptions: { sourceType: "module" } }, { code: "import {house,mouse} from 'caravan'", options: ["never"], parserOptions: { sourceType: "module" } }, { code: "import {house, mouse} from 'caravan'", options: ["never"], parserOptions: { sourceType: "module" } }, - { code: "export {door}", options: ["never"], parserOptions: { sourceType: "module" } }, + { code: "var door = 0;export {door}", options: ["never"], parserOptions: { sourceType: "module" } }, { code: "import 'room'", options: ["never"], parserOptions: { sourceType: "module" } }, { code: "import x, {bar} from 'foo';", options: ["never"], parserOptions: { sourceType: "module" } }, { code: "import x, {bar, baz} from 'foo';", options: ["never"], parserOptions: { sourceType: "module" } }, @@ -333,21 +333,21 @@ ruleTester.run("object-curly-spacing", rule, { ] }, { - code: "export {bar};", - output: "export { bar };", + code: "var bar = 0;\nexport {bar};", + output: "var bar = 0;\nexport { bar };", options: ["always"], parserOptions: { sourceType: "module" }, errors: [ { message: "A space is required after '{'.", type: "ExportNamedDeclaration", - line: 1, + line: 2, column: 8 }, { message: "A space is required before '}'.", type: "ExportNamedDeclaration", - line: 1, + line: 2, column: 12 } ] diff --git a/tests/lib/rules/padding-line-between-statements.js b/tests/lib/rules/padding-line-between-statements.js index dc5d81c42a2..c9d703528dd 100644 --- a/tests/lib/rules/padding-line-between-statements.js +++ b/tests/lib/rules/padding-line-between-statements.js @@ -736,7 +736,7 @@ ruleTester.run("padding-line-between-statements", rule, { parserOptions: { sourceType: "module" } }, { - code: "export {a}\n\nfoo()", + code: "var a = 0; export {a}\n\nfoo()", options: [ { blankLine: "never", prev: "*", next: "*" }, { blankLine: "always", prev: "export", next: "*" } @@ -3442,8 +3442,8 @@ ruleTester.run("padding-line-between-statements", rule, { errors: [MESSAGE_NEVER] }, { - code: "export {a}\n\nfoo()", - output: "export {a}\nfoo()", + code: "var a = 0;export {a}\n\nfoo()", + output: "var a = 0;export {a}\nfoo()", options: [ { blankLine: "never", prev: "export", next: "*" } ], @@ -3469,8 +3469,8 @@ ruleTester.run("padding-line-between-statements", rule, { errors: [MESSAGE_ALWAYS] }, { - code: "export {a}\nfoo()", - output: "export {a}\n\nfoo()", + code: "var a = 0;export {a}\nfoo()", + output: "var a = 0;export {a}\n\nfoo()", options: [ { blankLine: "always", prev: "export", next: "*" } ], diff --git a/tests/lib/rules/semi-spacing.js b/tests/lib/rules/semi-spacing.js index 2fde1d11ad4..27aefa05a3c 100644 --- a/tests/lib/rules/semi-spacing.js +++ b/tests/lib/rules/semi-spacing.js @@ -183,12 +183,12 @@ ruleTester.run("semi-spacing", rule, { ] }, { - code: "export {foo} ;", - output: "export {foo};", + code: "var foo = 0; export {foo} ;", + output: "var foo = 0; export {foo};", options: [{ before: false, after: true }], parserOptions: { sourceType: "module" }, errors: [ - { message: "Unexpected whitespace before semicolon.", type: "ExportNamedDeclaration", line: 1, column: 14 } + { message: "Unexpected whitespace before semicolon.", type: "ExportNamedDeclaration", line: 1, column: 27 } ] }, { diff --git a/tests/lib/rules/semi.js b/tests/lib/rules/semi.js index a8bb034243c..13b13f20ead 100644 --- a/tests/lib/rules/semi.js +++ b/tests/lib/rules/semi.js @@ -59,7 +59,7 @@ ruleTester.run("semi", rule, { // exports, "always" { code: "export * from 'foo';", parserOptions: { sourceType: "module" } }, { code: "export { foo } from 'foo';", parserOptions: { sourceType: "module" } }, - { code: "export { foo };", parserOptions: { sourceType: "module" } }, + { code: "var foo = 0;export { foo };", parserOptions: { sourceType: "module" } }, { code: "export var foo;", parserOptions: { sourceType: "module" } }, { code: "export function foo () { }", parserOptions: { sourceType: "module" } }, { code: "export function* foo () { }", parserOptions: { sourceType: "module" } }, @@ -77,7 +77,7 @@ ruleTester.run("semi", rule, { // exports, "never" { code: "export * from 'foo'", options: ["never"], parserOptions: { sourceType: "module" } }, { code: "export { foo } from 'foo'", options: ["never"], parserOptions: { sourceType: "module" } }, - { code: "export { foo }", options: ["never"], parserOptions: { sourceType: "module" } }, + { code: "var foo = 0; export { foo }", options: ["never"], parserOptions: { sourceType: "module" } }, { code: "export var foo", options: ["never"], parserOptions: { sourceType: "module" } }, { code: "export function foo () { }", options: ["never"], parserOptions: { sourceType: "module" } }, { code: "export function* foo () { }", options: ["never"], parserOptions: { sourceType: "module" } }, @@ -123,7 +123,7 @@ ruleTester.run("semi", rule, { }, { code: ` - export {a}; + var a = 0; export {a}; [a] = b `, options: ["never", { beforeStatementContinuationChars: "always" }], @@ -182,7 +182,7 @@ ruleTester.run("semi", rule, { }, { code: ` - export {a} + var a = 0; export {a} [a] = b `, options: ["never", { beforeStatementContinuationChars: "never" }], @@ -281,7 +281,7 @@ ruleTester.run("semi", rule, { // exports, "always" { code: "export * from 'foo'", output: "export * from 'foo';", parserOptions: { sourceType: "module" }, errors: [{ message: "Missing semicolon.", type: "ExportAllDeclaration" }] }, { code: "export { foo } from 'foo'", output: "export { foo } from 'foo';", parserOptions: { sourceType: "module" }, errors: [{ message: "Missing semicolon.", type: "ExportNamedDeclaration" }] }, - { code: "export { foo }", output: "export { foo };", parserOptions: { sourceType: "module" }, errors: [{ message: "Missing semicolon.", type: "ExportNamedDeclaration" }] }, + { code: "var foo = 0;export { foo }", output: "var foo = 0;export { foo };", parserOptions: { sourceType: "module" }, errors: [{ message: "Missing semicolon.", type: "ExportNamedDeclaration" }] }, { code: "export var foo", output: "export var foo;", parserOptions: { sourceType: "module" }, errors: [{ message: "Missing semicolon.", type: "VariableDeclaration" }] }, { code: "export let foo", output: "export let foo;", parserOptions: { sourceType: "module" }, errors: [{ message: "Missing semicolon.", type: "VariableDeclaration" }] }, { code: "export const FOO = 42", output: "export const FOO = 42;", parserOptions: { sourceType: "module" }, errors: [{ message: "Missing semicolon.", type: "VariableDeclaration" }] }, @@ -293,7 +293,7 @@ ruleTester.run("semi", rule, { // exports, "never" { code: "export * from 'foo';", output: "export * from 'foo'", options: ["never"], parserOptions: { sourceType: "module" }, errors: [{ message: "Extra semicolon.", type: "ExportAllDeclaration" }] }, { code: "export { foo } from 'foo';", output: "export { foo } from 'foo'", options: ["never"], parserOptions: { sourceType: "module" }, errors: [{ message: "Extra semicolon.", type: "ExportNamedDeclaration" }] }, - { code: "export { foo };", output: "export { foo }", options: ["never"], parserOptions: { sourceType: "module" }, errors: [{ message: "Extra semicolon.", type: "ExportNamedDeclaration" }] }, + { code: "var foo = 0;export { foo };", output: "var foo = 0;export { foo }", options: ["never"], parserOptions: { sourceType: "module" }, errors: [{ message: "Extra semicolon.", type: "ExportNamedDeclaration" }] }, { code: "export var foo;", output: "export var foo", options: ["never"], parserOptions: { sourceType: "module" }, errors: [{ message: "Extra semicolon.", type: "VariableDeclaration" }] }, { code: "export let foo;", output: "export let foo", options: ["never"], parserOptions: { sourceType: "module" }, errors: [{ message: "Extra semicolon.", type: "VariableDeclaration" }] }, { code: "export const FOO = 42;", output: "export const FOO = 42", options: ["never"], parserOptions: { sourceType: "module" }, errors: [{ message: "Extra semicolon.", type: "VariableDeclaration" }] }, @@ -338,11 +338,11 @@ ruleTester.run("semi", rule, { }, { code: ` - export {a} + var a = 0; export {a} [a] = b `, output: ` - export {a}; + var a = 0; export {a}; [a] = b `, options: ["never", { beforeStatementContinuationChars: "always" }], @@ -438,11 +438,11 @@ ruleTester.run("semi", rule, { }, { code: ` - export {a}; + var a = 0; export {a}; [a] = b `, output: ` - export {a} + var a = 0; export {a} [a] = b `, options: ["never", { beforeStatementContinuationChars: "never" }], @@ -538,11 +538,11 @@ ruleTester.run("semi", rule, { }, { code: ` - export {a} + var a = 0; export {a} ;[1,2,3].forEach(doSomething) `, output: ` - export {a} + var a = 0; export {a} [1,2,3].forEach(doSomething) `, options: ["never", { beforeStatementContinuationChars: "never" }],