@@ -10,14 +10,12 @@ const RuleTester = require('eslint').RuleTester;
1010const parserOptions = {
1111 ecmaVersion : 6 ,
1212 ecmaFeatures : {
13- jsx : true
13+ jsx : true ,
14+ experimentalObjectRestSpread : true
1415 }
1516} ;
1617
17- const eslintTester = new RuleTester ( {
18- parserOptions : parserOptions ,
19- parser : 'babel-eslint'
20- } ) ;
18+ const eslintTester = new RuleTester ( { parserOptions} ) ;
2119
2220function getErrorMessages ( unusedFields ) {
2321 return unusedFields . map ( function ( field ) {
@@ -98,12 +96,15 @@ eslintTester.run('no-unused-state', rule, {
9896 return <SomeComponent foo={this.state.foo} />;
9997 }
10098 }` ,
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+ } ,
107108 `class VariableDeclarationTest extends React.Component {
108109 constructor() {
109110 this.state = { foo: 0 };
@@ -180,13 +181,16 @@ eslintTester.run('no-unused-state', rule, {
180181 return <SomeComponent foo={foo} bar={others.bar} />;
181182 }
182183 }` ,
183- `class DeepDestructuringTest extends React.Component {
184+ {
185+ code : `class DeepDestructuringTest extends React.Component {
184186 state = { foo: 0, bar: 0 };
185187 render() {
186188 const {state: {foo, ...others}} = this;
187189 return <SomeComponent foo={foo} bar={others.bar} />;
188190 }
189191 }` ,
192+ parser : 'babel-eslint'
193+ } ,
190194 // A cleverer analysis might recognize that the following should be errors,
191195 // but they're out of scope for this lint rule.
192196 `class MethodArgFalseNegativeTest extends React.Component {
@@ -195,7 +199,7 @@ eslintTester.run('no-unused-state', rule, {
195199 }
196200 consumeFoo(foo) {}
197201 render() {
198- this.consumeFoo(this.state.foo);
202+ this.consumeFoo(this.state.foo)
199203 return <SomeComponent />;
200204 }
201205 }` ,
@@ -257,14 +261,17 @@ eslintTester.run('no-unused-state', rule, {
257261 return <SomeComponent foo={foo} />;
258262 }
259263 }` ,
260- `class TypeCastExpressionSpreadFalseNegativeTest extends React.Component {
264+ {
265+ code : `class TypeCastExpressionSpreadFalseNegativeTest extends React.Component {
261266 constructor() {
262267 this.state = { foo: 0 };
263268 }
264269 render() {
265270 return <SomeComponent {...(this.state: any)} />;
266271 }
267- }`
272+ }` ,
273+ parser : 'babel-eslint'
274+ }
268275 ] ,
269276
270277 invalid : [
@@ -330,7 +337,8 @@ eslintTester.run('no-unused-state', rule, {
330337 return <SomeComponent />;
331338 }
332339 }` ,
333- errors : getErrorMessages ( [ 'foo' ] )
340+ errors : getErrorMessages ( [ 'foo' ] ) ,
341+ parser : 'babel-eslint'
334342 } ,
335343 {
336344 code : `class UnusedStateWhenPropsAreSpreadTest extends React.Component {
@@ -422,7 +430,8 @@ eslintTester.run('no-unused-state', rule, {
422430 return <SomeComponent foo={foo} bar={bar} baz={baz} />;
423431 }
424432 }` ,
425- errors : getErrorMessages ( [ 'qux' ] )
433+ errors : getErrorMessages ( [ 'qux' ] ) ,
434+ parser : 'babel-eslint'
426435 } ,
427436 {
428437 code : `class UnusedDeepDestructuringTest extends React.Component {
@@ -432,7 +441,8 @@ eslintTester.run('no-unused-state', rule, {
432441 return <SomeComponent foo={foo} />;
433442 }
434443 }` ,
435- errors : getErrorMessages ( [ 'bar' ] )
444+ errors : getErrorMessages ( [ 'bar' ] ) ,
445+ parser : 'babel-eslint'
436446 }
437447 ]
438448} ) ;
0 commit comments