13
13
const kCode = Symbol ( 'code' ) ;
14
14
const messages = new Map ( ) ;
15
15
16
+ var green = '' ;
17
+ var red = '' ;
18
+ var white = '' ;
19
+
16
20
const {
17
21
UV_EAI_MEMORY ,
18
22
UV_EAI_NODATA ,
@@ -90,7 +94,7 @@ function createErrDiff(actual, expected, operator) {
90
94
const expectedLines = util
91
95
. inspect ( expected , { compact : false } ) . split ( '\n' ) ;
92
96
const msg = `Input A expected to ${ operator } input B:\n` +
93
- '\u001b[32m + expected\u001b[39m \u001b[31m - actual\u001b[39m' ;
97
+ ` ${ green } + expected${ white } ${ red } - actual${ white } ` ;
94
98
const skippedMsg = ' ... Lines skipped' ;
95
99
96
100
// Remove all ending lines that match (this optimizes the output for
@@ -136,7 +140,7 @@ function createErrDiff(actual, expected, operator) {
136
140
printedLines ++ ;
137
141
}
138
142
lastPos = i ;
139
- other += `\n\u001b[32m+\u001b[39m ${ expectedLines [ i ] } ` ;
143
+ other += `\n${ green } + ${ white } ${ expectedLines [ i ] } ` ;
140
144
printedLines ++ ;
141
145
// Only extra actual lines exist
142
146
} else if ( expectedLines . length < i + 1 ) {
@@ -152,7 +156,7 @@ function createErrDiff(actual, expected, operator) {
152
156
printedLines ++ ;
153
157
}
154
158
lastPos = i ;
155
- res += `\n\u001b[31m-\u001b[39m ${ actualLines [ i ] } ` ;
159
+ res += `\n${ red } - ${ white } ${ actualLines [ i ] } ` ;
156
160
printedLines ++ ;
157
161
// Lines diverge
158
162
} else if ( actualLines [ i ] !== expectedLines [ i ] ) {
@@ -168,8 +172,8 @@ function createErrDiff(actual, expected, operator) {
168
172
printedLines ++ ;
169
173
}
170
174
lastPos = i ;
171
- res += `\n\u001b[31m-\u001b[39m ${ actualLines [ i ] } ` ;
172
- other += `\n\u001b[32m+\u001b[39m ${ expectedLines [ i ] } ` ;
175
+ res += `\n${ red } - ${ white } ${ actualLines [ i ] } ` ;
176
+ other += `\n${ green } + ${ white } ${ expectedLines [ i ] } ` ;
173
177
printedLines += 2 ;
174
178
// Lines are identical
175
179
} else {
@@ -205,6 +209,13 @@ class AssertionError extends Error {
205
209
if ( message != null ) {
206
210
super ( message ) ;
207
211
} else {
212
+ if ( util_ === null &&
213
+ process . stdout . isTTY &&
214
+ process . stdout . getColorDepth ( ) !== 1 ) {
215
+ green = '\u001b[32m' ;
216
+ white = '\u001b[39m' ;
217
+ red = '\u001b[31m' ;
218
+ }
208
219
const util = lazyUtil ( ) ;
209
220
if ( actual && actual . stack && actual instanceof Error )
210
221
actual = `${ actual . name } : ${ actual . message } ` ;
0 commit comments