Skip to content

Commit e925f20

Browse files
committed
test: add 'as const' test cases to 'prefer-read-only-props.spec.ts'
1 parent 6896f1a commit e925f20

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

packages/plugins/eslint-plugin-react-x/src/rules/prefer-read-only-props.spec.ts

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,23 @@ ruleTesterWithTypes.run(RULE_NAME, rule, {
119119
},
120120
],
121121
},
122+
{
123+
code: dedent`
124+
import { FC } from "react";
125+
126+
const defaultProps = { id: "default-id", className: "default-class" };
127+
type Props = typeof defaultProps;
128+
129+
function App({ id, className }: Props) {
130+
return <div id={id} className={className} />
131+
}
132+
`,
133+
errors: [
134+
{
135+
messageId: "PREFER_READ_ONLY_PROPS",
136+
},
137+
],
138+
},
122139
],
123140
valid: [
124141
...allValid,
@@ -156,5 +173,38 @@ ruleTesterWithTypes.run(RULE_NAME, rule, {
156173
return <div id={id} className={className} />
157174
}
158175
`,
176+
dedent`
177+
import { FC } from "react";
178+
179+
const defaultProps = { id: "default-id", className: "default-class" } as const;
180+
type Props = typeof defaultProps;
181+
182+
function App({ id, className }: Props) {
183+
return <div id={id} className={className} />
184+
}
185+
`,
186+
dedent`
187+
import { FC } from "react";
188+
189+
const defaultProps = { id: "default-id", className: "default-class" } as const;
190+
type Props = typeof defaultProps;
191+
const App: FC<Props> = ({ id, className }) => {
192+
return <div id={id} className={className} />
193+
}
194+
`,
195+
dedent`
196+
import { FC } from "react";
197+
198+
const defaultProps = { id: "default-id", className: "default-class" } as const;
199+
const App: FC<typeof defaultProps> = ({ id, className }) => {
200+
return <div id={id} className={className} />
201+
}
202+
`,
203+
dedent`
204+
const defaultProps = { id: "default-id", className: "default-class" } as const;
205+
const App = ({ id, className }: typeof defaultProps) => {
206+
return <div id={id} className={className} />
207+
}
208+
`,
159209
],
160210
});

0 commit comments

Comments
 (0)