UNPKG

color-wrap

Version:

Extends a logger or console to have a simplified dsl for console/logger std out.

63 lines (53 loc) 1.52 kB
"use strict" require('chai').should() const colorWrap = require('../index.js'), styles = require('colors/lib/styles'), util = require('util') const each = (obj, cb) => { var key for (key in obj) { cb(obj[key], key) } } var consoleOutStr = '', logDeep = false const logFns = ['info', 'warn', 'error', 'log'] logFns.forEach((fnName) => { var origFn = console[fnName] console[fnName] = function() { origFn.apply(null, arguments) logDeep = arguments[1] || false consoleOutStr += arguments[0] } }) describe("color-wrap", () => { var logObjs = { console: console } each(logObjs, (logObj, logObjName) => { describe(logObjName, () => { beforeEach(() => { consoleOutStr = '' logDeep = false colorWrap(logObj) }) logFns.forEach((logFnName) => { describe(logFnName, () => { each(styles, (color, colorName) => { describe(colorName, () => { it(colorName, () => { logObj[logFnName][colorName]("test!") consoleOutStr.should.be.eql(styles[colorName].open + "test!" + styles[colorName].close) }) it(colorName + ' deep', () => { var thing = {id:1, haha: 'lol'} logObj[logFnName][colorName](thing, true) consoleOutStr.should.be.eql(styles[colorName].open + util.format(thing, true) + styles[colorName].close) }) }) }) }) }) }) }) })