8000 Fixes #471 (#473) · js-data/js-data@61fd61f · GitHub
[go: up one dir, main page]

Skip to content

Commit 61fd61f

Browse files
Tronix117jmdobry
authored andcommitted
Fixes #471 (#473)
1 parent ae2a360 commit 61fd61f

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

src/utils.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1504,12 +1504,14 @@ http://www.js-data.io/v3.0/docs/errors#${code}`
15041504
_equal = _equal && utils.deepEqual(value, a[key])
15051505
})
15061506
} else if (utils.isArray(a) && utils.isArray(b)) {
1507-
a.forEach(function (value, i) {
1508-
_equal = _equal && utils.deepEqual(value, b[i])
1509-
if (!_equal) {
1507+
if (a.length !== b.length) {
1508+
return false
1509+
8000 }
1510+
for (let i = a.length; i--;) {
1511+
if (!utils.deepEqual(a[i], b[i])) {
15101512
return false
15111513
}
1512-
})
1514+
}
15131515
} else {
15141516
return false
15151517
}

test/unit/utils/deepEqual.test.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,19 @@ describe('utils.deepEqual', function () {
88

99
it('does deep equal comparison', function () {
1010
const objA = { name: 'John', age: 90 }
11+
const arrA = ['a', 'b', 'c']
12+
const arrB = ['a', 'b', 'c', 'd', 'e']
13+
1114
assert.isTrue(utils.deepEqual(2, 2< 8407 /span>), '2 deep equals 2')
1215
assert.isTrue(utils.deepEqual('test', 'test'), '"test" deep equals "test"')
1316
assert.isTrue(utils.deepEqual({}, {}), '{} deep equals {}')
1417
assert.isTrue(utils.deepEqual(objA, objA), objA + ' deep equals ' + objA)
18+
assert.isTrue(utils.deepEqual(arrA, arrA), 'arrA deep equals arrA')
19+
1520
assert.isFalse(utils.deepEqual(1, 2), '1 does not strict equal 2')
1621
assert.isFalse(utils.deepEqual(1, '1'), '1 does not strict equal "1"')
1722
assert.isFalse(utils.deepEqual('foo', 'bar'), '"foo" does not equal "bar')
23+
assert.isFalse(utils.deepEqual(arrA, arrB), 'arrA does not deep equal arrB')
1824
})
1925

2026
it('compares identical objects', function () {

0 commit comments

Comments
 (0)
0