2016-11-22 18:21:43 +01:00
|
|
|
'use strict';
|
|
|
|
const common = require('../common');
|
|
|
|
const { Console } = require('console');
|
|
|
|
const { Writable } = require('stream');
|
|
|
|
const assert = require('assert');
|
|
|
|
|
2017-02-17 18:15:09 +01:00
|
|
|
for (const method of ['dir', 'log', 'warn']) {
|
|
|
|
{
|
|
|
|
const out = new Writable({
|
|
|
|
write: common.mustCall((chunk, enc, callback) => {
|
|
|
|
callback(new Error('foobar'));
|
|
|
|
})
|
|
|
|
});
|
|
|
|
|
|
|
|
const c = new Console(out, out, true);
|
|
|
|
|
|
|
|
assert.doesNotThrow(() => {
|
|
|
|
c[method]('abc');
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
const out = new Writable({
|
|
|
|
write: common.mustCall((chunk, enc, callback) => {
|
|
|
|
throw new Error('foobar');
|
|
|
|
})
|
|
|
|
});
|
|
|
|
|
|
|
|
const c = new Console(out, out, true);
|
|
|
|
|
|
|
|
assert.doesNotThrow(() => {
|
|
|
|
c[method]('abc');
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
const out = new Writable({
|
|
|
|
write: common.mustCall((chunk, enc, callback) => {
|
|
|
|
setImmediate(() => callback(new Error('foobar')));
|
|
|
|
})
|
|
|
|
});
|
|
|
|
|
|
|
|
const c = new Console(out, out, true);
|
|
|
|
|
|
|
|
assert.doesNotThrow(() => {
|
|
|
|
c[method]('abc');
|
|
|
|
});
|
|
|
|
}
|
2016-11-22 18:21:43 +01:00
|
|
|
}
|