123456789101112131415161718192021222324252627282930313233 |
- 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);
- });
|