Skip to content

Commit f6885e1

Browse files
puskin94ruyadorno
authored andcommitted
assert: fix the string length check for printing the simple diff
PR-URL: #55474 Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
1 parent 753cbed commit f6885e1

File tree

3 files changed

+31
-16
lines changed

3 files changed

+31
-16
lines changed

lib/internal/assert/assertion_error.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,14 @@ function getStackedDiff(actual, expected) {
146146
}
147147

148148
function getSimpleDiff(originalActual, actual, originalExpected, expected) {
149-
const stringsLen = actual.length + expected.length;
149+
let stringsLen = actual.length + expected.length;
150+
// Accounting for the quotes wrapping strings
151+
if (typeof originalActual === 'string') {
152+
stringsLen -= 2;
153+
}
154+
if (typeof originalExpected === 'string') {
155+
stringsLen -= 2;
156+
}
150157
if (stringsLen <= kMaxShortStringLength && (originalActual !== 0 || originalExpected !== 0)) {
151158
return { message: `${actual} !== ${expected}`, header: '' };
152159
}

test/parallel/test-assert-deep.js

+20
Original file line numberDiff line numberDiff line change
@@ -846,6 +846,26 @@ test('Additional tests', () => {
846846
}
847847
);
848848

849+
assert.throws(
850+
() => assert.strictEqual('apple', 'pear'),
851+
{
852+
name: 'AssertionError',
853+
message: 'Expected values to be strictly equal:\n\n\'apple\' !== \'pear\'\n'
854+
}
855+
);
856+
857+
assert.throws(
858+
() => assert.strictEqual('ABABABABABAB', 'BABABABABABA'),
859+
{
860+
name: 'AssertionError',
861+
message: 'Expected values to be strictly equal:\n' +
862+
'+ actual - expected\n' +
863+
'\n' +
864+
"+ 'ABABABABABAB'\n" +
865+
"- 'BABABABABABA'\n"
866+
}
867+
);
868+
849869
assert.notDeepStrictEqual(new Date(), new Date(2000, 3, 14));
850870

851871
assert.throws(

test/parallel/test-assert.js

+3-15
Original file line numberDiff line numberDiff line change
@@ -919,11 +919,7 @@ test('Additional asserts', () => {
919919
{
920920
code: 'ERR_ASSERTION',
921921
constructor: assert.AssertionError,
922-
message: 'Expected values to be strictly equal:\n' +
923-
'+ actual - expected\n' +
924-
'\n' +
925-
"+ 'string'\n" +
926-
'- false\n'
922+
message: 'Expected values to be strictly equal:\n\n\'string\' !== false\n'
927923
}
928924
);
929925

@@ -935,11 +931,7 @@ test('Additional asserts', () => {
935931
{
936932
code: 'ERR_ASSERTION',
937933
constructor: assert.AssertionError,
938-
message: 'Expected values to be strictly equal:\n' +
939-
'+ actual - expected\n' +
940-
'\n' +
941-
"+ 'string'\n" +
942-
'- false\n'
934+
message: 'Expected values to be strictly equal:\n\n\'string\' !== false\n'
943935
}
944936
);
945937

@@ -951,11 +943,7 @@ test('Additional asserts', () => {
951943
}, {
952944
code: 'ERR_ASSERTION',
953945
constructor: assert.AssertionError,
954-
message: 'Expected values to be strictly equal:\n' +
955-
'+ actual - expected\n' +
956-
'\n' +
957-
"+ 'string'\n" +
958-
'- false\n'
946+
message: 'Expected values to be strictly equal:\n\n\'string\' !== false\n'
959947
}
960948
);
961949
/* eslint-enable @stylistic/js/indent */

0 commit comments

Comments
 (0)