test: improve test coverage for comparisons

PR-URL: https://github.com/nodejs/node/pull/22212
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
Ruben Bridgewater 2018-08-03 20:47:32 +02:00 committed by James M Snell
parent c7ca199c38
commit c3bd65146e

View File

@ -372,6 +372,7 @@ assertOnlyDeepEqual(
new Map([[null, undefined]]),
new Map([[undefined, null]])
);
assertOnlyDeepEqual(
new Set([null, '']),
new Set([undefined, 0])
@ -380,6 +381,10 @@ assertNotDeepOrStrict(
new Set(['']),
new Set(['0'])
);
assertOnlyDeepEqual(
new Map([[1, {}]]),
new Map([[true, {}]])
);
// GH-6416. Make sure circular refs don't throw.
{
@ -556,13 +561,12 @@ assertOnlyDeepEqual([1, , , 3], [1, , , 3, , , ]);
// Handle different error messages
{
const err1 = new Error('foo1');
const err2 = new Error('foo2');
const err3 = new TypeError('foo1');
assertNotDeepOrStrict(err1, err2, assert.AssertionError);
assertNotDeepOrStrict(err1, err3, assert.AssertionError);
assertNotDeepOrStrict(err1, new Error('foo2'), assert.AssertionError);
assertNotDeepOrStrict(err1, new TypeError('foo1'), assert.AssertionError);
assertDeepAndStrictEqual(err1, new Error('foo1'));
// TODO: evaluate if this should throw or not. The same applies for RegExp
// Date and any object that has the same keys but not the same prototype.
assertOnlyDeepEqual(err1, {}, assert.AssertionError);
assertOnlyDeepEqual(err1, {});
}
// Handle NaN