UNPKG

817 BJavaScriptView Raw
1var assert = require('assert');
2
3var expected;
4
5// hook into Node.js output
6var stdoutWrite = process.stdout.write;
7process.stdout.write = function writeHook(actual) {
8 try {
9 assert.equal(actual.trimRight(), expected);
10 } catch (e) {
11 // restore proper output so that we don't go into
12 // endless recursion on stack trace print
13 process.stdout.write = stdoutWrite;
14 throw e;
15 }
16 stdoutWrite.call(this, 'Passed: ' + actual);
17};
18
19var betterLog = require('./');
20
21function test(input, output) {
22 expected = output;
23 betterLog.apply(console, input);
24}
25
26test(['x', 1, { a: 2 }], 'x \u001b[33m1\u001b[39m { a: \u001b[33m2\u001b[39m }');
27test(['%d + %j = %s', 1, 2, 3], '\u001b[33m1\u001b[39m + \u001b[33m2\u001b[39m = 3');
28test(['%d'], '%d');
29test(['%d', 'x'], '\u001b[33mNaN\u001b[39m');