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'})); });