Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Matheus <matheus_benini@hotmail.com> Co-authored-by: bosiraphael <raphael.bosi@gmail.com>
48 lines
1.3 KiB
TypeScript
48 lines
1.3 KiB
TypeScript
import { RuleTester } from "@typescript-eslint/rule-tester";
|
|
|
|
import componentPropsNamingRule from "../rules/component-props-naming";
|
|
|
|
const ruleTester = new RuleTester({
|
|
parser: "@typescript-eslint/parser",
|
|
parserOptions: {
|
|
project: "./tsconfig.json",
|
|
tsconfigRootDir: __dirname,
|
|
ecmaFeatures: {
|
|
jsx: true,
|
|
},
|
|
},
|
|
});
|
|
|
|
ruleTester.run("component-props-naming", componentPropsNamingRule, {
|
|
valid: [
|
|
{
|
|
code: "export const MyComponent= (props: MyComponentProps) => <div>{props.message}</div>;",
|
|
},
|
|
{
|
|
code: "export const MyComponent = ({ message }: MyComponentProps) => <div>{message}</div>;",
|
|
},
|
|
],
|
|
invalid: [
|
|
{
|
|
code: "export const MyComponent = (props: OwnProps) => <div>{props.message}</div>;",
|
|
errors: [
|
|
{
|
|
messageId: "invalidPropsTypeName",
|
|
},
|
|
],
|
|
output:
|
|
"export const MyComponent = (props: MyComponentProps) => <div>{props.message}</div>;",
|
|
},
|
|
{
|
|
code: "export const MyComponent = ({ message }: OwnProps) => <div>{message}</div>;",
|
|
errors: [
|
|
{
|
|
messageId: "invalidPropsTypeName",
|
|
},
|
|
],
|
|
output:
|
|
"export const MyComponent = ({ message }: MyComponentProps) => <div>{message}</div>;",
|
|
},
|
|
],
|
|
});
|