From 2e58d40c7d58643dec457a3fb652a800bfbd5a0b Mon Sep 17 00:00:00 2001 From: Melvin Philips Date: Wed, 4 Oct 2017 23:43:49 -0700 Subject: [PATCH] Add check against a plain object --- index.js | 2 +- test.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index ada04dd..c8c310e 100644 --- a/index.js +++ b/index.js @@ -161,6 +161,6 @@ is.inRange = (x, range) => { throw new TypeError(`Invalid range: ${util.inspect(range)}`); }; -is.domElement = x => is.object(x) && x.nodeType === 1; +is.domElement = x => is.object(x) && x.nodeType === 1 && is.string(x.nodeName) && !is.plainObject(x); module.exports = is; diff --git a/test.js b/test.js index 27aeda0..2fa891d 100644 --- a/test.js +++ b/test.js @@ -362,6 +362,7 @@ test('is.inRange', t => { test('is.domElement', t => { const document = jsdom(); + t.true(m.domElement(document.createElement('div'))); t.false(m.domElement('hello world')); t.false(m.domElement([])); @@ -371,5 +372,5 @@ test('is.domElement', t => { t.false(m.domElement(0)); t.false(m.domElement(NaN)); t.false(m.domElement(Infinity)); - t.false(m.domElement({})); + t.false(m.domElement({nodeType: 1, nodeName: 'div'})); });