Skip to content

Commit 95a5f24

Browse files
KingDarBojaJosh Goldberg
and
Josh Goldberg
authored
Added jsx-equals-spacing converter (#637)
* Added jsx-equals-spacing converter * Split jsx-equals-spacing tests Co-authored-by: Josh Goldberg <joshuakgoldberg@outlook.com>
1 parent 8ffc537 commit 95a5f24

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { RuleConverter } from "../../converter";
2+
3+
export const convertJsxEqualsSpacing: RuleConverter = (tslintRule) => {
4+
return {
5+
rules: [
6+
{
7+
...(tslintRule.ruleArguments.length !== 0 && {
8+
ruleArguments: [tslintRule.ruleArguments[0]],
9+
}),
10+
ruleName: "react/jsx-equals-spacing",
11+
},
12+
],
13+
plugins: ["eslint-plugin-react"],
14+
};
15+
};
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import { convertJsxEqualsSpacing } from "../jsx-equals-spacing";
2+
3+
describe(convertJsxEqualsSpacing, () => {
4+
test("conversion without arguments", () => {
5+
const result = convertJsxEqualsSpacing({
6+
ruleArguments: [],
7+
});
8+
9+
expect(result).toEqual({
10+
rules: [
11+
{
12+
ruleName: "react/jsx-equals-spacing",
13+
},
14+
],
15+
plugins: ["eslint-plugin-react"],
16+
});
17+
});
18+
19+
test("conversion with 'always' argument", () => {
20+
const alwaysResult = convertJsxEqualsSpacing({
21+
ruleArguments: ["always"],
22+
});
23+
24+
expect(alwaysResult).toEqual({
25+
rules: [
26+
{
27+
ruleArguments: ["always"],
28+
ruleName: "react/jsx-equals-spacing",
29+
},
30+
],
31+
plugins: ["eslint-plugin-react"],
32+
});
33+
});
34+
35+
test("conversion with 'never' argument", () => {
36+
const neverResult = convertJsxEqualsSpacing({
37+
ruleArguments: ["never"],
38+
});
39+
40+
expect(neverResult).toEqual({
41+
rules: [
42+
{
43+
ruleArguments: ["never"],
44+
ruleName: "react/jsx-equals-spacing",
45+
},
46+
],
47+
plugins: ["eslint-plugin-react"],
48+
});
49+
});
50+
});

src/rules/rulesConverters.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ import { convertUsePipeTransformInterface } from "./converters/codelyzer/use-pip
174174

175175
// ESLint-React converters
176176
import { convertJsxBooleanValue } from "./converters/eslint-plugin-react/jsx-boolean-value";
177+
import { convertJsxEqualsSpacing } from "./converters/eslint-plugin-react/jsx-equals-spacing";
177178
import { convertJsxKey } from "./converters/eslint-plugin-react/jsx-key";
178179

179180
/**
@@ -213,6 +214,7 @@ export const rulesConverters = new Map([
213214
["interface-over-type-literal", convertInterfaceOverTypeLiteral],
214215
["jsdoc-format", convertJSDocFormat],
215216
["jsx-boolean-value", convertJsxBooleanValue],
217+
["jsx-equals-spacing", convertJsxEqualsSpacing],
216218
["jsx-key", convertJsxKey],
217219
["label-position", convertLabelPosition],
218220
["linebreak-style", convertLinebreakStyle],

0 commit comments

Comments
 (0)