diff --git a/lib/rules/void-dom-elements-no-children.js b/lib/rules/void-dom-elements-no-children.js index e2783b712d..fcc1c3f61b 100644 --- a/lib/rules/void-dom-elements-no-children.js +++ b/lib/rules/void-dom-elements-no-children.js @@ -110,7 +110,7 @@ module.exports = { return; } - if (args.length < 2) { + if (args.length < 2 || args[1].type !== 'ObjectExpression') { return; } diff --git a/tests/lib/rules/void-dom-elements-no-children.js b/tests/lib/rules/void-dom-elements-no-children.js index 5ed098c307..d3d0b23e84 100644 --- a/tests/lib/rules/void-dom-elements-no-children.js +++ b/tests/lib/rules/void-dom-elements-no-children.js @@ -53,33 +53,35 @@ ruleTester.run('void-dom-elements-no-children', rule, { code: 'document.createElement("img")' }, { code: 'React.createElement("img");' + }, { + code: [ + 'const props = {}', + 'React.createElement("img", props)' + ].join('\n') }, { code: [ 'import React from "react";', 'const { createElement } = React;', 'createElement("div")' - ].join('\n'), - parser: 'babel-eslint' + ].join('\n') }, { code: [ 'import React from "react";', 'const { createElement } = React;', 'createElement("img")' - ].join('\n'), - parser: 'babel-eslint' + ].join('\n') }, { code: [ 'import React, {createElement, PureComponent} from \'react\';', 'class Button extends PureComponent {', - ' handleClick = ev => {', + ' handleClick(ev) {', ' ev.preventDefault();', ' }', ' render() {', ' return
Hello
;', ' }', '}' - ].join('\n'), - parser: 'babel-eslint' + ].join('\n') } ], invalid: [