From 5ae260820eea64056ee99c52bab7713c61d0bef7 Mon Sep 17 00:00:00 2001 From: Evan Seguin Date: Fri, 8 May 2015 09:28:58 -0700 Subject: [PATCH] adding tests and fixing a bug where an error would be thrown when comparing an object and null --- specs/Utils-spec.jsx | 12 ++++++++++++ src/utils.js | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/specs/Utils-spec.jsx b/specs/Utils-spec.jsx index 8829524..c8dbe7c 100644 --- a/specs/Utils-spec.jsx +++ b/specs/Utils-spec.jsx @@ -11,9 +11,21 @@ describe('Utils', function() { var objD = [{ foo: ['bar'] }]; + var objE, objF; + var objG = null; + var objH = null; + expect(utils.isSame(objA, objB)).toBe(true); expect(utils.isSame(objC, objD)).toBe(true); expect(utils.isSame(objA, objD)).toBe(false); + + expect(utils.isSame(objE, objF)).toBe(true); + expect(utils.isSame(objA, objF)).toBe(false); + expect(utils.isSame(objE, objA)).toBe(false); + + expect(utils.isSame(objG, objH)).toBe(true); + expect(utils.isSame(objA, objH)).toBe(false); + expect(utils.isSame(objG, objA)).toBe(false); }); diff --git a/src/utils.js b/src/utils.js index dd17503..c034989 100644 --- a/src/utils.js +++ b/src/utils.js @@ -31,7 +31,7 @@ module.exports = { return false; } else if (Array.isArray(a)) { return !this.arraysDiffer(a, b); - } else if (typeof a === 'object' && a !== null) { + } else if (typeof a === 'object' && a !== null && b !== null) { return !this.objectsDiffer(a, b); }