node/test/parallel/test-console-sync-write-error.js
Anna Henningsen f18e08d820
console: do not emit error events
Fixes: https://github.com/nodejs/node/issues/831
Fixes: https://github.com/nodejs/node/issues/947
Ref: https://github.com/nodejs/node/pull/9470
PR-URL: https://github.com/nodejs/node/pull/9744
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2017-02-15 21:29:16 +01:00

48 lines
889 B
JavaScript

'use strict';
const common = require('../common');
const { Console } = require('console');
const { Writable } = require('stream');
const assert = require('assert');
{
const out = new Writable({
write: common.mustCall((chunk, enc, callback) => {
callback(new Error('foobar'));
})
});
const c = new Console(out, out, true);
assert.doesNotThrow(() => {
c.log('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.log('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.log('abc');
});
}