@@ -15,6 +15,7 @@ var RuleTester = require('eslint').RuleTester;
15
15
var parserOptions = {
16
16
ecmaVersion : 6 ,
17
17
ecmaFeatures : {
18
+ experimentalObjectRestSpread : true ,
18
19
jsx : true
19
20
}
20
21
} ;
@@ -170,6 +171,14 @@ ruleTester.run('no-children-prop', rule, {
170
171
{
171
172
code : 'React.createElement(MyComponent, {className: "class-name"}, "Children");' ,
172
173
parserOptions : parserOptions
174
+ } ,
175
+ {
176
+ code : '<MyComponent className="class-name" {...props} />;' ,
177
+ parserOptions : parserOptions
178
+ } ,
179
+ {
180
+ code : 'React.createElement(MyComponent, {className: "class-name", ...props});' ,
181
+ parserOptions : parserOptions
173
182
}
174
183
] ,
175
184
invalid : [
@@ -232,6 +241,16 @@ ruleTester.run('no-children-prop', rule, {
232
241
code : 'React.createElement(MyComponent, {children: "Children", className: "class-name"});' ,
233
242
errors : [ { message : CREATE_ELEMENT_ERROR } ] ,
234
243
parserOptions : parserOptions
244
+ } ,
245
+ {
246
+ code : '<MyComponent {...props} children="Children" />;' ,
247
+ errors : [ { message : JSX_ERROR } ] ,
248
+ parserOptions : parserOptions
249
+ } ,
250
+ {
251
+ code : 'React.createElement(MyComponent, {...props, children: "Children"})' ,
252
+ errors : [ { message : CREATE_ELEMENT_ERROR } ] ,
253
+ parserOptions : parserOptions
235
254
}
236
255
]
237
256
} ) ;
0 commit comments