@@ -17,7 +17,7 @@ const parserOptions = {
17
17
}
18
18
} ;
19
19
20
- const ruleTester = new RuleTester ( { parserOptions} ) ;
20
+ const ruleTester = new RuleTester ( { parserOptions } ) ;
21
21
ruleTester . run ( 'destructuring-assignment' , rule , {
22
22
valid : [ {
23
23
code : `const MyComponent = ({ id, className }) => (
@@ -163,7 +163,7 @@ ruleTester.run('destructuring-assignment', rule, {
163
163
bar = this.props.bar
164
164
}
165
165
` ,
166
- options : [ 'always' , { ignoreClassFields : true } ] ,
166
+ options : [ 'always' , { ignoreClassFields : true } ] ,
167
167
parser : parsers . BABEL_ESLINT
168
168
} , {
169
169
code : [
@@ -174,7 +174,7 @@ ruleTester.run('destructuring-assignment', rule, {
174
174
' }' ,
175
175
'}'
176
176
] . join ( '\n' ) ,
177
- options : [ 'always' , { ignoreClassFields : true } ] ,
177
+ options : [ 'always' , { ignoreClassFields : true } ] ,
178
178
parser : parsers . BABEL_ESLINT
179
179
} , {
180
180
code : `const MyComponent = (props) => {
@@ -189,21 +189,28 @@ ruleTester.run('destructuring-assignment', rule, {
189
189
};` ,
190
190
options : [ 'never' ]
191
191
} ] ,
192
-
193
192
invalid : [ {
194
193
code : `const MyComponent = (props) => {
195
194
return (<div id={props.id} />)
196
195
};` ,
197
196
errors : [
198
- { message : 'Must use destructuring props assignment' }
197
+ { message : 'Must use destructuring props assignment' }
199
198
]
200
199
} , {
201
200
code : `const MyComponent = ({ id, className }) => (
202
201
<div id={id} className={className} />
203
202
);` ,
204
203
options : [ 'never' ] ,
205
204
errors : [
206
- { message : 'Must never use destructuring props assignment in SFC argument' }
205
+ { message : 'Must never use destructuring props assignment in SFC argument' }
206
+ ]
207
+ } , {
208
+ code : `const MyComponent = (props, { color }) => (
209
+ <div id={props.id} className={props.className} />
210
+ );` ,
211
+ options : [ 'never' ] ,
212
+ errors : [
213
+ { message : 'Must never use destructuring context assignment in SFC argument' }
207
214
]
208
215
} , {
209
216
code : `const Foo = class extends React.PureComponent {
@@ -212,7 +219,7 @@ ruleTester.run('destructuring-assignment', rule, {
212
219
}
213
220
};` ,
214
221
errors : [
215
- { message : 'Must use destructuring props assignment' }
222
+ { message : 'Must use destructuring props assignment' }
216
223
]
217
224
} , {
218
225
code : `const Foo = class extends React.PureComponent {
@@ -221,7 +228,7 @@ ruleTester.run('destructuring-assignment', rule, {
221
228
}
222
229
};` ,
223
230
errors : [
224
- { message : 'Must use destructuring state assignment' }
231
+ { message : 'Must use destructuring state assignment' }
225
232
]
226
233
} , {
227
234
code : `const Foo = class extends React.PureComponent {
@@ -230,7 +237,7 @@ ruleTester.run('destructuring-assignment', rule, {
230
237
}
231
238
};` ,
232
239
errors : [
233
- { message : 'Must use destructuring context assignment' }
240
+ { message : 'Must use destructuring context assignment' }
234
241
]
235
242
} , {
236
243
code : `class Foo extends React.Component {
@@ -240,7 +247,7 @@ ruleTester.run('destructuring-assignment', rule, {
240
247
}
241
248
}` ,
242
249
errors : [
243
- { message : 'Must use destructuring props assignment' }
250
+ { message : 'Must use destructuring props assignment' }
244
251
]
245
252
} , {
246
253
code : `var Hello = React.createClass({
@@ -249,7 +256,7 @@ ruleTester.run('destructuring-assignment', rule, {
249
256
}
250
257
});` ,
251
258
errors : [
252
- { message : 'Must use destructuring props assignment' }
259
+ { message : 'Must use destructuring props assignment' }
253
260
]
254
261
} , {
255
262
code : `
@@ -259,21 +266,21 @@ ruleTester.run('destructuring-assignment', rule, {
259
266
}
260
267
}
261
268
` ,
262
- errors : [ { message : 'Must use destructuring props assignment' } ]
269
+ errors : [ { message : 'Must use destructuring props assignment' } ]
263
270
} , {
264
271
code : `
265
272
export default function Foo(props) {
266
273
return <p>{props.a}</p>;
267
274
}
268
275
` ,
269
- errors : [ { message : 'Must use destructuring props assignment' } ]
276
+ errors : [ { message : 'Must use destructuring props assignment' } ]
270
277
} , {
271
278
code : `
272
279
function hof() {
273
280
return (props) => <p>{props.a}</p>;
274
281
}
275
282
` ,
276
- errors : [ { message : 'Must use destructuring props assignment' } ]
283
+ errors : [ { message : 'Must use destructuring props assignment' } ]
277
284
} , {
278
285
code : `const Foo = class extends React.PureComponent {
279
286
render() {
@@ -282,7 +289,7 @@ ruleTester.run('destructuring-assignment', rule, {
282
289
}
283
290
};` ,
284
291
errors : [
285
- { message : 'Must use destructuring props assignment' }
292
+ { message : 'Must use destructuring props assignment' }
286
293
]
287
294
} , {
288
295
code : `const Foo = class extends React.PureComponent {
@@ -294,7 +301,7 @@ ruleTester.run('destructuring-assignment', rule, {
294
301
options : [ 'never' ] ,
295
302
parser : parsers . BABEL_ESLINT ,
296
303
errors : [
297
- { message : 'Must never use destructuring props assignment' }
304
+ { message : 'Must never use destructuring props assignment' }
298
305
]
299
306
} , {
300
307
code : `const MyComponent = (props) => {
@@ -304,7 +311,7 @@ ruleTester.run('destructuring-assignment', rule, {
304
311
options : [ 'never' ] ,
305
312
parser : parsers . BABEL_ESLINT ,
306
313
errors : [
307
- { message : 'Must never use destructuring props assignment' }
314
+ { message : 'Must never use destructuring props assignment' }
308
315
]
309
316
} , {
310
317
code : `const Foo = class extends React.PureComponent {
@@ -316,7 +323,25 @@ ruleTester.run('destructuring-assignment', rule, {
316
323
options : [ 'never' ] ,
317
324
parser : parsers . BABEL_ESLINT ,
318
325
errors : [
319
- { message : 'Must never use destructuring state assignment' }
326
+ { message : 'Must never use destructuring state assignment' }
327
+ ]
328
+ } , {
329
+ code : `const MyComponent = (props) => {
330
+ const foo = useContext(aContext);
331
+ return <div>{foo.test}</div>
332
+ };` ,
333
+ options : [ 'always' ] ,
334
+ errors : [
335
+ { message : 'Must use destructuring foo assignment' }
336
+ ]
337
+ } , {
338
+ code : `const MyComponent = (props) => {
339
+ const {foo} = useContext(aContext);
340
+ return <div>{foo}</div>
341
+ };` ,
342
+ options : [ 'never' ] ,
343
+ errors : [
344
+ { message : 'Must never use destructuring useContext assignment' }
320
345
]
321
346
} , {
322
347
code : `const MyComponent = (props) => {
@@ -325,7 +350,7 @@ ruleTester.run('destructuring-assignment', rule, {
325
350
};` ,
326
351
options : [ 'always' ] ,
327
352
errors : [
328
- { message : 'Must use destructuring foo assignment' }
353
+ { message : 'Must use destructuring foo assignment' }
329
354
]
330
355
} , {
331
356
code : `const MyComponent = (props) => {
@@ -334,7 +359,7 @@ ruleTester.run('destructuring-assignment', rule, {
334
359
};` ,
335
360
options : [ 'never' ] ,
336
361
errors : [
337
- { message : 'Must never use destructuring useContext assignment' }
362
+ { message : 'Must never use destructuring useContext assignment' }
338
363
]
339
364
} ]
340
365
} ) ;
0 commit comments