summaryrefslogtreecommitdiff
path: root/test/simple/test-zlib-params.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/simple/test-zlib-params.js')
-rw-r--r--test/simple/test-zlib-params.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/simple/test-zlib-params.js b/test/simple/test-zlib-params.js
new file mode 100644
index 0000000000..006f1ea8e5
--- /dev/null
+++ b/test/simple/test-zlib-params.js
@@ -0,0 +1,33 @@
+var common = require('../common.js');
+var assert = require('assert');
+var zlib = require('zlib');
+var path = require('path');
+var fs = require('fs');
+
+var file = fs.readFileSync(path.resolve(common.fixturesDir, 'person.jpg')),
+ chunkSize = 24 * 1024,
+ opts = { level: 9, strategy: zlib.Z_DEFAULT_STRATEGY },
+ deflater = zlib.createDeflate(opts);
+
+var chunk1 = file.slice(0, chunkSize),
+ chunk2 = file.slice(chunkSize),
+ blkhdr = new Buffer([0x00, 0x48, 0x82, 0xb7, 0x7d]),
+ expected = Buffer.concat([blkhdr, chunk2]),
+ actual;
+
+deflater.write(chunk1, function() {
+ deflater.params(0, zlib.Z_DEFAULT_STRATEGY, function() {
+ while (deflater.read());
+ deflater.end(chunk2, function() {
+ var bufs = [], buf;
+ while (buf = deflater.read())
+ bufs.push(buf);
+ actual = Buffer.concat(bufs);
+ });
+ });
+ while (deflater.read());
+});
+
+process.once('exit', function() {
+ assert.deepEqual(actual, expected);
+});