assert: deepEqual inconsistencies
- Version: 8.1.0 - 8.x.x
- Subsystem: assert
Seems like #13318 introduced a regression where deep equal objects are now failing.
Two small test cases:
// First
// (This worked with 8.0.0 and before)
const a = {}
const b = {}
a.a = a
b.a = {}
b.a.a = a
assert.deepEqual(b, a) // ok
assert.deepEqual(a, b) // fails
// Second
// (This lead to a RangeError before the mentioned PR)
const a = new Set()
const b = new Set()
const c = new Set()
a.add(a)
b.add(b)
c.add(a)
assert.deepEqual(c, b) // ok
assert.deepEqual(b, c) // fails
I am not sure if I find the time to look into it in the next few days, so I opened the issue about it.