acs
Version: 
Appcelerator Server Side Node
53 lines (47 loc) • 1.85 kB
JavaScript
var chai = require('chai'),
    should = chai.should(),
    sinon = require('sinon'),
    logger = require('../lib/logger');
describe('logger - ', function(){
    function verifyOutput(logger) {
        var logOutput = "";
        var stub = sinon.stub(process.stdout, 'write', function(log) {
            logOutput = log;
        });
        logger.log('normal log');
        logOutput.should.eql('[INFO]  normal log\n')
        logger.log('normal', 'log', false);
        logOutput.should.eql('[INFO]  normal log false\n')
        logger.info('info log');
        logOutput.should.eql('[INFO]  info log\n')
        logger.info('info', 'log', false);
        logOutput.should.eql('[INFO]  info log false\n')
        logger.debug('debug log');
        logOutput.should.eql('[DEBUG] debug log\n')
        logger.debug('debug', 'log', false);
        logOutput.should.eql('[DEBUG] debug log false\n')
        logger.warn('warn log');
        logOutput.should.eql('[WARN]  warn log\n')
        logger.warn('warn', 'log', false);
        logOutput.should.eql('[WARN]  warn log false\n')
        stub.restore();
        stub = sinon.stub(process.stderr, 'write', function(log) {
            logOutput = log;
        });
        logger.error('error log');
        logOutput.should.eql('[ERROR] error log\n')
        logger.error('error', 'log', false);
        logOutput.should.eql('[ERROR] error log false\n')
        stub.restore();
    }
    it('should be able to test logger functions', function() {
        logger.log.should.be.a('function');
        logger.info.should.be.a('function');
        logger.debug.should.be.a('function');
        logger.error.should.be.a('function');
        logger.warn.should.be.a('function');
        logger.colors.should.be.a('function');
        logger.colors(false);
        verifyOutput(logger);
    });
});