Skip to content

Commit 4e56340

Browse files
authored
feat: changes to some angular-eslint rules for v12 (#1050)
* feat: changes to some angular-eslint rules for v12 * test: increase coverage to 100%
1 parent 5b4f6dc commit 4e56340

File tree

4 files changed

+68
-14
lines changed

4 files changed

+68
-14
lines changed

src/converters/lintConfigs/rules/ruleConverters/codelyzer/template-accessibility-label-for.ts

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,24 @@ export const convertTemplateAccessibilityLabelFor: RuleConverter = (tslintRule)
77
...(tslintRule.ruleArguments.length !== 0 && {
88
ruleArguments: [
99
{
10-
...(tslintRule.ruleArguments[0]?.controlComponents && { controlComponents: tslintRule.ruleArguments[0]?.controlComponents }),
11-
...(tslintRule.ruleArguments[0]?.labelAttributes && { labelAttributes: tslintRule.ruleArguments[0]?.labelAttributes }),
12-
...(tslintRule.ruleArguments[0]?.labelComponents && { labelComponents: tslintRule.ruleArguments[0]?.labelComponents }),
10+
...(tslintRule.ruleArguments[0]?.controlComponents && {
11+
controlComponents: tslintRule.ruleArguments[0]?.controlComponents,
12+
}),
13+
...(tslintRule.ruleArguments[0]?.labelComponents && {
14+
labelComponents: tslintRule.ruleArguments[0]?.labelComponents.map(
15+
(selector: string) => {
16+
return {
17+
inputs:
18+
tslintRule.ruleArguments[0]?.labelAttributes || [],
19+
selector,
20+
};
21+
},
22+
),
23+
}),
1324
},
1425
],
1526
}),
16-
ruleName: "@angular-eslint/template/accessibility-label-for",
27+
ruleName: "@angular-eslint/template/accessibility-label-has-associated-control",
1728
},
1829
],
1930
plugins: ["@angular-eslint/eslint-plugin-template"],

src/converters/lintConfigs/rules/ruleConverters/codelyzer/template-no-negated-async.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ import { RuleConverter } from "../../ruleConverter";
33
export const convertTemplateNoNegatedAsync: RuleConverter = () => {
44
return {
55
rules: [
6+
{
7+
ruleName: "@angular-eslint/template/eqeqeq",
8+
},
69
{
710
ruleName: "@angular-eslint/template/no-negated-async",
811
},

src/converters/lintConfigs/rules/ruleConverters/codelyzer/tests/template-accessibility-label-for.test.ts

Lines changed: 47 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ describe(convertTemplateAccessibilityLabelFor, () => {
99
expect(result).toEqual({
1010
rules: [
1111
{
12-
ruleName: "@angular-eslint/template/accessibility-label-for",
12+
ruleName: "@angular-eslint/template/accessibility-label-has-associated-control",
1313
},
1414
],
1515
plugins: ["@angular-eslint/eslint-plugin-template"],
@@ -18,11 +18,44 @@ describe(convertTemplateAccessibilityLabelFor, () => {
1818

1919
test("conversion with arguments", () => {
2020
const result = convertTemplateAccessibilityLabelFor({
21-
ruleArguments: [{
22-
controlComponents: ["app-input", "app-select"],
23-
labelAttributes: ["id"],
24-
labelComponents: ["app-label"],
25-
}],
21+
ruleArguments: [
22+
{
23+
controlComponents: ["app-input", "app-select"],
24+
labelAttributes: ["id"],
25+
labelComponents: ["app-label"],
26+
},
27+
],
28+
});
29+
30+
expect(result).toEqual({
31+
rules: [
32+
{
33+
ruleArguments: [
34+
{
35+
controlComponents: ["app-input", "app-select"],
36+
labelComponents: [
37+
{
38+
inputs: ["id"],
39+
selector: "app-label",
40+
},
41+
],
42+
},
43+
],
44+
ruleName: "@angular-eslint/template/accessibility-label-has-associated-control",
45+
},
46+
],
47+
plugins: ["@angular-eslint/eslint-plugin-template"],
48+
});
49+
});
50+
51+
test("conversion with arguments, missing labelAttributes", () => {
52+
const result = convertTemplateAccessibilityLabelFor({
53+
ruleArguments: [
54+
{
55+
controlComponents: ["app-input", "app-select"],
56+
labelComponents: ["app-label"],
57+
},
58+
],
2659
});
2760

2861
expect(result).toEqual({
@@ -31,11 +64,15 @@ describe(convertTemplateAccessibilityLabelFor, () => {
3164
ruleArguments: [
3265
{
3366
controlComponents: ["app-input", "app-select"],
34-
labelAttributes: ["id"],
35-
labelComponents: ["app-label"],
36-
}
67+
labelComponents: [
68+
{
69+
inputs: [],
70+
selector: "app-label",
71+
},
72+
],
73+
},
3774
],
38-
ruleName: "@angular-eslint/template/accessibility-label-for",
75+
ruleName: "@angular-eslint/template/accessibility-label-has-associated-control",
3976
},
4077
],
4178
plugins: ["@angular-eslint/eslint-plugin-template"],

src/converters/lintConfigs/rules/ruleConverters/codelyzer/tests/template-no-negated-async.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ describe(convertTemplateNoNegatedAsync, () => {
88

99
expect(result).toEqual({
1010
rules: [
11+
{
12+
ruleName: "@angular-eslint/template/eqeqeq",
13+
},
1114
{
1215
ruleName: "@angular-eslint/template/no-negated-async",
1316
},

0 commit comments

Comments
 (0)