-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathno-invisible-character.ts
35 lines (33 loc) · 1.12 KB
/
no-invisible-character.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
import { SnapshotRuleTester } from "eslint-snapshot-rule-tester"
import rule from "../../../lib/rules/no-invisible-character"
const tester = new SnapshotRuleTester({
languageOptions: {
ecmaVersion: "latest",
sourceType: "module",
},
})
tester.run("no-invisible-character", rule as any, {
valid: [
"/a/",
"/ /",
"/[a]/",
"/[ ]/",
"/\\t/",
"new RegExp('\\t')",
`
const a = '' + '\t';
new RegExp(a)`,
"new RegExp(' ')",
"new RegExp('a')",
"new RegExp('[ ]')",
String.raw`/[\q{\t}]/v`,
],
invalid: [
"/\u00a0/",
"/[\t]/",
"/[\t\u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\ufeff\u0085\u200b]/",
"/[\\t\u00a0\\u1680\u180e\\u2000\u2001\\u2002\u2003\\u2004\u2005\\u2006\u2007\\u2008\u2009\\u200a\u202f\\u205f\u3000\\ufeff\u0085\\u200b]/",
"new RegExp('\t\u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\ufeff\u0085\u200b')",
`/[\\q{\t}]/v`,
],
})