From c03f6a97d3a08a02622726b2e55ac838e4a589e9 Mon Sep 17 00:00:00 2001 From: Ruben Bridgewater Date: Mon, 13 Nov 2017 20:34:16 -0200 Subject: [PATCH 1/2] assert: use Object.is comparison in .strictEqual This aligns assert.strictEqual and assert.notStrictEqual with assert.deepStrictEqual to use the Object.is() comparison instead of strict equality. --- doc/api/assert.md | 29 +++--------------------- lib/assert.js | 11 ++++----- test/addons-napi/test_typedarray/test.js | 2 +- test/message/error_exit.out | 2 +- test/parallel/test-assert.js | 8 +++---- test/parallel/test-readdouble.js | 2 +- test/parallel/test-readfloat.js | 2 +- 7 files changed, 15 insertions(+), 41 deletions(-) diff --git a/doc/api/assert.md b/doc/api/assert.md index 30ff4f78a83880..09373c9f296f0e 100644 --- a/doc/api/assert.md +++ b/doc/api/assert.md @@ -7,6 +7,9 @@ The `assert` module provides a simple set of assertion tests that can be used to test invariants. +For more information about the used equality comparisons see +[MDN's guide on equality comparisons and sameness][mdn-equality-guide]. + ## assert(value[, message]) * `actual` {any} * `expected` {any} * `message` {any} -Tests strict inequality as determined by the [Strict Equality Comparison][] -( `!==` ). +Tests equality determined by the [`Object.is()`][] comparison. ```js const assert = require('assert'); @@ -549,7 +552,7 @@ assert.notStrictEqual(1, 2); // OK assert.notStrictEqual(1, 1); -// AssertionError: 1 !== 1 +// AssertionError: 1 notStrictEqual 1 assert.notStrictEqual(1, '1'); // OK @@ -595,25 +598,28 @@ assert.ok(false, 'it\'s false'); ## assert.strictEqual(actual, expected[, message]) * `actual` {any} * `expected` {any} * `message` {any} -Tests strict equality as determined by the [Strict Equality Comparison][] -( `===` ). +Tests equality determined by the [`Object.is()`][] comparison. ```js const assert = require('assert'); assert.strictEqual(1, 2); -// AssertionError: 1 === 2 +// AssertionError: 1 strictEqual 2 assert.strictEqual(1, 1); // OK assert.strictEqual(1, '1'); -// AssertionError: 1 === '1' +// AssertionError: 1 strictEqual '1' ``` If the values are not strictly equal, an `AssertionError` is thrown with a