'use strict'; // Test unzipping a file that was created with a non-node brotli lib, // piped in as fast as possible. const common = require('../common'); const assert = require('assert'); const zlib = require('zlib'); const path = require('path'); const fixtures = require('../common/fixtures'); const tmpdir = require('../common/tmpdir'); tmpdir.refresh(); const decompress = new zlib.BrotliDecompress(); const fs = require('fs'); const fixture = fixtures.path('person.jpg.br'); const unzippedFixture = fixtures.path('person.jpg'); const outputFile = path.resolve(tmpdir.path, 'person.jpg'); const expect = fs.readFileSync(unzippedFixture); const inp = fs.createReadStream(fixture); const out = fs.createWriteStream(outputFile); inp.pipe(decompress).pipe(out); out.on('close', common.mustCall(() => { const actual = fs.readFileSync(outputFile); assert.strictEqual(actual.length, expect.length); for (let i = 0, l = actual.length; i < l; i++) { assert.strictEqual(actual[i], expect[i], `byte[${i}]`); } }));