From 5360dd151da9d8b1c97785a0e394cc731af31f69 Mon Sep 17 00:00:00 2001 From: Ruben Bridgewater Date: Mon, 2 Dec 2019 13:12:52 +0100 Subject: assert: handle (deep) equal(NaN, NaN) as being identical This aligns the `equal` and `deepEqual()` implementations with the strict versions by accepting `NaN` as being identical in case both sides are NaN. Refs: https://github.com/nodejs/node/issues/30350#issuecomment-552191641 PR-URL: https://github.com/nodejs/node/pull/30766 Reviewed-By: James M Snell Reviewed-By: Denys Otrishko Reviewed-By: Anna Henningsen Reviewed-By: David Carlier Reviewed-By: Rich Trott --- test/parallel/test-assert-deep.js | 7 +++---- test/parallel/test-assert.js | 6 ++++++ 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'test') diff --git a/test/parallel/test-assert-deep.js b/test/parallel/test-assert-deep.js index 9d30f466f3..f2a8349219 100644 --- a/test/parallel/test-assert-deep.js +++ b/test/parallel/test-assert-deep.js @@ -590,10 +590,9 @@ assertNotDeepOrStrict( } // Handle NaN -assert.notDeepEqual(NaN, NaN); -assert.deepStrictEqual(NaN, NaN); -assert.deepStrictEqual({ a: NaN }, { a: NaN }); -assert.deepStrictEqual([ 1, 2, NaN, 4 ], [ 1, 2, NaN, 4 ]); +assertDeepAndStrictEqual(NaN, NaN); +assertDeepAndStrictEqual({ a: NaN }, { a: NaN }); +assertDeepAndStrictEqual([ 1, 2, NaN, 4 ], [ 1, 2, NaN, 4 ]); // Handle boxed primitives { diff --git a/test/parallel/test-assert.js b/test/parallel/test-assert.js index 48b44ce29b..3db63a816a 100644 --- a/test/parallel/test-assert.js +++ b/test/parallel/test-assert.js @@ -501,6 +501,12 @@ assert.throws( } ); +a.equal(NaN, NaN); +a.throws( + () => a.notEqual(NaN, NaN), + a.AssertionError +); + // Test strict assert. { const a = require('assert'); -- cgit v1.2.3