@@ -17,12 +17,21 @@ ruleTester.run('prefer-t-regex', rule, {
1717 valid : [
1818 header + 'test(t => t.regex("foo", /\\d+/));' ,
1919 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+/));' ,
2125 header + 'test(t => t.true(1 === 1));' ,
2226 header + 'test(t => t.true(foo.bar()));' ,
27+ header + 'test(t => t.is(foo, true));' ,
2328 header + 'const a = /\\d+/;\ntest(t => t.truthy(a));' ,
2429 header + 'const a = "not a regexp";\ntest(t => t.true(a.test("foo")));' ,
2530 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+/)));' ,
2635 // Shouldn't be triggered since it's not a test file
2736 'test(t => t.true(/\\d+/.test("foo")));'
2837 ] ,
@@ -57,10 +66,112 @@ ruleTester.run('prefer-t-regex', rule, {
5766 output : header + 'test(t => t.regex(foo(), /\\d+/));' ,
5867 errors : errors ( 'regex' )
5968 } ,
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+ } ,
6079 {
6180 code : header + 'const reg = /\\d+/;\ntest(t => t.true(reg.test(foo.bar())));' ,
6281 output : header + 'const reg = /\\d+/;\ntest(t => t.regex(foo.bar(), reg));' ,
6382 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' )
64175 }
65176 ]
66177} ) ;
0 commit comments