@@ -17,12 +17,21 @@ ruleTester.run('prefer-t-regex', rule, {
17
17
valid : [
18
18
header + 'test(t => t.regex("foo", /\\d+/));' ,
19
19
header + 'test(t => t.regex(foo(), /\\d+/));' ,
20
- header + 'test(t => t.is(/\\d+/.test("foo")), true);' ,
20
+ header + 'test(t => t.is(/\\d+/.test("foo"), foo));' ,
21
+ header + 'test(t => t.is(RegExp("\\d+").test("foo"), foo));' ,
22
+ header + 'test(t => t.is(RegExp(/\\d+/).test("foo"), foo));' ,
23
+ header + 'test(t => t.is(/\\d+/, /\\w+/));' ,
24
+ header + 'test(t => t.is(123, /\\d+/));' ,
21
25
header + 'test(t => t.true(1 === 1));' ,
22
26
header + 'test(t => t.true(foo.bar()));' ,
27
+ header + 'test(t => t.is(foo, true));' ,
23
28
header + 'const a = /\\d+/;\ntest(t => t.truthy(a));' ,
24
29
header + 'const a = "not a regexp";\ntest(t => t.true(a.test("foo")));' ,
25
30
header + 'test("main", t => t.true(foo()));' ,
31
+ header + 'test(t => t.regex(foo, new RegExp("\\d+")));' ,
32
+ header + 'test(t => t.regex(foo, RegExp("\\d+")));' ,
33
+ header + 'test(t => t.regex(foo, new RegExp(/\\d+/)));' ,
34
+ header + 'test(t => t.regex(foo, RegExp(/\\d+/)));' ,
26
35
// Shouldn't be triggered since it's not a test file
27
36
'test(t => t.true(/\\d+/.test("foo")));'
28
37
] ,
@@ -57,10 +66,112 @@ ruleTester.run('prefer-t-regex', rule, {
57
66
output : header + 'test(t => t.regex(foo(), /\\d+/));' ,
58
67
errors : errors ( 'regex' )
59
68
} ,
69
+ {
70
+ code : header + 'test(t => t.is(/\\d+/.test(foo), true));' ,
71
+ output : header + 'test(t => t.regex(foo, /\\d+/));' ,
72
+ errors : errors ( 'regex' )
73
+ } ,
74
+ {
75
+ code : header + 'test(t => t.is(/\\d+/.test(foo), false));' ,
76
+ output : header + 'test(t => t.notRegex(foo, /\\d+/));' ,
77
+ errors : errors ( 'notRegex' )
78
+ } ,
60
79
{
61
80
code : header + 'const reg = /\\d+/;\ntest(t => t.true(reg.test(foo.bar())));' ,
62
81
output : header + 'const reg = /\\d+/;\ntest(t => t.regex(foo.bar(), reg));' ,
63
82
errors : errors ( 'regex' )
83
+ } ,
84
+ // The same as the above tests but with `RegExp()` object instead of a regex literal
85
+ {
86
+ code : header + 'test(t => t.true(new RegExp("\\d+").test("foo")));' ,
87
+ output : header + 'test(t => t.regex("foo", new RegExp("\\d+")));' ,
88
+ errors : errors ( 'regex' )
89
+ } ,
90
+ {
91
+ code : header + 'test(t => t.false(foo.search(new RegExp("\\d+"))));' ,
92
+ output : header + 'test(t => t.notRegex(foo, new RegExp("\\d+")));' ,
93
+ errors : errors ( 'notRegex' )
94
+ } ,
95
+ {
96
+ code : header + 'const regexp = RegExp("\\d+");\ntest(t => t.true(foo.search(regexp)));' ,
97
+ output : header + 'const regexp = RegExp("\\d+");\ntest(t => t.regex(foo, regexp));' ,
98
+ errors : errors ( 'regex' )
99
+ } ,
100
+ {
101
+ code : header + 'test(t => t.truthy(foo.match(new RegExp("\\d+"))));' ,
102
+ output : header + 'test(t => t.regex(foo, new RegExp("\\d+")));' ,
103
+ errors : errors ( 'regex' )
104
+ } ,
105
+ {
106
+ code : header + 'test(t => t.false(RegExp("\\d+").test("foo")));' ,
107
+ output : header + 'test(t => t.notRegex("foo", RegExp("\\d+")));' ,
108
+ errors : errors ( 'notRegex' )
109
+ } ,
110
+ {
111
+ code : header + 'test(t => t.true(new RegExp("\\d+").test(foo())));' ,
112
+ output : header + 'test(t => t.regex(foo(), new RegExp("\\d+")));' ,
113
+ errors : errors ( 'regex' )
114
+ } ,
115
+ {
116
+ code : header + 'test(t => t.is(new RegExp("\\d+").test(foo), true));' ,
117
+ output : header + 'test(t => t.regex(foo, new RegExp("\\d+")));' ,
118
+ errors : errors ( 'regex' )
119
+ } ,
120
+ {
121
+ code : header + 'test(t => t.is(new RegExp("\\d+").test(foo), false));' ,
122
+ output : header + 'test(t => t.notRegex(foo, new RegExp("\\d+")));' ,
123
+ errors : errors ( 'notRegex' )
124
+ } ,
125
+ {
126
+ code : header + 'const reg = RegExp("\\d+");\ntest(t => t.true(reg.test(foo.bar())));' ,
127
+ output : header + 'const reg = RegExp("\\d+");\ntest(t => t.regex(foo.bar(), reg));' ,
128
+ errors : errors ( 'regex' )
129
+ } ,
130
+ // The same as the above tests but with regex literal instead of string regex
131
+ {
132
+ code : header + 'test(t => t.true(new RegExp(/\\d+/).test("foo")));' ,
133
+ output : header + 'test(t => t.regex("foo", new RegExp(/\\d+/)));' ,
134
+ errors : errors ( 'regex' )
135
+ } ,
136
+ {
137
+ code : header + 'test(t => t.false(foo.search(new RegExp(/\\d+/))));' ,
138
+ output : header + 'test(t => t.notRegex(foo, new RegExp(/\\d+/)));' ,
139
+ errors : errors ( 'notRegex' )
140
+ } ,
141
+ {
142
+ code : header + 'const regexp = RegExp(/\\d+/);\ntest(t => t.true(foo.search(regexp)));' ,
143
+ output : header + 'const regexp = RegExp(/\\d+/);\ntest(t => t.regex(foo, regexp));' ,
144
+ errors : errors ( 'regex' )
145
+ } ,
146
+ {
147
+ code : header + 'test(t => t.truthy(foo.match(new RegExp(/\\d+/))));' ,
148
+ output : header + 'test(t => t.regex(foo, new RegExp(/\\d+/)));' ,
149
+ errors : errors ( 'regex' )
150
+ } ,
151
+ {
152
+ code : header + 'test(t => t.false(RegExp(/\\d+/).test("foo")));' ,
153
+ output : header + 'test(t => t.notRegex("foo", RegExp(/\\d+/)));' ,
154
+ errors : errors ( 'notRegex' )
155
+ } ,
156
+ {
157
+ code : header + 'test(t => t.true(new RegExp(/\\d+/).test(foo())));' ,
158
+ output : header + 'test(t => t.regex(foo(), new RegExp(/\\d+/)));' ,
159
+ errors : errors ( 'regex' )
160
+ } ,
161
+ {
162
+ code : header + 'test(t => t.is(new RegExp(/\\d+/).test(foo), true));' ,
163
+ output : header + 'test(t => t.regex(foo, new RegExp(/\\d+/)));' ,
164
+ errors : errors ( 'regex' )
165
+ } ,
166
+ {
167
+ code : header + 'test(t => t.is(new RegExp(/\\d+/).test(foo), false));' ,
168
+ output : header + 'test(t => t.notRegex(foo, new RegExp(/\\d+/)));' ,
169
+ errors : errors ( 'notRegex' )
170
+ } ,
171
+ {
172
+ code : header + 'const reg = RegExp(/\\d+/);\ntest(t => t.true(reg.test(foo.bar())));' ,
173
+ output : header + 'const reg = RegExp(/\\d+/);\ntest(t => t.regex(foo.bar(), reg));' ,
174
+ errors : errors ( 'regex' )
64
175
}
65
176
]
66
177
} ) ;
0 commit comments