[eslint] Add test for component syntax

This commit is contained in:
Lauren Tan
2023-11-03 15:22:52 -04:00
parent a74982d660
commit a030d05d95
2 changed files with 15 additions and 2 deletions
@@ -6,7 +6,6 @@
*/
import { RuleTester as ESLintTester } from "eslint";
import * as HermesEslintParser from "hermes-eslint";
import ReactForgetDiagnostics from "../src/rules/ReactForgetDiagnostics";
/**
@@ -38,6 +37,18 @@ const tests: ForgetTestCases = {
}
`,
},
{
name: "Basic example with component syntax",
code: normalizeIndent`
export default component HelloWorld(
text: string = 'Hello!',
onClick: () => void,
) {
'use forget';
return <div onClick={onClick}>{text}</div>;
}
`,
},
{
name: "Unsupported syntax",
code: normalizeIndent`
@@ -121,10 +132,11 @@ const tests: ForgetTestCases = {
};
const eslintTester = new ESLintTester({
parser: HermesEslintParser,
parser: require.resolve("hermes-eslint"),
parserOptions: {
ecmaVersion: 2015,
sourceType: "module",
enableExperimentalComponentSyntax: true,
},
});
eslintTester.run("react-forget-diagnostics", ReactForgetDiagnostics, tests);
@@ -83,6 +83,7 @@ const rule: Rule.RuleModule = {
const babelAST = HermesParser.parse(sourceCode, {
babel: true,
enableExperimentalComponentSyntax: true,
sourceFilename: filename,
sourceType: "module",
});