diff --git a/lib/internal/assert/assertion_error.js b/lib/internal/assert/assertion_error.js index ee376899d04d35..de3a9eb32b8808 100644 --- a/lib/internal/assert/assertion_error.js +++ b/lib/internal/assert/assertion_error.js @@ -134,7 +134,14 @@ function getStackedDiff(actual, expected) { } function getSimpleDiff(originalActual, actual, originalExpected, expected) { - const stringsLen = actual.length + expected.length; + let stringsLen = actual.length + expected.length; + // Accounting for the quotes wrapping strings + if (typeof actual === 'string') { + stringsLen -= 2; + } + if (typeof expected === 'string') { + stringsLen -= 2; + } if (stringsLen <= kMaxShortStringLength && (originalActual !== 0 || originalExpected !== 0)) { return { message: `${actual} !== ${expected}`, header: '' }; } diff --git a/test/parallel/test-assert-deep.js b/test/parallel/test-assert-deep.js index aeacd21a21f029..93cc248160e6a1 100644 --- a/test/parallel/test-assert-deep.js +++ b/test/parallel/test-assert-deep.js @@ -846,6 +846,26 @@ test('Additional tests', () => { } ); + assert.throws( + () => assert.strictEqual('apple', 'pear'), + { + name: 'AssertionError', + message: 'Expected values to be strictly equal:\n\n\'apple\' !== \'pear\'\n' + } + ); + + assert.throws( + () => assert.strictEqual('ABABABABABAB', 'BABABABABABA'), + { + name: 'AssertionError', + message: 'Expected values to be strictly equal:\n' + + '+ actual - expected\n' + + '\n' + + "+ 'ABABABABABAB'\n" + + "- 'BABABABABABA'\n" + } + ); + assert.notDeepStrictEqual(new Date(), new Date(2000, 3, 14)); assert.throws(