mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-22 07:18:12 +08:00
WIP ESLint rule to require 'data-*' attribute based selectors
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
const { RuleTester } = require("eslint");
|
||||
const myRule = require("./require-data-selectors");
|
||||
|
||||
const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 2015 } });
|
||||
|
||||
ruleTester.run(
|
||||
"require-data-selectors",
|
||||
myRule,
|
||||
{
|
||||
valid: [
|
||||
{ code: `document.querySelector("[data-foo]")` },
|
||||
{ code: `document.querySelector("[data-foo] [data-bar]")` },
|
||||
{ code: `document.querySelector("[data-foo] > [data-bar]")` },
|
||||
{ code: `document.querySelector("[data-foo]>[data-bar]")` },
|
||||
{ code: `document.querySelector("[data-foo] ~ [data-bar]")` },
|
||||
{ code: `document.querySelector("[data-foo]~[data-bar]")` },
|
||||
{ code: `document.querySelector("[data-foo] + [data-bar]")` },
|
||||
{ code: `document.querySelector("[data-foo]+[data-bar]")` },
|
||||
{ code: `document.querySelector(" [data-foo][data-bar] ")` },
|
||||
],
|
||||
invalid: [
|
||||
{ code: `document.querySelector(".foo")`, errors: 1 },
|
||||
{ code: `document.querySelector("div")`, errors: 1 },
|
||||
{ code: `document.querySelector("div.foo")`, errors: 1 },
|
||||
{ code: `document.querySelector("#foo")`, errors: 1 },
|
||||
{ code: `document.querySelector("div#foo")`, errors: 1 },
|
||||
{ code: `document.querySelector("div#foo.bar")`, errors: 1 },
|
||||
{ code: `document.querySelector("foo[data-bar]")`, errors: 1 },
|
||||
{ code: `document.querySelector("[foo][data-bar]")`, errors: 1 },
|
||||
{ code: `document.querySelector("[title]")`, errors: 1 },
|
||||
{ code: `document.querySelector("foo[title]")`, errors: 1 },
|
||||
],
|
||||
}
|
||||
);
|
||||
|
||||
console.log("All tests passed!");
|
||||
Reference in New Issue
Block a user