Permalink
Browse files

stream: migrate to internal/errors

PR-URL: #15665
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information...
BridgeAR committed Sep 28, 2017
1 parent 4536128 commit db7d1339c38805bbe5a6dbf2508f7273a0e81bf6
View
@@ -157,7 +157,7 @@ Transform.prototype.push = function(chunk, encoding) {
// an error, then that'll put the hurt on the whole operation. If you
// never call cb(), then you'll never get another chunk.
Transform.prototype._transform = function(chunk, encoding, cb) {
throw new Error('_transform() is not implemented');
throw new errors.Error('ERR_METHOD_NOT_IMPLEMENTED', '_transform');
};
Transform.prototype._write = function(chunk, encoding, cb) {
View
@@ -33,6 +33,7 @@ const internalUtil = require('internal/util');
const Stream = require('stream');
const Buffer = require('buffer').Buffer;
const destroyImpl = require('internal/streams/destroy');
const errors = require('internal/errors');
util.inherits(Writable, Stream);
@@ -319,7 +320,7 @@ Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
if (typeof encoding === 'string')
encoding = encoding.toLowerCase();
if (!Buffer.isEncoding(encoding))
throw new TypeError('Unknown encoding: ' + encoding);
throw new errors.TypeError('ERR_UNKNOWN_ENCODING', encoding);
this._writableState.defaultEncoding = encoding;
return this;
};
@@ -27,10 +27,13 @@ const t2 = new Transform({});
t.end(Buffer.from('blerg'));
t.resume();
assert.throws(() => {
common.expectsError(() => {
t2.end(Buffer.from('blerg'));
}, /^Error: _transform\(\) is not implemented$/);
}, {
type: Error,
code: 'ERR_METHOD_NOT_IMPLEMENTED',
message: 'The _transform method is not implemented'
});
process.on('exit', () => {
assert.strictEqual(t._transform, _transform);
@@ -20,7 +20,7 @@
// USE OR OTHER DEALINGS IN THE SOFTWARE.
'use strict';
require('../common');
const common = require('../common');
const assert = require('assert');
const stream = require('stream');
@@ -55,13 +55,17 @@ MyWritable.prototype._write = function(chunk, encoding, callback) {
m.end();
}());
assert.throws(function changeDefaultEncodingToInvalidValue() {
common.expectsError(function changeDefaultEncodingToInvalidValue() {
const m = new MyWritable(function(isBuffer, type, enc) {
}, { decodeStrings: false });
m.setDefaultEncoding({});
m.write('bar');
m.end();
}, /^TypeError: Unknown encoding: \[object Object\]$/);
}, {
type: TypeError,
code: 'ERR_UNKNOWN_ENCODING',
message: 'Unknown encoding: [object Object]'
});
(function checkVairableCaseEncoding() {
const m = new MyWritable(function(isBuffer, type, enc) {

0 comments on commit db7d133

Please sign in to comment.