@@ -20,24 +20,24 @@ const parserOptions = {
20
20
const ruleTester = new RuleTester ( { parserOptions} ) ;
21
21
ruleTester . run ( 'destructuring-assignment' , rule , {
22
22
valid : [ {
23
- code : `const Foo = class extends React.PureComponent {
24
- render() {
25
- const { foo } = this.props;
26
- return <div>{foo}</div>;
27
- }
28
- };`
29
- } , {
30
23
code : `const Foo = class extends React.PureComponent {
31
24
render() {
32
25
const { foo } = this.props;
33
26
return <div>{foo}</div>;
34
27
}
35
28
};` ,
36
- options : [ { SFC : 'always' , class : 'always' } ]
29
+ options : [ { SFC : 'always' , class : 'always' } ] ,
30
+ parser : 'babel-eslint'
37
31
} , {
38
32
code : `const MyComponent = ({ id, className }) => (
39
33
<div id={id} className={className} />
40
34
);`
35
+ } , {
36
+ code : `const MyComponent = (props) => {
37
+ const { id, className } = props;
38
+ return <div id={id} className={className} />
39
+ };` ,
40
+ parser : 'babel-eslint'
41
41
} , {
42
42
code : `const MyComponent = ({ id, className }) => (
43
43
<div id={id} className={className} />
@@ -72,12 +72,6 @@ ruleTester.run('destructuring-assignment', rule, {
72
72
<div id={id} props={props} color={color} />
73
73
);` ,
74
74
options : [ { SFC : 'always' , class : 'always' } ]
75
- } , {
76
- code : `const MyComponent = (props) => {
77
- const { id, className } = props;
78
- return <div id={id} className={className} />
79
- };` ,
80
- options : [ { SFC : 'never' } ]
81
75
} , {
82
76
code : `const Foo = class extends React.PureComponent {
83
77
render() {
@@ -107,7 +101,8 @@ ruleTester.run('destructuring-assignment', rule, {
107
101
return <div>{foo}</div>;
108
102
}
109
103
};` ,
110
- options : [ { SFC : 'always' , class : 'always' } ]
104
+ options : [ { SFC : 'always' , class : 'always' } ] ,
105
+ parser : 'babel-eslint'
111
106
} , {
112
107
code : `const Foo = class extends React.PureComponent {
113
108
render() {
@@ -122,7 +117,15 @@ ruleTester.run('destructuring-assignment', rule, {
122
117
return <div>{foo}</div>;
123
118
}
124
119
};` ,
125
- options : [ { SFC : 'always' , class : 'always' } ]
120
+ options : [ { SFC : 'always' , class : 'always' } ] ,
121
+ parser : 'babel-eslint'
122
+ } , {
123
+ code : `const MyComponent = (props) => {
124
+ const { h, i } = hi;
125
+ return <div id={props.id} className={props.className} />
126
+ };` ,
127
+ options : [ { SFC : 'never' } ] ,
128
+ parser : 'babel-eslint'
126
129
} ] ,
127
130
invalid : [ {
128
131
code : `const MyComponent = (props) => {
@@ -203,5 +206,39 @@ ruleTester.run('destructuring-assignment', rule, {
203
206
errors : [
204
207
{ message : 'Must use destructuring props assignment' }
205
208
]
209
+ } , {
210
+ code : `const Foo = class extends React.PureComponent {
211
+ render() {
212
+ const { foo } = this.props;
213
+ return <div>{foo}</div>;
214
+ }
215
+ };` ,
216
+ options : [ { SFC : 'always' , class : 'never' } ] ,
217
+ parser : 'babel-eslint' ,
218
+ errors : [
219
+ { message : 'Must never use destructuring props assignment' }
220
+ ]
221
+ } , {
222
+ code : `const MyComponent = (props) => {
223
+ const { id, className } = props;
224
+ return <div id={id} className={className} />
225
+ };` ,
226
+ options : [ { SFC : 'never' } ] ,
227
+ parser : 'babel-eslint' ,
228
+ errors : [
229
+ { message : 'Must never use destructuring props assignment' }
230
+ ]
231
+ } , {
232
+ code : `const Foo = class extends React.PureComponent {
233
+ render() {
234
+ const { foo } = this.state;
235
+ return <div>{foo}</div>;
236
+ }
237
+ };` ,
238
+ options : [ { SFC : 'always' , class : 'never' } ] ,
239
+ parser : 'babel-eslint' ,
240
+ errors : [
241
+ { message : 'Must never use destructuring state assignment' }
242
+ ]
206
243
} ]
207
244
} ) ;
0 commit comments