blob: 2039b030e9680655d44ffae04dd28be59053c89a [file] [log] [blame]
/*
* 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 transport = require('./transport');
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);
}
}
}).addBatch({
"An instance of the File Transport": transport(winston.transports.File, {
filename: path.join(__dirname, '..', 'fixtures', 'logs', 'testfile.log')
})
}).export(module);