Skip to content
Permalink
Browse files

zlib: throw TypeError if callback is missing

Get a proper stack trace when no callback is passed.

PR-URL: #24929
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Weijia Wang <starkwang@126.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
  • Loading branch information...
addaleax committed Dec 9, 2018
1 parent a0bdeb5 commit 9a2654601e58cb738463ea4a195400dd0cdd37ad
Showing with 12 additions and 0 deletions.
  1. +2 −0 lib/zlib.js
  2. +10 −0 test/parallel/test-zlib-convenience-methods.js
@@ -73,6 +73,8 @@ for (var ck = 0; ck < ckeys.length; ck++) {
}

function zlibBuffer(engine, buffer, callback) {
if (typeof callback !== 'function')
throw new ERR_INVALID_ARG_TYPE('callback', 'function', callback);
// Streams do not support non-Buffer ArrayBufferViews yet. Convert it to a
// Buffer without copying.
if (isArrayBufferView(buffer) &&
@@ -119,3 +119,13 @@ for (const [type, expect] of [
}
}
}

common.expectsError(
() => zlib.gzip('abc'),
{
code: 'ERR_INVALID_ARG_TYPE',
type: TypeError,
message: 'The "callback" argument must be of type function. ' +
'Received type undefined'
}
);

0 comments on commit 9a26546

Please sign in to comment.
You can’t perform that action at this time.