* Upgrade to ESLint v7 * Upgrade eslint-plugin-import * Update peer deps * Remove max-len from ESLint config * Update tests * Only test babel-eslint-* packages in Node >=10 * Remove babel-eslint * Fix linking in dev * Add comment to Makefile * Fix e2e tests * Add --ignore-engines flag when installing in ESLint packages * fix: convert tt.questionDot to Punctuator * chore: update lockfile Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
72 lines
2.2 KiB
JavaScript
72 lines
2.2 KiB
JavaScript
import rule from "../../src/rules/semi";
|
|
import RuleTester from "../../../babel-eslint-shared-fixtures/utils/RuleTester";
|
|
|
|
const ruleTester = new RuleTester();
|
|
|
|
ruleTester.run("semi", rule, {
|
|
valid: [
|
|
"class Foo { bar = 'example'; }",
|
|
"class Foo { #bar = 'example'; }",
|
|
"class Foo { static bar = 'example'; }",
|
|
{
|
|
code: "class Foo { bar = () => {}; }",
|
|
options: ["always", { omitLastInOneLineBlock: true }],
|
|
},
|
|
|
|
// never
|
|
{ code: "class Foo { bar = 'example' }", options: ["never"] },
|
|
{ code: "class Foo { #bar = 'example' }", options: ["never"] },
|
|
{ code: "class Foo { static bar = 'example' }", options: ["never"] },
|
|
{ code: "class Foo { bar = () => {} }", options: ["never"] },
|
|
],
|
|
invalid: [
|
|
{
|
|
code: "class Foo { bar = 'example' }",
|
|
output: "class Foo { bar = 'example'; }",
|
|
errors: [{ message: "Missing semicolon." }],
|
|
},
|
|
{
|
|
code: "class Foo { #bar = 'example' }",
|
|
output: "class Foo { #bar = 'example'; }",
|
|
errors: [{ message: "Missing semicolon." }],
|
|
},
|
|
{
|
|
code: "class Foo { static bar = 'example' }",
|
|
output: "class Foo { static bar = 'example'; }",
|
|
errors: [{ message: "Missing semicolon." }],
|
|
},
|
|
{
|
|
code: "class Foo { bar = () => {} }",
|
|
output: "class Foo { bar = () => {}; }",
|
|
options: ["always", { omitLastInOneLineBlock: true }],
|
|
errors: [{ message: "Missing semicolon." }],
|
|
},
|
|
|
|
// "never"
|
|
{
|
|
code: "class Foo { bar = 'example'; }",
|
|
output: "class Foo { bar = 'example' }",
|
|
options: ["never"],
|
|
errors: [{ message: "Extra semicolon." }],
|
|
},
|
|
{
|
|
code: "class Foo { #bar = 'example'; }",
|
|
output: "class Foo { #bar = 'example' }",
|
|
options: ["never"],
|
|
errors: [{ message: "Extra semicolon." }],
|
|
},
|
|
{
|
|
code: "class Foo { static bar = 'example'; }",
|
|
output: "class Foo { static bar = 'example' }",
|
|
options: ["never"],
|
|
errors: [{ message: "Extra semicolon." }],
|
|
},
|
|
{
|
|
code: "class Foo { bar = () => {}; }",
|
|
output: "class Foo { bar = () => {} }",
|
|
options: ["never"],
|
|
errors: [{ message: "Extra semicolon." }],
|
|
},
|
|
],
|
|
});
|