-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathsimplify-set-operations.ts
52 lines (50 loc) · 1.64 KB
/
simplify-set-operations.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import { SnapshotRuleTester } from "eslint-snapshot-rule-tester"
import rule from "../../../lib/rules/simplify-set-operations"
const tester = new SnapshotRuleTester({
languageOptions: {
ecmaVersion: "latest",
sourceType: "module",
},
})
tester.run("simplify-set-operations", rule as any, {
valid: [
String.raw`/[[abc]]/v`,
String.raw`/[\d]/u`,
String.raw`/[^\d]/v`,
String.raw`/[a--b]/v`,
String.raw`/[a&&b]/v`,
String.raw`/[^ab]/v`,
String.raw`/[^a&&b]/v;`,
String.raw`/[\s\p{ASCII}]/u`,
String.raw`/[^\S\P{ASCII}]/u`,
String.raw`/[^[]]/v`,
String.raw`/[a&&b&&[c]]/v`,
String.raw`/[a--b--[c]]/v`,
],
invalid: [
String.raw`/[a&&[^b]]/v`,
String.raw`/[a&&b&&[^c]]/v`,
String.raw`/[a&&[^b]&&c]/v`,
String.raw`/[a&&b&&[^c]&&d]/v`,
String.raw`/[[^a]&&b&&c]/v`,
String.raw`/[[^b]&&a]/v`,
String.raw`/[[abc]&&[^def]]/v`,
String.raw`/[a--[^b]]/v`,
String.raw`/[a--[^b]--c]/v`,
String.raw`/[a--b--[^c]]/v`,
String.raw`/[[abc]--[^def]]/v`,
String.raw`/[[^a]&&[^b]]/v`,
String.raw`/[^[^a]&&[^b]]/v`,
String.raw`/[[^a]&&[^b]&&\D]/v`,
String.raw`/[^[^a]&&[^b]&&\D]/v`,
String.raw`/[[^a]&&\D&&b]/v`,
String.raw`/[[^abc]&&[^def]&&\D]/v`,
String.raw`/[[^a]&&[b]&&[^c]]/v`,
String.raw`/[[^a][^b]]/v`,
String.raw`/[[^abc][^def]]/v`,
String.raw`/[^[^a][^b]]/v`,
String.raw`/[^\S\P{ASCII}]/v`,
String.raw`/[a&&[^b]&&[^c]&&d]/v`,
String.raw`/[[^bc]&&a&&d]/v`,
],
})