PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` var assert = require('assert'); var Lazy = require('..'); exports.bucket = function () { var joined = false; var lazy = new Lazy; lazy.bucket('', function splitter (acc, x) { var accx = acc + x; var i = accx.indexOf('\n'); if (i >= 0) { this(accx.slice(0, i)); return splitter.call(this, accx.slice(i + 1), ''); } return accx; }).join(function (lines) { assert.deepEqual(lines, 'foo bar baz quux moo'.split(' ')); joined = true; }); setTimeout(function () { lazy.emit('data', 'foo\nba'); }, 50); setTimeout(function () { lazy.emit('data', 'r'); }, 100); setTimeout(function () { lazy.emit('data', '\nbaz\nquux\nm'); }, 150); setTimeout(function () { lazy.emit('data', 'oo'); }, 200); setTimeout(function () { lazy.emit('data', '\nzoom'); lazy.emit('end'); assert.ok(joined); }, 250); };