@@ -19,8 +19,7 @@ require('babel-eslint');
19
19
// ------------------------------------------------------------------------------
20
20
21
21
const ruleTester = new RuleTester ( ) ;
22
- ruleTester . run ( 'no-unused-styles' , rule , {
23
-
22
+ const tests = {
24
23
valid : [ {
25
24
code : [
26
25
'const styles = StyleSheet.create({' ,
@@ -32,11 +31,6 @@ ruleTester.run('no-unused-styles', rule, {
32
31
' }' ,
33
32
'});' ,
34
33
] . join ( '\n' ) ,
35
- parser : 'babel-eslint' ,
36
- ecmaFeatures : {
37
- classes : true ,
38
- jsx : true ,
39
- } ,
40
34
} , {
41
35
code : [
42
36
'const Hello = React.createClass({' ,
@@ -48,11 +42,6 @@ ruleTester.run('no-unused-styles', rule, {
48
42
' name: {}' ,
49
43
'});' ,
50
44
] . join ( '\n' ) ,
51
- parser : 'babel-eslint' ,
52
- ecmaFeatures : {
53
- classes : true ,
54
- jsx : true ,
55
- } ,
56
45
} , {
57
46
code : [
58
47
'const styles = StyleSheet.create({' ,
@@ -64,11 +53,6 @@ ruleTester.run('no-unused-styles', rule, {
64
53
' }' ,
65
54
'});' ,
66
55
] . join ( '\n' ) ,
67
- parser : 'babel-eslint' ,
68
- ecmaFeatures : {
69
- classes : true ,
70
- jsx : true ,
71
- } ,
72
56
} , {
73
57
code : [
74
58
'const styles = StyleSheet.create({' ,
@@ -86,11 +70,6 @@ ruleTester.run('no-unused-styles', rule, {
86
70
' }' ,
87
71
'});' ,
88
72
] . join ( '\n' ) ,
89
- parser : 'babel-eslint' ,
90
- ecmaFeatures : {
91
- classes : true ,
92
- jsx : true ,
93
- } ,
94
73
} , {
95
74
code : [
96
75
'const styles = StyleSheet.create({' ,
@@ -105,11 +84,6 @@ ruleTester.run('no-unused-styles', rule, {
105
84
' }' ,
106
85
'});' ,
107
86
] . join ( '\n' ) ,
108
- parser : 'babel-eslint' ,
109
- ecmaFeatures : {
110
- classes : true ,
111
- jsx : true ,
112
- } ,
113
87
} , {
114
88
code : [
115
89
'const styles = StyleSheet.create({' ,
@@ -131,11 +105,6 @@ ruleTester.run('no-unused-styles', rule, {
131
105
' }' ,
132
106
'});' ,
133
107
] . join ( '\n' ) ,
134
- parser : 'babel-eslint' ,
135
- ecmaFeatures : {
136
- classes : true ,
137
- jsx : true ,
138
- } ,
139
108
} , {
140
109
code : [
141
110
'const styles = StyleSheet.create({' ,
@@ -158,11 +127,6 @@ ruleTester.run('no-unused-styles', rule, {
158
127
' }' ,
159
128
'});' ,
160
129
] . join ( '\n' ) ,
161
- parser : 'babel-eslint' ,
162
- ecmaFeatures : {
163
- classes : true ,
164
- jsx : true ,
165
- } ,
166
130
} , {
167
131
code : [
168
132
'const styles = StyleSheet.create({' ,
@@ -182,11 +146,6 @@ ruleTester.run('no-unused-styles', rule, {
182
146
' }' ,
183
147
'});' ,
184
148
] . join ( '\n' ) ,
185
- parser : 'babel-eslint' ,
186
- ecmaFeatures : {
187
- classes : true ,
188
- jsx : true ,
189
- } ,
190
149
} , {
191
150
code : [
192
151
'const styles = StyleSheet.create({' ,
@@ -206,22 +165,12 @@ ruleTester.run('no-unused-styles', rule, {
206
165
' }' ,
207
166
'}' ,
208
167
] . join ( '\n' ) ,
209
- parser : 'babel-eslint' ,
210
- ecmaFeatures : {
211
- classes : true ,
212
- jsx : true ,
213
- } ,
214
168
} , {
215
169
code : [
216
170
'const styles = StyleSheet.create({' ,
217
171
' text: {}' ,
218
172
'})' ,
219
173
] . join ( '\n' ) ,
220
- parser : 'babel-eslint' ,
221
- ecmaFeatures : {
222
- classes : true ,
223
- jsx : true ,
224
- } ,
225
174
} , {
226
175
code : [
227
176
'const Hello = React.createClass({' ,
@@ -242,11 +191,6 @@ ruleTester.run('no-unused-styles', rule, {
242
191
' text2: {},' ,
243
192
'});' ,
244
193
] . join ( '\n' ) ,
245
- parser : 'babel-eslint' ,
246
- ecmaFeatures : {
247
- classes : true ,
248
- jsx : true ,
249
- } ,
250
194
} , {
251
195
code : [
252
196
'const additionalStyles = {};' ,
@@ -260,12 +204,6 @@ ruleTester.run('no-unused-styles', rule, {
260
204
' }' ,
261
205
'});' ,
262
206
] . join ( '\n' ) ,
263
- parser : 'babel-eslint' ,
264
- ecmaFeatures : {
265
- classes : true ,
266
- jsx : true ,
267
- spread : true ,
268
- } ,
269
207
} ] ,
270
208
271
209
invalid : [ {
@@ -279,13 +217,23 @@ ruleTester.run('no-unused-styles', rule, {
279
217
' }' ,
280
218
'});' ,
281
219
] . join ( '\n' ) ,
282
- parser : 'babel-eslint' ,
283
- ecmaFeatures : {
284
- classes : true ,
285
- jsx : true ,
286
- } ,
287
220
errors : [ {
288
221
message : 'Unused style detected: styles.text' ,
289
222
} ] ,
290
223
} ] ,
291
- } ) ;
224
+ } ;
225
+
226
+ const config = {
227
+ parser : 'babel-eslint' ,
228
+ parserOptions : {
229
+ ecmaFeatures : {
230
+ classes : true ,
231
+ jsx : true ,
232
+ } ,
233
+ } ,
234
+ } ;
235
+
236
+ tests . valid . forEach ( t => Object . assign ( t , config ) ) ;
237
+ tests . invalid . forEach ( t => Object . assign ( t , config ) ) ;
238
+
239
+ ruleTester . run ( 'split-platform-components' , rule , tests ) ;
0 commit comments