Skip to content

Commit

Permalink
test: improve zlib-from-gzip-with-trailing-garbage
Browse files Browse the repository at this point in the history
* use assert.strictEqual instead of assert.equal
* add RegExp in second argument of assert.throws
* validate error message and code

PR-URL: nodejs#10674
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
  • Loading branch information
lfkwtz authored and italoacasas committed Jan 27, 2017
1 parent 2d85609 commit cf5579d
Showing 1 changed file with 22 additions and 6 deletions.
28 changes: 22 additions & 6 deletions test/parallel/test-zlib-from-gzip-with-trailing-garbage.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,15 @@ let data = Buffer.concat([
Buffer(10).fill(0)
]);

assert.equal(zlib.gunzipSync(data).toString(), 'abcdef');
assert.strictEqual(zlib.gunzipSync(data).toString(), 'abcdef');

zlib.gunzip(data, common.mustCall((err, result) => {
assert.ifError(err);
assert.equal(result, 'abcdef', 'result should match original string');
assert.strictEqual(
result.toString(),
'abcdef',
'result should match original string'
);
}));

// if the trailing garbage happens to look like a gzip header, it should
Expand All @@ -28,10 +32,16 @@ data = Buffer.concat([
Buffer(10).fill(0)
]);

assert.throws(() => zlib.gunzipSync(data));
assert.throws(
() => zlib.gunzipSync(data),
/^Error: unknown compression method$/
);

zlib.gunzip(data, common.mustCall((err, result) => {
assert(err);
assert(err instanceof Error);
assert.strictEqual(err.code, 'Z_DATA_ERROR');
assert.strictEqual(err.message, 'unknown compression method');
assert.strictEqual(result, undefined);
}));

// In this case the trailing junk is too short to be a gzip segment
Expand All @@ -42,8 +52,14 @@ data = Buffer.concat([
Buffer([0x1f, 0x8b, 0xff, 0xff])
]);

assert.throws(() => zlib.gunzipSync(data));
assert.throws(
() => zlib.gunzipSync(data),
/^Error: unknown compression method$/
);

zlib.gunzip(data, common.mustCall((err, result) => {
assert(err);
assert(err instanceof Error);
assert.strictEqual(err.code, 'Z_DATA_ERROR');
assert.strictEqual(err.message, 'unknown compression method');
assert.strictEqual(result, undefined);
}));

0 comments on commit cf5579d

Please sign in to comment.