it ('should set MagiConsole.pattern to a regular expression object', function () { var patternString = 'foo|bar'; var expectedToString = '/foo|bar/'; MagiConsole.setPattern(patternString); expect(MagiConsole.pattern).to.be.instanceOf(RegExp); expect(MagiConsole.pattern.toString()).to.equal(expectedToString); });
it ('should convert \'*\' to an all string matching regex pattern', function () { var patternString = '*'; var expectedToString = '/.?/'; MagiConsole.setPattern(patternString); expect(MagiConsole.pattern).to.be.instanceOf(RegExp); expect(MagiConsole.pattern.toString()).to.equal(expectedToString); });
it ('should not run if MagiConsole is not setup for the instance namespace', function () { var logSpy = sinon.spy(console, 'log'); var logger = new MagiConsole('test'); MagiConsole.setPattern('foo'); logger.log('foobar'); expect(logSpy).to.not.have.been.called; logSpy.restore(); });
it ('should reset pattern and level settings', function () { MagiConsole.setPattern('test'); MagiConsole.setLevel('warn', true); MagiConsole.reset(); expect(MagiConsole.pattern).to.be.undefined; expect(MagiConsole.level).to.be.undefined; expect(MagiConsole.levelOnly).to.be.false; expect(MagiConsole.off).to.equal(MagiConsole.reset); });
expect(function () { MagiConsole.setPattern(notAString); }).to.throw('regexPatternString must be a string');
beforeEach(function () { MagiConsole.setPattern('test'); MagiConsole.setLevel('warn'); });
it ('should return false if MagiConsole.pattern does not match instance namespace', function () { var logger = new MagiConsole('test'); MagiConsole.setPattern('foo'); expect(logger.shouldRun()).to.be.false; });
it ('should return true if MagiConsole.pattern matches instance namespace', function () { var logger = new MagiConsole('test'); MagiConsole.setPattern('test'); expect(logger.shouldRun()).to.be.true; });
'setupLogging': function (options) { options.logLevel && MagiConsole.setLevel(options.logLevel); options.logPattern && MagiConsole.setPattern(options.logPattern); },