* Use @babel/eslint-parser for tests * Update rules/tests * Update docs * add @babel/eslint-shared-fixtures to package.json * remove bug fix * convert RuleTester to ESM * Update devDep versions
53 lines
1.4 KiB
JavaScript
53 lines
1.4 KiB
JavaScript
import rule from "../../src/rules/semi";
|
|
import RuleTester from "../helpers/RuleTester";
|
|
|
|
const ruleTester = new RuleTester();
|
|
|
|
ruleTester.run("semi", rule, {
|
|
valid: [
|
|
"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 { static bar = 'example' }", options: ["never"] },
|
|
{ code: "class Foo { bar = () => {} }", options: ["never"] },
|
|
],
|
|
invalid: [
|
|
{
|
|
code: "class Foo { bar = 'example' }",
|
|
errors: [{ message: "Missing semicolon." }],
|
|
},
|
|
{
|
|
code: "class Foo { static bar = 'example' }",
|
|
errors: [{ message: "Missing semicolon." }],
|
|
},
|
|
{
|
|
code: "class Foo { bar = () => {} }",
|
|
options: ["always", { omitLastInOneLineBlock: true }],
|
|
errors: [{ message: "Missing semicolon." }],
|
|
},
|
|
|
|
// "never"
|
|
{
|
|
code: "class Foo { bar = 'example'; }",
|
|
options: ["never"],
|
|
errors: [{ message: "Extra semicolon." }],
|
|
},
|
|
{
|
|
code: "class Foo { static bar = 'example'; }",
|
|
options: ["never"],
|
|
errors: [{ message: "Extra semicolon." }],
|
|
},
|
|
{
|
|
code: "class Foo { bar = () => {}; }",
|
|
options: ["never"],
|
|
errors: [{ message: "Extra semicolon." }],
|
|
},
|
|
],
|
|
});
|