From 0c25dd44b32f243e14d30b3668391e2322e33b8c Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sat, 18 Aug 2012 21:41:29 -0700 Subject: [PATCH] Ensure `_.isElement` uses strict equality in its duck type check. Former-commit-id: 6348026ebdc219ef1df9926aca1d8df66e472de9 --- lodash.js | 2 +- test/test.js | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/lodash.js b/lodash.js index a453812ee..a06b6af0f 100644 --- a/lodash.js +++ b/lodash.js @@ -1281,7 +1281,7 @@ * // => true */ function isElement(value) { - return value ? value.nodeType == 1 : false; + return value ? value.nodeType === 1 : false; } /** diff --git a/test/test.js b/test/test.js index 9798b2bf2..7f156a0f3 100644 --- a/test/test.js +++ b/test/test.js @@ -699,6 +699,23 @@ /*--------------------------------------------------------------------------*/ + QUnit.module('lodash.isElement'); + + (function() { + test('should use strict equality in its duck type check', function() { + var element = window.document ? document.body : { 'nodeType': 1 }; + equal(_.isElement(element), true); + + equal(_.isElement({ 'nodeType': new Number(1) }), false); + equal(_.isElement({ 'nodeType': true }), false); + equal(_.isElement({ 'nodeType': [1] }), false); + equal(_.isElement({ 'nodeType': '1' }), false); + equal(_.isElement({ 'nodeType': '001' }), false); + }); + }()); + + /*--------------------------------------------------------------------------*/ + QUnit.module('lodash.isEmpty'); (function() {