@@ -154,7 +154,7 @@ ruleTester.run('prefer-stateless-function', rule, {
154
154
] . join ( '\n' ) ,
155
155
parser : 'babel-eslint'
156
156
} , {
157
- // Can return null (ES6)
157
+ // Can return null (ES6, React 0.14.0 )
158
158
code : [
159
159
'class Foo extends React.Component {' ,
160
160
' render() {' ,
@@ -165,9 +165,14 @@ ruleTester.run('prefer-stateless-function', rule, {
165
165
' }' ,
166
166
'}'
167
167
] . join ( '\n' ) ,
168
- parser : 'babel-eslint'
168
+ parser : 'babel-eslint' ,
169
+ settings : {
170
+ react : {
171
+ version : '0.14.0'
172
+ }
173
+ }
169
174
} , {
170
- // Can return null (ES5)
175
+ // Can return null (ES5, React 0.14.0 )
171
176
code : [
172
177
'var Foo = React.createClass({' ,
173
178
' render: function() {' ,
@@ -178,17 +183,27 @@ ruleTester.run('prefer-stateless-function', rule, {
178
183
' }' ,
179
184
'});'
180
185
] . join ( '\n' ) ,
181
- parserOptions : parserOptions
186
+ parserOptions : parserOptions ,
187
+ settings : {
188
+ react : {
189
+ version : '0.14.0'
190
+ }
191
+ }
182
192
} , {
183
- // Can return null (shorthand if in return)
193
+ // Can return null (shorthand if in return, React 0.14.0 )
184
194
code : [
185
195
'class Foo extends React.Component {' ,
186
196
' render() {' ,
187
197
' return true ? <div /> : null;' ,
188
198
' }' ,
189
199
'}'
190
200
] . join ( '\n' ) ,
191
- parser : 'babel-eslint'
201
+ parser : 'babel-eslint' ,
202
+ settings : {
203
+ react : {
204
+ version : '0.14.0'
205
+ }
206
+ }
192
207
} , {
193
208
code : [
194
209
'export default (Component) => (' ,
@@ -341,6 +356,51 @@ ruleTester.run('prefer-stateless-function', rule, {
341
356
errors : [ {
342
357
message : 'Component should be written as a pure function'
343
358
} ]
359
+ } , {
360
+ // Can return null (ES6)
361
+ code : [
362
+ 'class Foo extends React.Component {' ,
363
+ ' render() {' ,
364
+ ' if (!this.props.foo) {' ,
365
+ ' return null;' ,
366
+ ' }' ,
367
+ ' return <div>{this.props.foo}</div>;' ,
368
+ ' }' ,
369
+ '}'
370
+ ] . join ( '\n' ) ,
371
+ parser : 'babel-eslint' ,
372
+ errors : [ {
373
+ message : 'Component should be written as a pure function'
374
+ } ]
375
+ } , {
376
+ // Can return null (ES5)
377
+ code : [
378
+ 'var Foo = React.createClass({' ,
379
+ ' render: function() {' ,
380
+ ' if (!this.props.foo) {' ,
381
+ ' return null;' ,
382
+ ' }' ,
383
+ ' return <div>{this.props.foo}</div>;' ,
384
+ ' }' ,
385
+ '});'
386
+ ] . join ( '\n' ) ,
387
+ parserOptions : parserOptions ,
388
+ errors : [ {
389
+ message : 'Component should be written as a pure function'
390
+ } ]
391
+ } , {
392
+ // Can return null (shorthand if in return)
393
+ code : [
394
+ 'class Foo extends React.Component {' ,
395
+ ' render() {' ,
396
+ ' return true ? <div /> : null;' ,
397
+ ' }' ,
398
+ '}'
399
+ ] . join ( '\n' ) ,
400
+ parser : 'babel-eslint' ,
401
+ errors : [ {
402
+ message : 'Component should be written as a pure function'
403
+ } ]
344
404
}
345
405
]
346
406
} ) ;
0 commit comments