%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'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 let flushCount = 0; let 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; let afterFlush = ws.needDrain; deflater.on('data', () => { }); deflater.flush(function(err) { afterFlush = ws.needDrain; }); deflater.on('drain', function() { drainCount++; }); process.once('exit', function() { assert.strictEqual( beforeFlush, true); assert.strictEqual( afterFlush, false); assert.strictEqual( drainCount, 1); assert.strictEqual( flushCount, 1); });