From d150c79bf9a43a1dee55f43caf2ff9df3b180bdf Mon Sep 17 00:00:00 2001 From: 3rd-Eden Date: Thu, 29 May 2014 12:11:33 +0200 Subject: [PATCH] [minor] Adding minimal test case --- test.js | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 test.js diff --git a/test.js b/test.js new file mode 100644 index 0000000..bec5707 --- /dev/null +++ b/test.js @@ -0,0 +1,80 @@ +describe('diagnostics', function () { + 'use strict'; + + var assume = require('assume') + , debug = require('./'); + + beforeEach(function () { + process.env.DEBUG = ''; + }); + + it('is exposed as function', function () { + assume(debug).to.be.a('function'); + }); + + describe('.enabled', function () { + it('uses the `debug` env', function () { + process.env.DEBUG = 'bigpipe'; + + assume(debug.enabled('bigpipe')).to.be.true(); + assume(debug.enabled('false')).to.be.false(); + }); + + it('uses the `diagnostics` env', function () { + process.env.DIAGNOSTICS = 'bigpipe'; + + assume(debug.enabled('bigpipe')).to.be.true(); + assume(debug.enabled('false')).to.be.false(); + }); + + it('supports wildcards', function () { + process.env.DEBUG = 'b*'; + + assume(debug.enabled('bigpipe')).to.be.true(); + assume(debug.enabled('bro-fist')).to.be.true(); + assume(debug.enabled('ro-fist')).to.be.false(); + }); + + it('is disabled by default', function () { + process.env.DEBUG = ''; + + assume(debug.enabled('bigpipe')).to.be.false(); + + process.env.DEBUG = 'bigpipe'; + + assume(debug.enabled('bigpipe')).to.be.true(); + }); + + it('can ignore loggers using a -', function () { + process.env.DEBUG = 'bigpipe,-primus,sack'; + + assume(debug.enabled('bigpipe')).to.be.true(); + assume(debug.enabled('sack')).to.be.true(); + assume(debug.enabled('primus')).to.be.false(); + assume(debug.enabled('unknown')).to.be.false(); + }); + }); + + describe('.resolve', function () { + it('automatically finds a suitable name', function () { + assume(debug.resolve(module)).to.not.equal(''); + }); + }); + + describe('.to', function (next) { + it('globally overrides the stream', function () { + 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'); + }); + }); +});