@@ -15,6 +15,7 @@ var RuleTester = require('eslint').RuleTester;
1515var parserOptions = {
1616 ecmaVersion : 6 ,
1717 ecmaFeatures : {
18+ experimentalObjectRestSpread : true ,
1819 jsx : true
1920 }
2021} ;
@@ -170,6 +171,14 @@ ruleTester.run('no-children-prop', rule, {
170171 {
171172 code : 'React.createElement(MyComponent, {className: "class-name"}, "Children");' ,
172173 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
173182 }
174183 ] ,
175184 invalid : [
@@ -232,6 +241,16 @@ ruleTester.run('no-children-prop', rule, {
232241 code : 'React.createElement(MyComponent, {children: "Children", className: "class-name"});' ,
233242 errors : [ { message : CREATE_ELEMENT_ERROR } ] ,
234243 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
235254 }
236255 ]
237256} ) ;
0 commit comments