From cbe8ae960be34a0788836ad27c7fdf53ca0c4ea6 Mon Sep 17 00:00:00 2001 From: hypnos Date: Mon, 26 Jun 2017 16:28:29 +0300 Subject: [PATCH] Make no-find-dom-node work correctly with named imports --- lib/rules/no-find-dom-node.js | 2 +- tests/lib/rules/no-find-dom-node.js | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/rules/no-find-dom-node.js b/lib/rules/no-find-dom-node.js index 909e0ced88..bc08e2d061 100644 --- a/lib/rules/no-find-dom-node.js +++ b/lib/rules/no-find-dom-node.js @@ -29,7 +29,7 @@ module.exports = { var callee = node.callee; var isfindDOMNode = - (callee.object && callee.object.callee && callee.object.callee.name === 'findDOMNode') || + (callee.name === 'findDOMNode') || (callee.property && callee.property.name === 'findDOMNode') ; diff --git a/tests/lib/rules/no-find-dom-node.js b/tests/lib/rules/no-find-dom-node.js index 463d9c2b33..4c864ba064 100644 --- a/tests/lib/rules/no-find-dom-node.js +++ b/tests/lib/rules/no-find-dom-node.js @@ -106,5 +106,19 @@ ruleTester.run('no-find-dom-node', rule, { errors: [{ message: 'Do not use findDOMNode' }] + }, { + code: [ + 'class Hello extends Component {', + ' componentDidMount() {', + ' this.node = findDOMNode(this);', + ' }', + ' render() {', + ' return
Hello
;', + ' }', + '};' + ].join('\n'), + errors: [{ + message: 'Do not use findDOMNode' + }] }] });