diff --git a/README.md b/README.md index efba46c5..a8c68a95 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ This ESLint plugin provides linting rules relate to better ways to help you avoi - Provides linting rules for Scoped CSS. - Supports CSS syntax including level 4 selectors. - Supports `" + + for (const key of Object.keys(plugin.rules)) { + const ruleId = `vue-scoped-css/${key}` + + it(ruleId, () => { + const linter = new Linter() + const config = { + parser: "babel-eslint", + parserOptions: { ecmaVersion: 2015 }, + rules: { + [ruleId]: "error", + }, + } + linter.defineParser("babel-eslint", parser) + linter.defineRule(ruleId, plugin.rules[key] as any) + linter.verifyAndFix(code, config as any, "test.vue") + }) + } +}) diff --git a/tests/lib/rules/no-unused-keyframes.ts b/tests/lib/rules/no-unused-keyframes.ts index f7f09beb..3c9413f7 100644 --- a/tests/lib/rules/no-unused-keyframes.ts +++ b/tests/lib/rules/no-unused-keyframes.ts @@ -52,6 +52,25 @@ tester.run("no-unused-keyframes", rule, { `, ` + + `, + ` + + `, + ` + + + `, + ` + + `, + errors: [ + { + messageId: "unused", + data: { params: "fadein" }, + line: 7, + column: 24, + endLine: 7, + endColumn: 30, + }, + ], + }, ], }) diff --git a/tests/lib/rules/no-unused-selector.ts b/tests/lib/rules/no-unused-selector.ts index fd09af90..76381ee1 100644 --- a/tests/lib/rules/no-unused-selector.ts +++ b/tests/lib/rules/no-unused-selector.ts @@ -16,8 +16,28 @@ tester.run("no-unused-selector", rule, {
+ `, + ` + + + `, + ` + + `, ` @@ -251,6 +271,66 @@ tester.run("no-unused-selector", rule, { }, ], }, + { + code: ` + + + `, + errors: [ + { + messageId: "unused", + data: { selector: ".foo" }, + line: 6, + column: 13, + endLine: 6, + endColumn: 17, + }, + { + messageId: "unused", + data: { selector: "div" }, + line: 7, + column: 13, + endLine: 7, + endColumn: 16, + }, + ], + }, + { + code: ` + + + `, + errors: [ + { + messageId: "unused", + data: { selector: ".foo" }, + line: 6, + column: 13, + endLine: 6, + endColumn: 17, + }, + { + messageId: "unused", + data: { selector: "div" }, + line: 8, + column: 13, + endLine: 8, + endColumn: 16, + }, + ], + }, { code: `