Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80536 views
1
var common = require('../common.js');
2
var assert = require('assert');
3
var zlib = require('zlib');
4
var path = require('path');
5
var fs = require('fs');
6
7
var file = fs.readFileSync(path.resolve(common.fixturesDir, 'person.jpg')),
8
chunkSize = 24 * 1024,
9
opts = { level: 9, strategy: zlib.Z_DEFAULT_STRATEGY },
10
deflater = zlib.createDeflate(opts);
11
12
var chunk1 = file.slice(0, chunkSize),
13
chunk2 = file.slice(chunkSize),
14
blkhdr = new Buffer([0x00, 0x48, 0x82, 0xb7, 0x7d]),
15
expected = Buffer.concat([blkhdr, chunk2]),
16
actual;
17
18
deflater.write(chunk1, function() {
19
deflater.params(0, zlib.Z_DEFAULT_STRATEGY, function() {
20
while (deflater.read());
21
deflater.end(chunk2, function() {
22
var bufs = [], buf;
23
while (buf = deflater.read())
24
bufs.push(buf);
25
actual = Buffer.concat(bufs);
26
});
27
});
28
while (deflater.read());
29
});
30
31
process.once('exit', function() {
32
assert.deepEqual(actual, expected);
33
});
34
35