/* * 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);