1 | var assert = require('assert');
|
2 |
|
3 | var expected;
|
4 |
|
5 |
|
6 | var stdoutWrite = process.stdout.write;
|
7 | process.stdout.write = function writeHook(actual) {
|
8 | try {
|
9 | assert.equal(actual.trimRight(), expected);
|
10 | } catch (e) {
|
11 |
|
12 |
|
13 | process.stdout.write = stdoutWrite;
|
14 | throw e;
|
15 | }
|
16 | stdoutWrite.call(this, 'Passed: ' + actual);
|
17 | };
|
18 |
|
19 | var betterLog = require('./');
|
20 |
|
21 | function test(input, output) {
|
22 | expected = output;
|
23 | betterLog.apply(console, input);
|
24 | }
|
25 |
|
26 | test(['x', 1, { a: 2 }], 'x \u001b[33m1\u001b[39m { a: \u001b[33m2\u001b[39m }');
|
27 | test(['%d + %j = %s', 1, 2, 3], '\u001b[33m1\u001b[39m + \u001b[33m2\u001b[39m = 3');
|
28 | test(['%d'], '%d');
|
29 | test(['%d', 'x'], '\u001b[33mNaN\u001b[39m');
|