mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
[eslint] Add test for component syntax
This commit is contained in:
+14
-2
@@ -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",
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user