summaryrefslogtreecommitdiff
path: root/lib/internal/util/comparisons.js
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2018-11-30 10:21:14 +0100
committerRuben Bridgewater <ruben@bridgewater.de>2018-12-03 13:03:44 +0100
commit4dd56a39f1f1c0e98b223b611c3a869775177c68 (patch)
treef40edd317a3885fd079f59ae9ec2d68cb2466725 /lib/internal/util/comparisons.js
parent2eff120f6d4d88c29e692f67e396916ea71418e2 (diff)
downloadandroid-node-v8-4dd56a39f1f1c0e98b223b611c3a869775177c68.tar.gz
android-node-v8-4dd56a39f1f1c0e98b223b611c3a869775177c68.tar.bz2
android-node-v8-4dd56a39f1f1c0e98b223b611c3a869775177c68.zip
assert,util: fix sparse array comparison
Comparing sparse arrays did not work properly. That is fixed and tests were added to verify that everything works as expected. This had an impact on `util.isDeepStrictEqual()` and `assert.deepStrictEqual()` and their counterpart `assert.notDeepStrictEqual()`. PR-URL: https://github.com/nodejs/node/pull/24749 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Diffstat (limited to 'lib/internal/util/comparisons.js')
-rw-r--r--lib/internal/util/comparisons.js3
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/internal/util/comparisons.js b/lib/internal/util/comparisons.js
index 43a8921f65..905946fdee 100644
--- a/lib/internal/util/comparisons.js
+++ b/lib/internal/util/comparisons.js
@@ -558,11 +558,10 @@ function objEquiv(a, b, strict, keys, memos, iterationType) {
} else {
// Array is sparse.
const keysA = objectKeys(a);
- i++;
for (; i < keysA.length; i++) {
const key = keysA[i];
if (!hasOwnProperty(b, key) ||
- !innerDeepEqual(a[key], b[i], strict, memos)) {
+ !innerDeepEqual(a[key], b[key], strict, memos)) {
return false;
}
}