Skip to content

Commit 3d53a18

Browse files
committed
fix: component selector name
Throw more explicit error saying that a dash is required. Fix #192
1 parent 36f5cb4 commit 3d53a18

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

src/selectorNameBase.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,6 @@ export abstract class SelectorRule extends Lint.Rules.AbstractRule {
6363
this));
6464
}
6565

66-
public getFailureString(failureConfig): string {
67-
return sprintf(failureConfig.fail, failureConfig.className, this.getOptions().ruleArguments, failureConfig.selector);
68-
}
69-
7066
public abstract getTypeFailure(): any;
7167
public abstract getNameFailure(): any;
7268
protected abstract getSinglePrefixFailure(): any;
@@ -81,7 +77,7 @@ export abstract class SelectorRule extends Lint.Rules.AbstractRule {
8177
}
8278

8379
private setMultiPrefix(prefix:string) {
84-
this.isMultiPrefix = typeof prefix==='string';
80+
this.isMultiPrefix = typeof prefix ==='string';
8581
}
8682

8783
private setPrefixArguments(prefix:any) {
@@ -153,7 +149,11 @@ export class SelectorValidatorWalker extends Lint.RuleWalker {
153149
let error = sprintf(this.rule.getTypeFailure(), className,this.rule.getOptions().ruleArguments[0]);
154150
this.addFailure(this.createFailure(i.getStart(), i.getWidth(),error));
155151
} else if (!validateSelectors(this.rule.validateName.bind(this.rule))) {
156-
let error = sprintf(this.rule.getNameFailure(),className,this.rule.getOptions().ruleArguments[2]);
152+
let name = this.rule.getOptions().ruleArguments[2];
153+
if (name === 'kebab-case') {
154+
name += ' and include dash';
155+
}
156+
let error = sprintf(this.rule.getNameFailure(), className, name);
157157
this.addFailure(this.createFailure(i.getStart(), i.getWidth(), error));
158158
} else if (!validateSelectors(this.rule.validatePrefix.bind(this.rule))) {
159159
let error = sprintf(this.rule.getPrefixFailure(),className,this.rule.prefixArguments);

test/componentSelectorRule.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ describe('component-selector-name', () => {
194194
})
195195
class Test {}`;
196196
assertFailure('component-selector', source, {
197-
message: 'The selector of the component "Test" should be named kebab-case ($$05-02$$)',
197+
message: 'The selector of the component "Test" should be named kebab-case and include dash ($$05-02$$)',
198198
startPosition: {
199199
line: 2,
200200
character: 18
@@ -213,7 +213,7 @@ describe('component-selector-name', () => {
213213
})
214214
class Test {}`;
215215
assertFailure('component-selector', source, {
216-
message: 'The selector of the component "Test" should be named kebab-case ($$05-02$$)',
216+
message: 'The selector of the component "Test" should be named kebab-case and include dash ($$05-02$$)',
217217
startPosition: {
218218
line: 2,
219219
character: 18

0 commit comments

Comments
 (0)