Skip to content

Commit

Permalink
stream: migrate to internal/errors
Browse files Browse the repository at this point in the history
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 Oct 1, 2017
1 parent 4536128 commit db7d133
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 8 deletions.
2 changes: 1 addition & 1 deletion lib/_stream_transform.js
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
3 changes: 2 additions & 1 deletion lib/_stream_writable.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down Expand Up @@ -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;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
10 changes: 7 additions & 3 deletions test/parallel/test-stream-writable-change-default-encoding.js
Original file line number Diff line number Diff line change
Expand Up @@ -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');
Expand Down Expand Up @@ -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) {
Expand Down

0 comments on commit db7d133

Please sign in to comment.