Skip to content

Commit f227eb4

Browse files
randycoulmanyannickcr
authored andcommitted
Fix no-children-prop spread support
1 parent 2adefb7 commit f227eb4

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

lib/rules/no-children-prop.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ module.exports = {
5454

5555
var props = node.arguments[1].properties;
5656
var childrenProp = props.find(function(prop) {
57-
return prop.key.name === 'children';
57+
return prop.key && prop.key.name === 'children';
5858
});
5959

6060
if (childrenProp) {

tests/lib/rules/no-children-prop.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ var RuleTester = require('eslint').RuleTester;
1515
var 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

Comments
 (0)