Sha256: e65dc577a62919ec5f1fe161ffd9290b30ff14606845030b1f5de25d685a07f2
Contents?: true
Size: 1.13 KB
Versions: 5
Compression:
Stored size: 1.13 KB
Contents
'use strict'; require('../common'); const assert = require('assert'); const zlib = require('zlib'); const bigData = Buffer.alloc(10240, 'x'); const opts = { level: 0, highWaterMark: 16 }; const deflater = zlib.createDeflate(opts); // shim deflater.flush so we can count times executed var flushCount = 0; var drainCount = 0; const flush = deflater.flush; deflater.flush = function(kind, callback) { flushCount++; flush.call(this, kind, callback); }; deflater.write(bigData); const ws = deflater._writableState; const beforeFlush = ws.needDrain; var afterFlush = ws.needDrain; deflater.flush(function(err) { afterFlush = ws.needDrain; }); deflater.on('drain', function() { drainCount++; }); process.once('exit', function() { assert.equal(beforeFlush, true, 'before calling flush, writable stream should need to drain'); assert.equal(afterFlush, false, 'after calling flush, writable stream should not need to drain'); assert.equal(drainCount, 1, 'the deflater should have emitted a single drain event'); assert.equal(flushCount, 2, 'flush should be called twice'); });
Version data entries
5 entries across 4 versions & 1 rubygems