51 lines
1.1 KiB
JavaScript
51 lines
1.1 KiB
JavaScript
|
describe('diagnostics', function () {
|
||
|
'use strict';
|
||
|
|
||
|
var assume = require('assume')
|
||
|
, debug = require('./');
|
||
|
|
||
|
beforeEach(function () {
|
||
|
process.env.DEBUG = '';
|
||
|
process.env.DIAGNOSTICS = '';
|
||
|
});
|
||
|
|
||
|
it('is exposed as function', function () {
|
||
|
assume(debug).to.be.a('function');
|
||
|
});
|
||
|
|
||
|
it('stringifies objects', function (next) {
|
||
|
process.env.DEBUG = 'test';
|
||
|
|
||
|
debug.to({
|
||
|
write: function write(line) {
|
||
|
assume(line).to.contain('test');
|
||
|
assume(line).to.contain('I will be readable { json: 1 }');
|
||
|
|
||
|
debug.to(process.stdout);
|
||
|
next();
|
||
|
}
|
||
|
});
|
||
|
|
||
|
debug('test')('I will be readable', { json: 1 });
|
||
|
});
|
||
|
|
||
|
describe('.to', function () {
|
||
|
it('globally overrides the stream', function (next) {
|
||
|
process.env.DEBUG = 'foo';
|
||
|
|
||
|
debug.to({
|
||
|
write: function write(line) {
|
||
|
assume(line).to.contain('foo');
|
||
|
assume(line).to.contain('bar');
|
||
|
|
||
|
debug.to(process.stdout);
|
||
|
next();
|
||
|
}
|
||
|
});
|
||
|
|
||
|
var log = debug('foo');
|
||
|
log('bar');
|
||
|
});
|
||
|
});
|
||
|
});
|