haste-server/node_modules/winston/test/transports/file-test.js

50 lines
1.6 KiB
JavaScript

/*
* file-test.js: Tests for instances of the File transport
*
* (C) 2010 Charlie Robbins
* MIT LICENSE
*
*/
var path = require('path'),
vows = require('vows'),
fs = require('fs'),
assert = require('assert'),
winston = require('../../lib/winston'),
helpers = require('../helpers');
var stream = fs.createWriteStream(path.join(__dirname, '..', 'fixtures', 'logs', 'testfile.log')),
fileTransport = new (winston.transports.File)({ filename: path.join(__dirname, '..', 'fixtures', 'logs', 'testfilename.log') }),
streamTransport = new (winston.transports.File)({ stream: stream });
vows.describe('winston/transports/file').addBatch({
"An instance of the File Transport": {
"when passed a valid filename": {
"should have the proper methods defined": function () {
helpers.assertFile(fileTransport);
},
"the log() method": helpers.testNpmLevels(fileTransport, "should respond with true", function (ign, err, logged) {
assert.isNull(err);
assert.isTrue(logged);
})
},
"when passed a valid file stream": {
"should have the proper methods defined": function () {
helpers.assertFile(streamTransport);
},
"the log() method": helpers.testNpmLevels(streamTransport, "should respond with true", function (ign, err, logged) {
assert.isNull(err);
assert.isTrue(logged);
})
}
}
}).addBatch({
"These tests have a non-deterministic end": {
topic: function () {
setTimeout(this.callback, 200);
},
"and this should be fixed before releasing": function () {
assert.isTrue(true);
}
}
}).export(module);