@@ -10,14 +10,12 @@ const RuleTester = require('eslint').RuleTester;
10
10
const parserOptions = {
11
11
ecmaVersion : 6 ,
12
12
ecmaFeatures : {
13
- jsx : true
13
+ jsx : true ,
14
+ experimentalObjectRestSpread : true
14
15
}
15
16
} ;
16
17
17
- const eslintTester = new RuleTester ( {
18
- parserOptions : parserOptions ,
19
- parser : 'babel-eslint'
20
- } ) ;
18
+ const eslintTester = new RuleTester ( { parserOptions} ) ;
21
19
22
20
function getErrorMessages ( unusedFields ) {
23
21
return unusedFields . map ( function ( field ) {
@@ -98,12 +96,15 @@ eslintTester.run('no-unused-state', rule, {
98
96
return <SomeComponent foo={this.state.foo} />;
99
97
}
100
98
}` ,
101
- `class ClassPropertyStateTest extends React.Component {
102
- state = { foo: 0 };
103
- render() {
104
- return <SomeComponent foo={this.state.foo} />;
105
- }
106
- }` ,
99
+ {
100
+ code : `class ClassPropertyStateTest extends React.Component {
101
+ state = { foo: 0 };
102
+ render() {
103
+ return <SomeComponent foo={this.state.foo} />;
104
+ }
105
+ }` ,
106
+ parser : 'babel-eslint'
107
+ } ,
107
108
`class VariableDeclarationTest extends React.Component {
108
109
constructor() {
109
110
this.state = { foo: 0 };
@@ -180,13 +181,16 @@ eslintTester.run('no-unused-state', rule, {
180
181
return <SomeComponent foo={foo} bar={others.bar} />;
181
182
}
182
183
}` ,
183
- `class DeepDestructuringTest extends React.Component {
184
+ {
185
+ code : `class DeepDestructuringTest extends React.Component {
184
186
state = { foo: 0, bar: 0 };
185
187
render() {
186
188
const {state: {foo, ...others}} = this;
187
189
return <SomeComponent foo={foo} bar={others.bar} />;
188
190
}
189
191
}` ,
192
+ parser : 'babel-eslint'
193
+ } ,
190
194
// A cleverer analysis might recognize that the following should be errors,
191
195
// but they're out of scope for this lint rule.
192
196
`class MethodArgFalseNegativeTest extends React.Component {
@@ -257,14 +261,17 @@ eslintTester.run('no-unused-state', rule, {
257
261
return <SomeComponent foo={foo} />;
258
262
}
259
263
}` ,
260
- `class TypeCastExpressionSpreadFalseNegativeTest extends React.Component {
264
+ {
265
+ code : `class TypeCastExpressionSpreadFalseNegativeTest extends React.Component {
261
266
constructor() {
262
267
this.state = { foo: 0 };
263
268
}
264
269
render() {
265
270
return <SomeComponent {...(this.state: any)} />;
266
271
}
267
- }`
272
+ }` ,
273
+ parser : 'babel-eslint'
274
+ }
268
275
] ,
269
276
270
277
invalid : [
@@ -330,7 +337,8 @@ eslintTester.run('no-unused-state', rule, {
330
337
return <SomeComponent />;
331
338
}
332
339
}` ,
333
- errors : getErrorMessages ( [ 'foo' ] )
340
+ errors : getErrorMessages ( [ 'foo' ] ) ,
341
+ parser : 'babel-eslint'
334
342
} ,
335
343
{
336
344
code : `class UnusedStateWhenPropsAreSpreadTest extends React.Component {
@@ -422,7 +430,8 @@ eslintTester.run('no-unused-state', rule, {
422
430
return <SomeComponent foo={foo} bar={bar} baz={baz} />;
423
431
}
424
432
}` ,
425
- errors : getErrorMessages ( [ 'qux' ] )
433
+ errors : getErrorMessages ( [ 'qux' ] ) ,
434
+ parser : 'babel-eslint'
426
435
} ,
427
436
{
428
437
code : `class UnusedDeepDestructuringTest extends React.Component {
@@ -432,7 +441,8 @@ eslintTester.run('no-unused-state', rule, {
432
441
return <SomeComponent foo={foo} />;
433
442
}
434
443
}` ,
435
- errors : getErrorMessages ( [ 'bar' ] )
444
+ errors : getErrorMessages ( [ 'bar' ] ) ,
445
+ parser : 'babel-eslint'
436
446
}
437
447
]
438
448
} ) ;
0 commit comments