VimUnDopwSpM/J<"lDžUf#J0+7S19_\VS3\5_]VS3]]5_^^^vS5]_v%test('basically works', function(t) {5_^^^vS5]_vtest('', function(t) {5_o^^vS<no) instance = duplexer(writable, readable)5_c^^vS>ceucdu5_d^^vS?cev) instance = duplexer(writable, readable)5_ c^^vS@bc , instance5_ ccc+v+SBbdu- , instance = duplexer(writable, readable)5_ ccc+v+SEbdu , instance = duplexer()5_ ccc+v+SRbduE , instance = duplexer() // nothing here, let's hook them up later5_ bcc+v+SRbdu5_  cdd+v+SRbdvcdv5_ cdd+v+SSbdv* // nothing here, let's hook them up later5_bdd+v+STbdv5_pee+v+SYop5_uee+v+Sduxw uwv5_w ee+v+Sowyxwxx5_xee+v+Sqwyy! instance.hookWritable(writable)5_xee+v+Srwyy instance.hook(writable)5_xee+v+Stwyy! instance.hookReadable(writable)5_xee+v+Suwyy instance.hookReadable()5_y^yVSy5_z^yVSzz5_{^yVSz|test('late hook', function(t) {5_{^yVSz|test('hook', function(t) {5_^yVS! instance.hookReadable(readable)5_^yVS! instance.hookWritable(writable)5_^yVS instance.hook(writable)5_v^yVS:vx vx5_ x^zVS@ xz xz5_! ^{VSC  5_ "!}SE|~!test('double hook', function(t) {5_!#"}SE |~test('hook', function(t) {5_"$#{^VSN5_#%${^VSN5_$&%vSVtest('late hook', function(t) {5_%'&vSWtest('', function(t) {5_&('VSa. writable._write = function(chunk, enc, cb) {) t.equal(chunk.toString(), 'writable') cb() } readable._read = function(n) { this.push('readable') this.push(null) }' instance.on('data', function(chunk) {) t.equal(chunk.toString(), 'readable') }) instance.end('writable')5_')(VSa5_(*)VSc5_)+*VSc5_*,+VSe // separate hooks for writable5_+-,VSe // and readable5_,.- VSf! instance.hookWritable(writable)5_-/. VSg instance.(writable)! instance.hookReadable(readable)5_.0/VSk 5_/10VSn 5_021!VS|# t.test('readable', function(t) é5_132!VS| 5_243VS}5_354VS~ 5_465 VS 5_576VS 5_687VS }5_798VS } catch(err) {} {}5_8:9VS } catch(err) {}5_9;:VS5_:<;VS t.end()5_;=<VS5_<>=VS t.end()5_=?>VS5_>@?VS 5_?A@VS 5_@BAVS t.end()5_ACBVS5_BDCVS5_CEDVS t.end()5_DFEVS 5_EGFVS t.5_FHGVS5_GJHVS5_HKIJVS5_JLKVS5_KMLVS 5_LNM VS" t.test('readable', function(t) {5_MON VS t.test('', function(t) {5_NPOVS% instance.hookWritable(writable)5_OQPVS instance.hook(writable)5_PRQVS% instance.hookReadable(writable)5_QSRVS instance.hookReadable()5_RTSVS5_SUTVS5_TVUVS5_UWVVS5_VXWVS5_WYXVS5_XZYVS this.push('readable')5_Y[ZVS this.push(null)5_Z\[{{]VS e{}5_[]\|{]VS e||}5_\^]~{]VS g}test('late hook', function(t) {5_]_^~{]VS i}'test('late hook reverse', function(t) {5_^`_{]VS q! instance.hookWritable(writable)5__a`{]VS q5_`ba{]VS r! instance.hookReadable(readable)5_acb{]VS r5_bdc{]VS t // separate hooks for writable5_ced{]VS t // separate hooks for 5_dfe {]VS w // and readable5_elf {]VS w // and 5_fmgl -VS.a5_lnm -VS.b5_monvS.gtest('echo mode', function(t) {5_npovS.htest('', function(t) {5_oqp'v'S.p) instance = duplexer(writable, writable)5_prq'v'S.s5_qsr 'v'S.z , http = require('http')5_rts 'v'S.{ , duplexer = require('./')5_sut 'v'S.|' , stream = require('readable-stream')5_tvu 'v'S.}var test = require('tap').test5_uwv v S. instance = duplexer()5_vxw v S. , instance duplexer() duplexer() duplexer()5_wyxv S.) var writable = new stream.PassThrough()5_xzyv S. var 5_y{z#v S.$ var server = http.createServer()5_z|{v S. 5_{}|v S. 5_|~}v S. 5_}~v S. 5_~v S. 5_v S. http.requesT(5_v S. 5_v S.5_v S.5_v S. http.requesT(5_v S.5_v S. http.requesT(5_v S. http.request(5_v S. var request = http.request(5_v S. 5_v S. host: 'localhost'5_v S.  5_v S.! 5_v S." }5_v S.#  5_v S.$   5_v S.   5_v S/  request.hookWritable(5_v S/  .hookWritable(5_v S/%  instance.hookWritable(5_v S/   5_v S/' 5_ v S/(   5_ v S/)   server.close()5_ v S/   5_v S/* 5_v S/ t.plan(1)5_v S/5_v S/+ 5_ v S0 ! instance.on('end', function() {5_ v S0,  instance.on('', function() {5_ v S0-     5_v S0. 5_ v S0/5_VS00$ instance.on('finish', function() { console.log('end!') t.end() })5_VS0_1 5_VS0o2 5_VS0t3 console.log('readable!'95_ VS0z4   5_VS1f instance.end('a message')5_VS1l 5_ VS1l    5_ VS1n5   instance.end('a message')5_ VS1o7  5_VS1 console.log('chunk!')5_VS1 console.log('readable!')5_VS1 console.log('handle!')5_VS15_VS15_VS186"test('HTTP support', function(t) {5_-VS1,- instance.end('a message')5_4VS145_5VS1555_7VS17 75_7VS1688 instance.end('a message')5_7VS1688 instance.end('a message')5_6VS19565_fhlg!S( "5_gih!S( "5_hji(S(() (*! instance.on('end', function() { })5_ikj*S(*+ *, t.end(95_jk+ S(*, t.end()5_HJIVS5