From 385afe20a8cd129dead40fdb32d11e3f26befacf Mon Sep 17 00:00:00 2001 From: Olivier Tassinari Date: Mon, 15 May 2017 23:29:06 +0200 Subject: [PATCH 1/2] test: add a failing test --- tests/lib/rules/void-dom-elements-no-children.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/lib/rules/void-dom-elements-no-children.js b/tests/lib/rules/void-dom-elements-no-children.js index 5ed098c307..c44c787f8a 100644 --- a/tests/lib/rules/void-dom-elements-no-children.js +++ b/tests/lib/rules/void-dom-elements-no-children.js @@ -53,6 +53,11 @@ 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";', From 03a806699291ff762ffad98c5d19fba8fec3c62a Mon Sep 17 00:00:00 2001 From: Olivier Tassinari Date: Mon, 15 May 2017 23:31:33 +0200 Subject: [PATCH 2/2] fix: fix the previous failing test --- lib/rules/void-dom-elements-no-children.js | 2 +- tests/lib/rules/void-dom-elements-no-children.js | 11 ++++------- 2 files changed, 5 insertions(+), 8 deletions(-) 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 c44c787f8a..d3d0b23e84 100644 --- a/tests/lib/rules/void-dom-elements-no-children.js +++ b/tests/lib/rules/void-dom-elements-no-children.js @@ -63,28 +63,25 @@ ruleTester.run('void-dom-elements-no-children', rule, { '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: [