summaryrefslogtreecommitdiff
path: root/node_modules/winston/test/transports/file-open-test.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/winston/test/transports/file-open-test.js')
-rw-r--r--node_modules/winston/test/transports/file-open-test.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/node_modules/winston/test/transports/file-open-test.js b/node_modules/winston/test/transports/file-open-test.js
new file mode 100644
index 0000000..15427a0
--- /dev/null
+++ b/node_modules/winston/test/transports/file-open-test.js
@@ -0,0 +1,57 @@
+/*
+ * 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); \ No newline at end of file