@@ -15,6 +15,7 @@ const kInfo = Symbol('info');
1515const messages = new Map();
1616const codes = {};
1717
18+ let blue = '';
1819let green = '';
1920let red = '';
2021let 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 }
0 commit comments