improved coverage of baserollingfilestream
This commit is contained in:
parent
0e5da1d361
commit
4cd546e8b3
83
test/streams/BaseRollingFileStream-test.js
Normal file
83
test/streams/BaseRollingFileStream-test.js
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
"use strict";
|
||||||
|
var vows = require('vows')
|
||||||
|
, assert = require('assert')
|
||||||
|
, fs = require('fs')
|
||||||
|
, sandbox = require('sandboxed-module');
|
||||||
|
|
||||||
|
vows.describe('../../lib/streams/BaseRollingFileStream').addBatch({
|
||||||
|
'when node version < 0.10.0': {
|
||||||
|
topic: function() {
|
||||||
|
var streamLib = sandbox.load(
|
||||||
|
'../../lib/streams/BaseRollingFileStream',
|
||||||
|
{
|
||||||
|
globals: {
|
||||||
|
process: {
|
||||||
|
version: '0.8.11'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return streamLib.required;
|
||||||
|
},
|
||||||
|
'it should use readable-stream to maintain compatibility': function(required) {
|
||||||
|
assert.ok(required['readable-stream']);
|
||||||
|
assert.ok(!required.stream);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
'when node version > 0.10.0': {
|
||||||
|
topic: function() {
|
||||||
|
var streamLib = sandbox.load(
|
||||||
|
'../../lib/streams/BaseRollingFileStream',
|
||||||
|
{
|
||||||
|
globals: {
|
||||||
|
process: {
|
||||||
|
version: '0.10.1'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return streamLib.required;
|
||||||
|
},
|
||||||
|
'it should use the core stream module': function(required) {
|
||||||
|
assert.ok(required.stream);
|
||||||
|
assert.ok(!required['readable-stream']);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
'when no filename is passed': {
|
||||||
|
topic: require('../../lib/streams/BaseRollingFileStream'),
|
||||||
|
'it should throw an error': function(BaseRollingFileStream) {
|
||||||
|
try {
|
||||||
|
new BaseRollingFileStream();
|
||||||
|
assert.fail('should not get here');
|
||||||
|
} catch (e) {
|
||||||
|
assert.ok(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
'default behaviour': {
|
||||||
|
topic: function() {
|
||||||
|
var BaseRollingFileStream = require('../../lib/streams/BaseRollingFileStream')
|
||||||
|
, stream = new BaseRollingFileStream('basetest.log');
|
||||||
|
return stream;
|
||||||
|
},
|
||||||
|
teardown: function() {
|
||||||
|
try {
|
||||||
|
fs.unlink('basetest.log');
|
||||||
|
} catch (e) {
|
||||||
|
console.error("could not remove basetest.log", e);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'it should not want to roll': function(stream) {
|
||||||
|
assert.isFalse(stream.shouldRoll());
|
||||||
|
},
|
||||||
|
'it should not roll': function(stream) {
|
||||||
|
var cbCalled = false;
|
||||||
|
//just calls the callback straight away, no async calls
|
||||||
|
stream.roll('basetest.log', function() { cbCalled = true; });
|
||||||
|
assert.isTrue(cbCalled);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).exportTo(module);
|
Loading…
Reference in New Issue
Block a user