From 02545a8a98eefd6d9867ec7bd0c006c1ee8cbe2b Mon Sep 17 00:00:00 2001 From: Pierre-Yves Gerardy Date: Sun, 1 Jan 2017 15:08:46 +0100 Subject: [PATCH] [ospec] Fix array deepEquals corner cases --- ospec/ospec.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ospec/ospec.js b/ospec/ospec.js index 24495b87..9db636b4 100644 --- a/ospec/ospec.js +++ b/ospec/ospec.js @@ -145,9 +145,8 @@ module.exports = new function init() { if (a.length === b.length && (a instanceof Array && b instanceof Array || aIsArgs && bIsArgs)) { var aKeys = Object.getOwnPropertyNames(a), bKeys = Object.getOwnPropertyNames(b) if (aKeys.length !== bKeys.length) return false - var larger = aKeys.length < bKeys.length ? bKeys : aKeys - for (var i = 0; i < larger.length; i++) { - if (!deepEqual(a[larger[i]], b[larger[i]])) return false + for (var i = 0; i < aKeys.length; i++) { + if (!b.hasOwnProperty(aKeys[i]) || !deepEqual(a[aKeys[i]], b[aKeys[i]])) return false } return true }