Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 7293c58

Browse filesBrowse files
BridgeARMylesBorins
authored andcommitted
assert: make skipping indicator blue
If lines gets skipped, they are marked with three dots. This makes sure they are better visualized to distinguish them from everything else. PR-URL: #20315 Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
1 parent f5054d3 commit 7293c58
Copy full SHA for 7293c58

File tree

Expand file treeCollapse file tree

2 files changed

+17
-10
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

2 files changed

+17
-10
lines changed
Open diff view settings
Collapse file

‎lib/internal/errors.js‎

Copy file name to clipboardExpand all lines: lib/internal/errors.js
+12-8Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const kInfo = Symbol('info');
1515
const messages = new Map();
1616
const codes = {};
1717

18+
let blue = '';
1819
let green = '';
1920
let red = '';
2021
let white = '';
@@ -259,7 +260,7 @@ function createErrDiff(actual, expected, operator) {
259260
const expectedLines = inspectValue(expected);
260261
const msg = READABLE_OPERATOR[operator] +
261262
`:\n${green}+ expected${white} ${red}- actual${white}`;
262-
const skippedMsg = ' ... Lines skipped';
263+
const skippedMsg = ` ${blue}...${white} Lines skipped`;
263264

264265
// Remove all ending lines that match (this optimizes the output for
265266
// readability by reducing the number of total changed lines).
@@ -280,7 +281,7 @@ function createErrDiff(actual, expected, operator) {
280281
b = expectedLines[expectedLines.length - 1];
281282
}
282283
if (i > 3) {
283-
end = `\n...${end}`;
284+
end = `\n${blue}...${white}${end}`;
284285
skipped = true;
285286
}
286287
if (other !== '') {
@@ -297,7 +298,7 @@ function createErrDiff(actual, expected, operator) {
297298
if (actualLines.length < i + 1) {
298299
if (cur > 1 && i > 2) {
299300
if (cur > 4) {
300-
res += '\n...';
301+
res += `\n${blue}...${white}`;
301302
skipped = true;
302303
} else if (cur > 3) {
303304
res += `\n ${expectedLines[i - 2]}`;
@@ -313,7 +314,7 @@ function createErrDiff(actual, expected, operator) {
313314
} else if (expectedLines.length < i + 1) {
314315
if (cur > 1 && i > 2) {
315316
if (cur > 4) {
316-
res += '\n...';
317+
res += `\n${blue}...${white}`;
317318
skipped = true;
318319
} else if (cur > 3) {
319320
res += `\n ${actualLines[i - 2]}`;
@@ -329,7 +330,7 @@ function createErrDiff(actual, expected, operator) {
329330
} else if (actualLines[i] !== expectedLines[i]) {
330331
if (cur > 1 && i > 2) {
331332
if (cur > 4) {
332-
res += '\n...';
333+
res += `\n${blue}...${white}`;
333334
skipped = true;
334335
} else if (cur > 3) {
335336
res += `\n ${actualLines[i - 2]}`;
@@ -354,7 +355,8 @@ function createErrDiff(actual, expected, operator) {
354355
}
355356
// Inspected object to big (Show ~20 rows max)
356357
if (printedLines > 20 && i < maxLines - 2) {
357-
return `${msg}${skippedMsg}\n${res}\n...${other}\n...`;
358+
return `${msg}${skippedMsg}\n${res}\n${blue}...${white}${other}\n` +
359+
`${blue}...${white}`;
358360
}
359361
}
360362

@@ -371,7 +373,7 @@ function createErrDiff(actual, expected, operator) {
371373
// Only remove lines in case it makes sense to collapse those.
372374
// TODO: Accept env to always show the full error.
373375
if (actualLines.length > 30) {
374-
actualLines[26] = '...';
376+
actualLines[26] = `${blue}...${white}`;
375377
while (actualLines.length > 27) {
376378
actualLines.pop();
377379
}
@@ -402,10 +404,12 @@ class AssertionError extends Error {
402404
// Reset on each call to make sure we handle dynamically set environment
403405
// variables correct.
404406
if (process.stdout.getColorDepth() !== 1) {
407+
blue = '\u001b[34m';
405408
green = '\u001b[32m';
406409
white = '\u001b[39m';
407410
red = '\u001b[31m';
408411
} else {
412+
blue = '';
409413
green = '';
410414
white = '';
411415
red = '';
@@ -435,7 +439,7 @@ class AssertionError extends Error {
435439
// Only remove lines in case it makes sense to collapse those.
436440
// TODO: Accept env to always show the full error.
437441
if (res.length > 30) {
438-
res[26] = '...';
442+
res[26] = `${blue}...${white}`;
439443
while (res.length > 27) {
440444
res.pop();
441445
}
Collapse file

‎test/pseudo-tty/test-assert-colors.js‎

Copy file name to clipboardExpand all lines: test/pseudo-tty/test-assert-colors.js
+5-2Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,16 @@ const assert = require('assert').strict;
55
try {
66
// Activate colors even if the tty does not support colors.
77
process.env.COLORTERM = '1';
8-
assert.deepStrictEqual([1, 2], [2, 2]);
8+
assert.deepStrictEqual([1, 2, 2, 2], [2, 2, 2, 2]);
99
} catch (err) {
1010
const expected = 'Input A expected to strictly deep-equal input B:\n' +
11-
'\u001b[32m+ expected\u001b[39m \u001b[31m- actual\u001b[39m\n\n' +
11+
'\u001b[32m+ expected\u001b[39m \u001b[31m- actual\u001b[39m' +
12+
' \u001b[34m...\u001b[39m Lines skipped\n\n' +
1213
' [\n' +
1314
'\u001b[31m-\u001b[39m 1,\n' +
1415
'\u001b[32m+\u001b[39m 2,\n' +
16+
' 2,\n' +
17+
'\u001b[34m...\u001b[39m\n' +
1518
' 2\n' +
1619
' ]';
1720
assert.strictEqual(err.message, expected);

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.