diff options
author | Ruben Bridgewater <ruben@bridgewater.de> | 2018-04-26 03:24:45 +0200 |
---|---|---|
committer | Ruben Bridgewater <ruben@bridgewater.de> | 2018-04-29 17:05:51 +0200 |
commit | 8a0fb137d887db56337a7206804affcbc8e18304 (patch) | |
tree | d77a8bd80f7191c2832e346158807a5ca0c848c3 /lib | |
parent | f0a6cb0593eae7743edac8e7b3304a09dde2cba6 (diff) | |
download | android-node-v8-8a0fb137d887db56337a7206804affcbc8e18304.tar.gz android-node-v8-8a0fb137d887db56337a7206804affcbc8e18304.tar.bz2 android-node-v8-8a0fb137d887db56337a7206804affcbc8e18304.zip |
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: https://github.com/nodejs/node/pull/20315
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/internal/errors.js | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/internal/errors.js b/lib/internal/errors.js index f7b62c89d9..5299b66c83 100644 --- a/lib/internal/errors.js +++ b/lib/internal/errors.js @@ -15,6 +15,7 @@ const kInfo = Symbol('info'); const messages = new Map(); const codes = {}; +let blue = ''; let green = ''; let red = ''; let white = ''; @@ -259,7 +260,7 @@ function createErrDiff(actual, expected, operator) { const expectedLines = inspectValue(expected); const msg = READABLE_OPERATOR[operator] + `:\n${green}+ expected${white} ${red}- actual${white}`; - const skippedMsg = ' ... Lines skipped'; + const skippedMsg = ` ${blue}...${white} Lines skipped`; // Remove all ending lines that match (this optimizes the output for // readability by reducing the number of total changed lines). @@ -280,7 +281,7 @@ function createErrDiff(actual, expected, operator) { b = expectedLines[expectedLines.length - 1]; } if (i > 3) { - end = `\n...${end}`; + end = `\n${blue}...${white}${end}`; skipped = true; } if (other !== '') { @@ -297,7 +298,7 @@ function createErrDiff(actual, expected, operator) { if (actualLines.length < i + 1) { if (cur > 1 && i > 2) { if (cur > 4) { - res += '\n...'; + res += `\n${blue}...${white}`; skipped = true; } else if (cur > 3) { res += `\n ${expectedLines[i - 2]}`; @@ -313,7 +314,7 @@ function createErrDiff(actual, expected, operator) { } else if (expectedLines.length < i + 1) { if (cur > 1 && i > 2) { if (cur > 4) { - res += '\n...'; + res += `\n${blue}...${white}`; skipped = true; } else if (cur > 3) { res += `\n ${actualLines[i - 2]}`; @@ -329,7 +330,7 @@ function createErrDiff(actual, expected, operator) { } else if (actualLines[i] !== expectedLines[i]) { if (cur > 1 && i > 2) { if (cur > 4) { - res += '\n...'; + res += `\n${blue}...${white}`; skipped = true; } else if (cur > 3) { res += `\n ${actualLines[i - 2]}`; @@ -354,7 +355,8 @@ function createErrDiff(actual, expected, operator) { } // Inspected object to big (Show ~20 rows max) if (printedLines > 20 && i < maxLines - 2) { - return `${msg}${skippedMsg}\n${res}\n...${other}\n...`; + return `${msg}${skippedMsg}\n${res}\n${blue}...${white}${other}\n` + + `${blue}...${white}`; } } @@ -371,7 +373,7 @@ function createErrDiff(actual, expected, operator) { // Only remove lines in case it makes sense to collapse those. // TODO: Accept env to always show the full error. if (actualLines.length > 30) { - actualLines[26] = '...'; + actualLines[26] = `${blue}...${white}`; while (actualLines.length > 27) { actualLines.pop(); } @@ -402,10 +404,12 @@ class AssertionError extends Error { // Reset on each call to make sure we handle dynamically set environment // variables correct. if (process.stdout.getColorDepth() !== 1) { + blue = '\u001b[34m'; green = '\u001b[32m'; white = '\u001b[39m'; red = '\u001b[31m'; } else { + blue = ''; green = ''; white = ''; red = ''; @@ -435,7 +439,7 @@ class AssertionError extends Error { // Only remove lines in case it makes sense to collapse those. // TODO: Accept env to always show the full error. if (res.length > 30) { - res[26] = '...'; + res[26] = `${blue}...${white}`; while (res.length > 27) { res.pop(); } |