forked from typescript-eslint/typescript-eslint
/
no-unnecessary-boolean-literal-compare.test.ts
106 lines (103 loc) · 2.08 KB
/
no-unnecessary-boolean-literal-compare.test.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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
import rule from '../../src/rules/no-unnecessary-boolean-literal-compare';
import { RuleTester, getFixturesRootDir } from '../RuleTester';
const rootDir = getFixturesRootDir();
const ruleTester = new RuleTester({
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: 2015,
tsconfigRootDir: rootDir,
project: './tsconfig.json',
},
});
ruleTester.run('boolean-literal-compare', rule, {
valid: [
`
declare const varAny: any;
varAny === true;
`,
`
declare const varAny: any;
varAny == false;
`,
`
declare const varString: string;
varString === false;
`,
`
declare const varString: string;
varString === true;
`,
`
declare const varObject: {};
varObject === true;
`,
`
declare const varObject: {};
varObject == false;
`,
`
declare const varBooleanOrString: boolean | undefined;
varBooleanOrString === false;
`,
`
declare const varBooleanOrString: boolean | undefined;
varBooleanOrString == true;
`,
`
declare const varBooleanOrUndefined: boolean | undefined;
varBooleanOrUndefined === true;
`,
`'false' === true;`,
`'true' === false;`,
],
invalid: [
{
code: `true === true`,
errors: [
{
messageId: 'direct',
},
],
output: `true`,
},
{
code: `false !== true`,
errors: [
{
messageId: 'negated',
},
],
output: `!false`,
},
{
code: `
declare const varBoolean: boolean;
if (varBoolean !== false) { }
`,
errors: [
{
messageId: 'negated',
},
],
output: `
declare const varBoolean: boolean;
if (varBoolean) { }
`,
},
{
code: `
declare const varTrue: true;
if (varTrue !== true) { }
`,
errors: [
{
messageId: 'negated',
},
],
output: `
declare const varTrue: true;
if (!varTrue) { }
`,
},
],
});