You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.7 KiB
57 lines
1.7 KiB
/*
|
|
* file-open-test.js: Tests for File transport "open" event
|
|
*
|
|
* (C) 2014 William Wong
|
|
* MIT LICENSE
|
|
*
|
|
*/
|
|
|
|
var assert = require('assert'),
|
|
fs = require('fs'),
|
|
os = require('os'),
|
|
path = require('path'),
|
|
vows = require('vows'),
|
|
winston = require('../../lib/winston');
|
|
|
|
vows.describe('winston/transports/file').addBatch({
|
|
'An instance of the File Transport': {
|
|
topic: function () {
|
|
var callback = this.callback.bind(this),
|
|
logPath = path.resolve(__dirname, '../fixtures/logs/file-open-test.log');
|
|
|
|
try {
|
|
fs.unlinkSync(logPath);
|
|
} catch (ex) {
|
|
if (ex && ex.code !== 'ENOENT') { return callback(ex); }
|
|
}
|
|
|
|
var fileTransport = new (winston.transports.File)({
|
|
filename: logPath
|
|
}),
|
|
logger = new (winston.Logger)({
|
|
transports: [fileTransport]
|
|
}),
|
|
timeline = {};
|
|
|
|
fileTransport.open(function () {
|
|
timeline.open = Date.now();
|
|
|
|
setTimeout(function () {
|
|
logger.info('Hello, World!', function () {
|
|
timeline.logged = Date.now();
|
|
});
|
|
}, 100);
|
|
|
|
setTimeout(function () {
|
|
callback(null, timeline);
|
|
}, 1000);
|
|
});
|
|
},
|
|
'should fire "open" event': function (results) {
|
|
assert.isTrue(!!results.open);
|
|
},
|
|
'should fire "logged" event': function (results) {
|
|
assert.isTrue(!!results.logged);
|
|
}
|
|
}
|
|
}).export(module);
|