Skip to content

Commit 6408975

Browse files
ralfstxConnum
andauthored
Fix keys retrieval in objectsEqual function (#665)
* Fix keys retrieval in objectsEqual function * added a test case that was actually failing before the fix --------- Co-authored-by: Constantin Groß <[email protected]>
1 parent fda7e3b commit 6408975

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

src/util.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ function arraysEqual(ar1, ar2) {
3333
function objectsEqual(obj1, obj2) {
3434
const val1 = Object.values(obj1);
3535
const val2 = Object.values(obj2);
36-
const keys1 = Object.values(obj1);
37-
const keys2 = Object.values(obj2);
36+
const keys1 = Object.keys(obj1);
37+
const keys2 = Object.keys(obj2);
3838

3939
return arraysEqual(val1, val2) && arraysEqual(keys1, keys2);
4040
}

test/util.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import assert from 'assert';
2+
import { objectsEqual } from '../src/util.js';
3+
4+
describe('util.js', function() {
5+
describe('objectsEqual', function() {
6+
it('should return true for equal objects', function() {
7+
assert.equal(objectsEqual({}, {}), true);
8+
assert.equal(objectsEqual({ foo: 23 }, { foo: 23 }), true);
9+
});
10+
11+
it('should return false for unequal objects', function() {
12+
assert.equal(objectsEqual({}, { foo: 23 }), false);
13+
assert.equal(objectsEqual({ foo: 23 }, { bar: 23 }), false);
14+
assert.equal(objectsEqual({ foo: 23 }, { bar: 42 }), false);
15+
assert.equal(objectsEqual({ foo: 23, bar: 42 }, { foo: 23 }), false);
16+
});
17+
});
18+
});

0 commit comments

Comments
 (0)