var Log = require('../../src/lib/log'); var ConsoleLogger = require('../../src/lib/loggers/console'); var sinon = require('sinon'); var parentLog; beforeEach(function () { parentLog = new Log(); }); afterEach(function () { parentLog.close(); }); function makeLogger(parent, levels) { parent = parent || parentLog; var config = { levels: Log.parseLevels(levels || 'trace') }; return new ConsoleLogger(parent, config); } var stub = require('./auto_release_stub').make(); describe('Console Logger', function () { require('./generic_logger_tests')(makeLogger); it('checks before using unique logging functions, falls back to #log()', function () { var _warning = console.warn; console.warn = null; stub(console, 'log'); var logger = makeLogger(); logger.onWarning('message'); console.log.callCount.should.eql(1); console.warn = _warning; }); });