| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923 | 
							- diff --git a/lib/_stream_duplex.js b/lib/_stream_duplex.js
 
- index c5a741c..a2e0d8e 100644
 
- --- a/lib/_stream_duplex.js
 
- +++ b/lib/_stream_duplex.js
 
- @@ -26,8 +26,8 @@
 
-  
 
-  module.exports = Duplex;
 
-  var util = require('util');
 
- -var Readable = require('_stream_readable');
 
- -var Writable = require('_stream_writable');
 
- +var Readable = require('./_stream_readable');
 
- +var Writable = require('./_stream_writable');
 
-  
 
-  util.inherits(Duplex, Readable);
 
-  
 
- diff --git a/lib/_stream_passthrough.js b/lib/_stream_passthrough.js
 
- index a5e9864..330c247 100644
 
- --- a/lib/_stream_passthrough.js
 
- +++ b/lib/_stream_passthrough.js
 
- @@ -25,7 +25,7 @@
 
-  
 
-  module.exports = PassThrough;
 
-  
 
- -var Transform = require('_stream_transform');
 
- +var Transform = require('./_stream_transform');
 
-  var util = require('util');
 
-  util.inherits(PassThrough, Transform);
 
-  
 
- diff --git a/lib/_stream_readable.js b/lib/_stream_readable.js
 
- index 0c3fe3e..90a8298 100644
 
- --- a/lib/_stream_readable.js
 
- +++ b/lib/_stream_readable.js
 
- @@ -23,10 +23,34 @@ module.exports = Readable;
 
-  Readable.ReadableState = ReadableState;
 
-  
 
-  var EE = require('events').EventEmitter;
 
- +if (!EE.listenerCount) EE.listenerCount = function(emitter, type) {
 
- +  return emitter.listeners(type).length;
 
- +};
 
- +
 
- +if (!global.setImmediate) global.setImmediate = function setImmediate(fn) {
 
- +  return setTimeout(fn, 0);
 
- +};
 
- +if (!global.clearImmediate) global.clearImmediate = function clearImmediate(i) {
 
- +  return clearTimeout(i);
 
- +};
 
- +
 
-  var Stream = require('stream');
 
-  var util = require('util');
 
- +if (!util.isUndefined) {
 
- +  var utilIs = require('core-util-is');
 
- +  for (var f in utilIs) {
 
- +    util[f] = utilIs[f];
 
- +  }
 
- +}
 
-  var StringDecoder;
 
- -var debug = util.debuglog('stream');
 
- +var debug;
 
- +if (util.debuglog)
 
- +  debug = util.debuglog('stream');
 
- +else try {
 
- +  debug = require('debuglog')('stream');
 
- +} catch (er) {
 
- +  debug = function() {};
 
- +}
 
-  
 
-  util.inherits(Readable, Stream);
 
-  
 
- @@ -380,7 +404,7 @@ function chunkInvalid(state, chunk) {
 
-  
 
-  
 
-  function onEofChunk(stream, state) {
 
- -  if (state.decoder && !state.ended) {
 
- +  if (state.decoder && !state.ended && state.decoder.end) {
 
-      var chunk = state.decoder.end();
 
-      if (chunk && chunk.length) {
 
-        state.buffer.push(chunk);
 
- diff --git a/lib/_stream_transform.js b/lib/_stream_transform.js
 
- index b1f9fcc..b0caf57 100644
 
- --- a/lib/_stream_transform.js
 
- +++ b/lib/_stream_transform.js
 
- @@ -64,8 +64,14 @@
 
-  
 
-  module.exports = Transform;
 
-  
 
- -var Duplex = require('_stream_duplex');
 
- +var Duplex = require('./_stream_duplex');
 
-  var util = require('util');
 
- +if (!util.isUndefined) {
 
- +  var utilIs = require('core-util-is');
 
- +  for (var f in utilIs) {
 
- +    util[f] = utilIs[f];
 
- +  }
 
- +}
 
-  util.inherits(Transform, Duplex);
 
-  
 
-  
 
- diff --git a/lib/_stream_writable.js b/lib/_stream_writable.js
 
- index ba2e920..f49288b 100644
 
- --- a/lib/_stream_writable.js
 
- +++ b/lib/_stream_writable.js
 
- @@ -27,6 +27,12 @@ module.exports = Writable;
 
-  Writable.WritableState = WritableState;
 
-  
 
-  var util = require('util');
 
- +if (!util.isUndefined) {
 
- +  var utilIs = require('core-util-is');
 
- +  for (var f in utilIs) {
 
- +    util[f] = utilIs[f];
 
- +  }
 
- +}
 
-  var Stream = require('stream');
 
-  
 
-  util.inherits(Writable, Stream);
 
- @@ -119,7 +125,7 @@ function WritableState(options, stream) {
 
-  function Writable(options) {
 
-    // Writable ctor is applied to Duplexes, though they're not
 
-    // instanceof Writable, they're instanceof Readable.
 
- -  if (!(this instanceof Writable) && !(this instanceof Stream.Duplex))
 
- +  if (!(this instanceof Writable) && !(this instanceof require('./_stream_duplex')))
 
-      return new Writable(options);
 
-  
 
-    this._writableState = new WritableState(options, this);
 
- diff --git a/test/simple/test-stream-big-push.js b/test/simple/test-stream-big-push.js
 
- index e3787e4..8cd2127 100644
 
- --- a/test/simple/test-stream-big-push.js
 
- +++ b/test/simple/test-stream-big-push.js
 
- @@ -21,7 +21,7 @@
 
-  
 
-  var common = require('../common');
 
-  var assert = require('assert');
 
- -var stream = require('stream');
 
- +var stream = require('../../');
 
-  var str = 'asdfasdfasdfasdfasdf';
 
-  
 
-  var r = new stream.Readable({
 
- diff --git a/test/simple/test-stream-end-paused.js b/test/simple/test-stream-end-paused.js
 
- index bb73777..d40efc7 100644
 
- --- a/test/simple/test-stream-end-paused.js
 
- +++ b/test/simple/test-stream-end-paused.js
 
- @@ -25,7 +25,7 @@ var gotEnd = false;
 
-  
 
-  // Make sure we don't miss the end event for paused 0-length streams
 
-  
 
- -var Readable = require('stream').Readable;
 
- +var Readable = require('../../').Readable;
 
-  var stream = new Readable();
 
-  var calledRead = false;
 
-  stream._read = function() {
 
- diff --git a/test/simple/test-stream-pipe-after-end.js b/test/simple/test-stream-pipe-after-end.js
 
- index b46ee90..0be8366 100644
 
- --- a/test/simple/test-stream-pipe-after-end.js
 
- +++ b/test/simple/test-stream-pipe-after-end.js
 
- @@ -22,8 +22,8 @@
 
-  var common = require('../common');
 
-  var assert = require('assert');
 
-  
 
- -var Readable = require('_stream_readable');
 
- -var Writable = require('_stream_writable');
 
- +var Readable = require('../../lib/_stream_readable');
 
- +var Writable = require('../../lib/_stream_writable');
 
-  var util = require('util');
 
-  
 
-  util.inherits(TestReadable, Readable);
 
- diff --git a/test/simple/test-stream-pipe-cleanup.js b/test/simple/test-stream-pipe-cleanup.js
 
- deleted file mode 100644
 
- index f689358..0000000
 
- --- a/test/simple/test-stream-pipe-cleanup.js
 
- +++ /dev/null
 
- @@ -1,122 +0,0 @@
 
- -// Copyright Joyent, Inc. and other Node contributors.
 
- -//
 
- -// Permission is hereby granted, free of charge, to any person obtaining a
 
- -// copy of this software and associated documentation files (the
 
- -// "Software"), to deal in the Software without restriction, including
 
- -// without limitation the rights to use, copy, modify, merge, publish,
 
- -// distribute, sublicense, and/or sell copies of the Software, and to permit
 
- -// persons to whom the Software is furnished to do so, subject to the
 
- -// following conditions:
 
- -//
 
- -// The above copyright notice and this permission notice shall be included
 
- -// in all copies or substantial portions of the Software.
 
- -//
 
- -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 
- -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 
- -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
 
- -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
 
- -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 
- -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 
- -// USE OR OTHER DEALINGS IN THE SOFTWARE.
 
- -
 
- -// This test asserts that Stream.prototype.pipe does not leave listeners
 
- -// hanging on the source or dest.
 
- -
 
- -var common = require('../common');
 
- -var stream = require('stream');
 
- -var assert = require('assert');
 
- -var util = require('util');
 
- -
 
- -function Writable() {
 
- -  this.writable = true;
 
- -  this.endCalls = 0;
 
- -  stream.Stream.call(this);
 
- -}
 
- -util.inherits(Writable, stream.Stream);
 
- -Writable.prototype.end = function() {
 
- -  this.endCalls++;
 
- -};
 
- -
 
- -Writable.prototype.destroy = function() {
 
- -  this.endCalls++;
 
- -};
 
- -
 
- -function Readable() {
 
- -  this.readable = true;
 
- -  stream.Stream.call(this);
 
- -}
 
- -util.inherits(Readable, stream.Stream);
 
- -
 
- -function Duplex() {
 
- -  this.readable = true;
 
- -  Writable.call(this);
 
- -}
 
- -util.inherits(Duplex, Writable);
 
- -
 
- -var i = 0;
 
- -var limit = 100;
 
- -
 
- -var w = new Writable();
 
- -
 
- -var r;
 
- -
 
- -for (i = 0; i < limit; i++) {
 
- -  r = new Readable();
 
- -  r.pipe(w);
 
- -  r.emit('end');
 
- -}
 
- -assert.equal(0, r.listeners('end').length);
 
- -assert.equal(limit, w.endCalls);
 
- -
 
- -w.endCalls = 0;
 
- -
 
- -for (i = 0; i < limit; i++) {
 
- -  r = new Readable();
 
- -  r.pipe(w);
 
- -  r.emit('close');
 
- -}
 
- -assert.equal(0, r.listeners('close').length);
 
- -assert.equal(limit, w.endCalls);
 
- -
 
- -w.endCalls = 0;
 
- -
 
- -r = new Readable();
 
- -
 
- -for (i = 0; i < limit; i++) {
 
- -  w = new Writable();
 
- -  r.pipe(w);
 
- -  w.emit('close');
 
- -}
 
- -assert.equal(0, w.listeners('close').length);
 
- -
 
- -r = new Readable();
 
- -w = new Writable();
 
- -var d = new Duplex();
 
- -r.pipe(d); // pipeline A
 
- -d.pipe(w); // pipeline B
 
- -assert.equal(r.listeners('end').length, 2);   // A.onend, A.cleanup
 
- -assert.equal(r.listeners('close').length, 2); // A.onclose, A.cleanup
 
- -assert.equal(d.listeners('end').length, 2);   // B.onend, B.cleanup
 
- -assert.equal(d.listeners('close').length, 3); // A.cleanup, B.onclose, B.cleanup
 
- -assert.equal(w.listeners('end').length, 0);
 
- -assert.equal(w.listeners('close').length, 1); // B.cleanup
 
- -
 
- -r.emit('end');
 
- -assert.equal(d.endCalls, 1);
 
- -assert.equal(w.endCalls, 0);
 
- -assert.equal(r.listeners('end').length, 0);
 
- -assert.equal(r.listeners('close').length, 0);
 
- -assert.equal(d.listeners('end').length, 2);   // B.onend, B.cleanup
 
- -assert.equal(d.listeners('close').length, 2); // B.onclose, B.cleanup
 
- -assert.equal(w.listeners('end').length, 0);
 
- -assert.equal(w.listeners('close').length, 1); // B.cleanup
 
- -
 
- -d.emit('end');
 
- -assert.equal(d.endCalls, 1);
 
- -assert.equal(w.endCalls, 1);
 
- -assert.equal(r.listeners('end').length, 0);
 
- -assert.equal(r.listeners('close').length, 0);
 
- -assert.equal(d.listeners('end').length, 0);
 
- -assert.equal(d.listeners('close').length, 0);
 
- -assert.equal(w.listeners('end').length, 0);
 
- -assert.equal(w.listeners('close').length, 0);
 
- diff --git a/test/simple/test-stream-pipe-error-handling.js b/test/simple/test-stream-pipe-error-handling.js
 
- index c5d724b..c7d6b7d 100644
 
- --- a/test/simple/test-stream-pipe-error-handling.js
 
- +++ b/test/simple/test-stream-pipe-error-handling.js
 
- @@ -21,7 +21,7 @@
 
-  
 
-  var common = require('../common');
 
-  var assert = require('assert');
 
- -var Stream = require('stream').Stream;
 
- +var Stream = require('../../').Stream;
 
-  
 
-  (function testErrorListenerCatches() {
 
-    var source = new Stream();
 
- diff --git a/test/simple/test-stream-pipe-event.js b/test/simple/test-stream-pipe-event.js
 
- index cb9d5fe..56f8d61 100644
 
- --- a/test/simple/test-stream-pipe-event.js
 
- +++ b/test/simple/test-stream-pipe-event.js
 
- @@ -20,7 +20,7 @@
 
-  // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-  
 
-  var common = require('../common');
 
- -var stream = require('stream');
 
- +var stream = require('../../');
 
-  var assert = require('assert');
 
-  var util = require('util');
 
-  
 
- diff --git a/test/simple/test-stream-push-order.js b/test/simple/test-stream-push-order.js
 
- index f2e6ec2..a5c9bf9 100644
 
- --- a/test/simple/test-stream-push-order.js
 
- +++ b/test/simple/test-stream-push-order.js
 
- @@ -20,7 +20,7 @@
 
-  // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-  
 
-  var common = require('../common.js');
 
- -var Readable = require('stream').Readable;
 
- +var Readable = require('../../').Readable;
 
-  var assert = require('assert');
 
-  
 
-  var s = new Readable({
 
- diff --git a/test/simple/test-stream-push-strings.js b/test/simple/test-stream-push-strings.js
 
- index 06f43dc..1701a9a 100644
 
- --- a/test/simple/test-stream-push-strings.js
 
- +++ b/test/simple/test-stream-push-strings.js
 
- @@ -22,7 +22,7 @@
 
-  var common = require('../common');
 
-  var assert = require('assert');
 
-  
 
- -var Readable = require('stream').Readable;
 
- +var Readable = require('../../').Readable;
 
-  var util = require('util');
 
-  
 
-  util.inherits(MyStream, Readable);
 
- diff --git a/test/simple/test-stream-readable-event.js b/test/simple/test-stream-readable-event.js
 
- index ba6a577..a8e6f7b 100644
 
- --- a/test/simple/test-stream-readable-event.js
 
- +++ b/test/simple/test-stream-readable-event.js
 
- @@ -22,7 +22,7 @@
 
-  var common = require('../common');
 
-  var assert = require('assert');
 
-  
 
- -var Readable = require('stream').Readable;
 
- +var Readable = require('../../').Readable;
 
-  
 
-  (function first() {
 
-    // First test, not reading when the readable is added.
 
- diff --git a/test/simple/test-stream-readable-flow-recursion.js b/test/simple/test-stream-readable-flow-recursion.js
 
- index 2891ad6..11689ba 100644
 
- --- a/test/simple/test-stream-readable-flow-recursion.js
 
- +++ b/test/simple/test-stream-readable-flow-recursion.js
 
- @@ -27,7 +27,7 @@ var assert = require('assert');
 
-  // more data continuously, but without triggering a nextTick
 
-  // warning or RangeError.
 
-  
 
- -var Readable = require('stream').Readable;
 
- +var Readable = require('../../').Readable;
 
-  
 
-  // throw an error if we trigger a nextTick warning.
 
-  process.throwDeprecation = true;
 
- diff --git a/test/simple/test-stream-unshift-empty-chunk.js b/test/simple/test-stream-unshift-empty-chunk.js
 
- index 0c96476..7827538 100644
 
- --- a/test/simple/test-stream-unshift-empty-chunk.js
 
- +++ b/test/simple/test-stream-unshift-empty-chunk.js
 
- @@ -24,7 +24,7 @@ var assert = require('assert');
 
-  
 
-  // This test verifies that stream.unshift(Buffer(0)) or 
 
-  // stream.unshift('') does not set state.reading=false.
 
- -var Readable = require('stream').Readable;
 
- +var Readable = require('../../').Readable;
 
-  
 
-  var r = new Readable();
 
-  var nChunks = 10;
 
- diff --git a/test/simple/test-stream-unshift-read-race.js b/test/simple/test-stream-unshift-read-race.js
 
- index 83fd9fa..17c18aa 100644
 
- --- a/test/simple/test-stream-unshift-read-race.js
 
- +++ b/test/simple/test-stream-unshift-read-race.js
 
- @@ -29,7 +29,7 @@ var assert = require('assert');
 
-  // 3. push() after the EOF signaling null is an error.
 
-  // 4. _read() is not called after pushing the EOF null chunk.
 
-  
 
- -var stream = require('stream');
 
- +var stream = require('../../');
 
-  var hwm = 10;
 
-  var r = stream.Readable({ highWaterMark: hwm });
 
-  var chunks = 10;
 
- @@ -51,7 +51,14 @@ r._read = function(n) {
 
-  
 
-    function push(fast) {
 
-      assert(!pushedNull, 'push() after null push');
 
- -    var c = pos >= data.length ? null : data.slice(pos, pos + n);
 
- +    var c;
 
- +    if (pos >= data.length)
 
- +      c = null;
 
- +    else {
 
- +      if (n + pos > data.length)
 
- +        n = data.length - pos;
 
- +      c = data.slice(pos, pos + n);
 
- +    }
 
-      pushedNull = c === null;
 
-      if (fast) {
 
-        pos += n;
 
- diff --git a/test/simple/test-stream-writev.js b/test/simple/test-stream-writev.js
 
- index 5b49e6e..b5321f3 100644
 
- --- a/test/simple/test-stream-writev.js
 
- +++ b/test/simple/test-stream-writev.js
 
- @@ -22,7 +22,7 @@
 
-  var common = require('../common');
 
-  var assert = require('assert');
 
-  
 
- -var stream = require('stream');
 
- +var stream = require('../../');
 
-  
 
-  var queue = [];
 
-  for (var decode = 0; decode < 2; decode++) {
 
- diff --git a/test/simple/test-stream2-basic.js b/test/simple/test-stream2-basic.js
 
- index 3814bf0..248c1be 100644
 
- --- a/test/simple/test-stream2-basic.js
 
- +++ b/test/simple/test-stream2-basic.js
 
- @@ -21,7 +21,7 @@
 
-  
 
-  
 
-  var common = require('../common.js');
 
- -var R = require('_stream_readable');
 
- +var R = require('../../lib/_stream_readable');
 
-  var assert = require('assert');
 
-  
 
-  var util = require('util');
 
- diff --git a/test/simple/test-stream2-compatibility.js b/test/simple/test-stream2-compatibility.js
 
- index 6cdd4e9..f0fa84b 100644
 
- --- a/test/simple/test-stream2-compatibility.js
 
- +++ b/test/simple/test-stream2-compatibility.js
 
- @@ -21,7 +21,7 @@
 
-  
 
-  
 
-  var common = require('../common.js');
 
- -var R = require('_stream_readable');
 
- +var R = require('../../lib/_stream_readable');
 
-  var assert = require('assert');
 
-  
 
-  var util = require('util');
 
- diff --git a/test/simple/test-stream2-finish-pipe.js b/test/simple/test-stream2-finish-pipe.js
 
- index 39b274f..006a19b 100644
 
- --- a/test/simple/test-stream2-finish-pipe.js
 
- +++ b/test/simple/test-stream2-finish-pipe.js
 
- @@ -20,7 +20,7 @@
 
-  // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-  
 
-  var common = require('../common.js');
 
- -var stream = require('stream');
 
- +var stream = require('../../');
 
-  var Buffer = require('buffer').Buffer;
 
-  
 
-  var r = new stream.Readable();
 
- diff --git a/test/simple/test-stream2-fs.js b/test/simple/test-stream2-fs.js
 
- deleted file mode 100644
 
- index e162406..0000000
 
- --- a/test/simple/test-stream2-fs.js
 
- +++ /dev/null
 
- @@ -1,72 +0,0 @@
 
- -// Copyright Joyent, Inc. and other Node contributors.
 
- -//
 
- -// Permission is hereby granted, free of charge, to any person obtaining a
 
- -// copy of this software and associated documentation files (the
 
- -// "Software"), to deal in the Software without restriction, including
 
- -// without limitation the rights to use, copy, modify, merge, publish,
 
- -// distribute, sublicense, and/or sell copies of the Software, and to permit
 
- -// persons to whom the Software is furnished to do so, subject to the
 
- -// following conditions:
 
- -//
 
- -// The above copyright notice and this permission notice shall be included
 
- -// in all copies or substantial portions of the Software.
 
- -//
 
- -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 
- -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 
- -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
 
- -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
 
- -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 
- -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 
- -// USE OR OTHER DEALINGS IN THE SOFTWARE.
 
- -
 
- -
 
- -var common = require('../common.js');
 
- -var R = require('_stream_readable');
 
- -var assert = require('assert');
 
- -
 
- -var fs = require('fs');
 
- -var FSReadable = fs.ReadStream;
 
- -
 
- -var path = require('path');
 
- -var file = path.resolve(common.fixturesDir, 'x1024.txt');
 
- -
 
- -var size = fs.statSync(file).size;
 
- -
 
- -var expectLengths = [1024];
 
- -
 
- -var util = require('util');
 
- -var Stream = require('stream');
 
- -
 
- -util.inherits(TestWriter, Stream);
 
- -
 
- -function TestWriter() {
 
- -  Stream.apply(this);
 
- -  this.buffer = [];
 
- -  this.length = 0;
 
- -}
 
- -
 
- -TestWriter.prototype.write = function(c) {
 
- -  this.buffer.push(c.toString());
 
- -  this.length += c.length;
 
- -  return true;
 
- -};
 
- -
 
- -TestWriter.prototype.end = function(c) {
 
- -  if (c) this.buffer.push(c.toString());
 
- -  this.emit('results', this.buffer);
 
- -}
 
- -
 
- -var r = new FSReadable(file);
 
- -var w = new TestWriter();
 
- -
 
- -w.on('results', function(res) {
 
- -  console.error(res, w.length);
 
- -  assert.equal(w.length, size);
 
- -  var l = 0;
 
- -  assert.deepEqual(res.map(function (c) {
 
- -    return c.length;
 
- -  }), expectLengths);
 
- -  console.log('ok');
 
- -});
 
- -
 
- -r.pipe(w);
 
- diff --git a/test/simple/test-stream2-httpclient-response-end.js b/test/simple/test-stream2-httpclient-response-end.js
 
- deleted file mode 100644
 
- index 15cffc2..0000000
 
- --- a/test/simple/test-stream2-httpclient-response-end.js
 
- +++ /dev/null
 
- @@ -1,52 +0,0 @@
 
- -// Copyright Joyent, Inc. and other Node contributors.
 
- -//
 
- -// Permission is hereby granted, free of charge, to any person obtaining a
 
- -// copy of this software and associated documentation files (the
 
- -// "Software"), to deal in the Software without restriction, including
 
- -// without limitation the rights to use, copy, modify, merge, publish,
 
- -// distribute, sublicense, and/or sell copies of the Software, and to permit
 
- -// persons to whom the Software is furnished to do so, subject to the
 
- -// following conditions:
 
- -//
 
- -// The above copyright notice and this permission notice shall be included
 
- -// in all copies or substantial portions of the Software.
 
- -//
 
- -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 
- -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 
- -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
 
- -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
 
- -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 
- -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 
- -// USE OR OTHER DEALINGS IN THE SOFTWARE.
 
- -
 
- -var common = require('../common.js');
 
- -var assert = require('assert');
 
- -var http = require('http');
 
- -var msg = 'Hello';
 
- -var readable_event = false;
 
- -var end_event = false;
 
- -var server = http.createServer(function(req, res) {
 
- -  res.writeHead(200, {'Content-Type': 'text/plain'});
 
- -  res.end(msg);
 
- -}).listen(common.PORT, function() {
 
- -  http.get({port: common.PORT}, function(res) {
 
- -    var data = '';
 
- -    res.on('readable', function() {
 
- -      console.log('readable event');
 
- -      readable_event = true;
 
- -      data += res.read();
 
- -    });
 
- -    res.on('end', function() {
 
- -      console.log('end event');
 
- -      end_event = true;
 
- -      assert.strictEqual(msg, data);
 
- -      server.close();
 
- -    });
 
- -  });
 
- -});
 
- -
 
- -process.on('exit', function() {
 
- -  assert(readable_event);
 
- -  assert(end_event);
 
- -});
 
- -
 
- diff --git a/test/simple/test-stream2-large-read-stall.js b/test/simple/test-stream2-large-read-stall.js
 
- index 2fbfbca..667985b 100644
 
- --- a/test/simple/test-stream2-large-read-stall.js
 
- +++ b/test/simple/test-stream2-large-read-stall.js
 
- @@ -30,7 +30,7 @@ var PUSHSIZE = 20;
 
-  var PUSHCOUNT = 1000;
 
-  var HWM = 50;
 
-  
 
- -var Readable = require('stream').Readable;
 
- +var Readable = require('../../').Readable;
 
-  var r = new Readable({
 
-    highWaterMark: HWM
 
-  });
 
- @@ -39,23 +39,23 @@ var rs = r._readableState;
 
-  r._read = push;
 
-  
 
-  r.on('readable', function() {
 
- -  console.error('>> readable');
 
- +  //console.error('>> readable');
 
-    do {
 
- -    console.error('  > read(%d)', READSIZE);
 
- +    //console.error('  > read(%d)', READSIZE);
 
-      var ret = r.read(READSIZE);
 
- -    console.error('  < %j (%d remain)', ret && ret.length, rs.length);
 
- +    //console.error('  < %j (%d remain)', ret && ret.length, rs.length);
 
-    } while (ret && ret.length === READSIZE);
 
-  
 
- -  console.error('<< after read()',
 
- -                ret && ret.length,
 
- -                rs.needReadable,
 
- -                rs.length);
 
- +  //console.error('<< after read()',
 
- +  //              ret && ret.length,
 
- +  //              rs.needReadable,
 
- +  //              rs.length);
 
-  });
 
-  
 
-  var endEmitted = false;
 
-  r.on('end', function() {
 
-    endEmitted = true;
 
- -  console.error('end');
 
- +  //console.error('end');
 
-  });
 
-  
 
-  var pushes = 0;
 
- @@ -64,11 +64,11 @@ function push() {
 
-      return;
 
-  
 
-    if (pushes++ === PUSHCOUNT) {
 
- -    console.error('   push(EOF)');
 
- +    //console.error('   push(EOF)');
 
-      return r.push(null);
 
-    }
 
-  
 
- -  console.error('   push #%d', pushes);
 
- +  //console.error('   push #%d', pushes);
 
-    if (r.push(new Buffer(PUSHSIZE)))
 
-      setTimeout(push);
 
-  }
 
- diff --git a/test/simple/test-stream2-objects.js b/test/simple/test-stream2-objects.js
 
- index 3e6931d..ff47d89 100644
 
- --- a/test/simple/test-stream2-objects.js
 
- +++ b/test/simple/test-stream2-objects.js
 
- @@ -21,8 +21,8 @@
 
-  
 
-  
 
-  var common = require('../common.js');
 
- -var Readable = require('_stream_readable');
 
- -var Writable = require('_stream_writable');
 
- +var Readable = require('../../lib/_stream_readable');
 
- +var Writable = require('../../lib/_stream_writable');
 
-  var assert = require('assert');
 
-  
 
-  // tiny node-tap lookalike.
 
- diff --git a/test/simple/test-stream2-pipe-error-handling.js b/test/simple/test-stream2-pipe-error-handling.js
 
- index cf7531c..e3f3e4e 100644
 
- --- a/test/simple/test-stream2-pipe-error-handling.js
 
- +++ b/test/simple/test-stream2-pipe-error-handling.js
 
- @@ -21,7 +21,7 @@
 
-  
 
-  var common = require('../common');
 
-  var assert = require('assert');
 
- -var stream = require('stream');
 
- +var stream = require('../../');
 
-  
 
-  (function testErrorListenerCatches() {
 
-    var count = 1000;
 
- diff --git a/test/simple/test-stream2-pipe-error-once-listener.js b/test/simple/test-stream2-pipe-error-once-listener.js
 
- index 5e8e3cb..53b2616 100755
 
- --- a/test/simple/test-stream2-pipe-error-once-listener.js
 
- +++ b/test/simple/test-stream2-pipe-error-once-listener.js
 
- @@ -24,7 +24,7 @@ var common = require('../common.js');
 
-  var assert = require('assert');
 
-  
 
-  var util = require('util');
 
- -var stream = require('stream');
 
- +var stream = require('../../');
 
-  
 
-  
 
-  var Read = function() {
 
- diff --git a/test/simple/test-stream2-push.js b/test/simple/test-stream2-push.js
 
- index b63edc3..eb2b0e9 100644
 
- --- a/test/simple/test-stream2-push.js
 
- +++ b/test/simple/test-stream2-push.js
 
- @@ -20,7 +20,7 @@
 
-  // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-  
 
-  var common = require('../common.js');
 
- -var stream = require('stream');
 
- +var stream = require('../../');
 
-  var Readable = stream.Readable;
 
-  var Writable = stream.Writable;
 
-  var assert = require('assert');
 
- diff --git a/test/simple/test-stream2-read-sync-stack.js b/test/simple/test-stream2-read-sync-stack.js
 
- index e8a7305..9740a47 100644
 
- --- a/test/simple/test-stream2-read-sync-stack.js
 
- +++ b/test/simple/test-stream2-read-sync-stack.js
 
- @@ -21,7 +21,7 @@
 
-  
 
-  var common = require('../common');
 
-  var assert = require('assert');
 
- -var Readable = require('stream').Readable;
 
- +var Readable = require('../../').Readable;
 
-  var r = new Readable();
 
-  var N = 256 * 1024;
 
-  
 
- diff --git a/test/simple/test-stream2-readable-empty-buffer-no-eof.js b/test/simple/test-stream2-readable-empty-buffer-no-eof.js
 
- index cd30178..4b1659d 100644
 
- --- a/test/simple/test-stream2-readable-empty-buffer-no-eof.js
 
- +++ b/test/simple/test-stream2-readable-empty-buffer-no-eof.js
 
- @@ -22,10 +22,9 @@
 
-  var common = require('../common');
 
-  var assert = require('assert');
 
-  
 
- -var Readable = require('stream').Readable;
 
- +var Readable = require('../../').Readable;
 
-  
 
-  test1();
 
- -test2();
 
-  
 
-  function test1() {
 
-    var r = new Readable();
 
- @@ -88,31 +87,3 @@ function test1() {
 
-      console.log('ok');
 
-    });
 
-  }
 
- -
 
- -function test2() {
 
- -  var r = new Readable({ encoding: 'base64' });
 
- -  var reads = 5;
 
- -  r._read = function(n) {
 
- -    if (!reads--)
 
- -      return r.push(null); // EOF
 
- -    else
 
- -      return r.push(new Buffer('x'));
 
- -  };
 
- -
 
- -  var results = [];
 
- -  function flow() {
 
- -    var chunk;
 
- -    while (null !== (chunk = r.read()))
 
- -      results.push(chunk + '');
 
- -  }
 
- -  r.on('readable', flow);
 
- -  r.on('end', function() {
 
- -    results.push('EOF');
 
- -  });
 
- -  flow();
 
- -
 
- -  process.on('exit', function() {
 
- -    assert.deepEqual(results, [ 'eHh4', 'eHg=', 'EOF' ]);
 
- -    console.log('ok');
 
- -  });
 
- -}
 
- diff --git a/test/simple/test-stream2-readable-from-list.js b/test/simple/test-stream2-readable-from-list.js
 
- index 7c96ffe..04a96f5 100644
 
- --- a/test/simple/test-stream2-readable-from-list.js
 
- +++ b/test/simple/test-stream2-readable-from-list.js
 
- @@ -21,7 +21,7 @@
 
-  
 
-  var assert = require('assert');
 
-  var common = require('../common.js');
 
- -var fromList = require('_stream_readable')._fromList;
 
- +var fromList = require('../../lib/_stream_readable')._fromList;
 
-  
 
-  // tiny node-tap lookalike.
 
-  var tests = [];
 
- diff --git a/test/simple/test-stream2-readable-legacy-drain.js b/test/simple/test-stream2-readable-legacy-drain.js
 
- index 675da8e..51fd3d5 100644
 
- --- a/test/simple/test-stream2-readable-legacy-drain.js
 
- +++ b/test/simple/test-stream2-readable-legacy-drain.js
 
- @@ -22,7 +22,7 @@
 
-  var common = require('../common');
 
-  var assert = require('assert');
 
-  
 
- -var Stream = require('stream');
 
- +var Stream = require('../../');
 
-  var Readable = Stream.Readable;
 
-  
 
-  var r = new Readable();
 
- diff --git a/test/simple/test-stream2-readable-non-empty-end.js b/test/simple/test-stream2-readable-non-empty-end.js
 
- index 7314ae7..c971898 100644
 
- --- a/test/simple/test-stream2-readable-non-empty-end.js
 
- +++ b/test/simple/test-stream2-readable-non-empty-end.js
 
- @@ -21,7 +21,7 @@
 
-  
 
-  var assert = require('assert');
 
-  var common = require('../common.js');
 
- -var Readable = require('_stream_readable');
 
- +var Readable = require('../../lib/_stream_readable');
 
-  
 
-  var len = 0;
 
-  var chunks = new Array(10);
 
- diff --git a/test/simple/test-stream2-readable-wrap-empty.js b/test/simple/test-stream2-readable-wrap-empty.js
 
- index 2e5cf25..fd8a3dc 100644
 
- --- a/test/simple/test-stream2-readable-wrap-empty.js
 
- +++ b/test/simple/test-stream2-readable-wrap-empty.js
 
- @@ -22,7 +22,7 @@
 
-  var common = require('../common');
 
-  var assert = require('assert');
 
-  
 
- -var Readable = require('_stream_readable');
 
- +var Readable = require('../../lib/_stream_readable');
 
-  var EE = require('events').EventEmitter;
 
-  
 
-  var oldStream = new EE();
 
- diff --git a/test/simple/test-stream2-readable-wrap.js b/test/simple/test-stream2-readable-wrap.js
 
- index 90eea01..6b177f7 100644
 
- --- a/test/simple/test-stream2-readable-wrap.js
 
- +++ b/test/simple/test-stream2-readable-wrap.js
 
- @@ -22,8 +22,8 @@
 
-  var common = require('../common');
 
-  var assert = require('assert');
 
-  
 
- -var Readable = require('_stream_readable');
 
- -var Writable = require('_stream_writable');
 
- +var Readable = require('../../lib/_stream_readable');
 
- +var Writable = require('../../lib/_stream_writable');
 
-  var EE = require('events').EventEmitter;
 
-  
 
-  var testRuns = 0, completedRuns = 0;
 
- diff --git a/test/simple/test-stream2-set-encoding.js b/test/simple/test-stream2-set-encoding.js
 
- index 5d2c32a..685531b 100644
 
- --- a/test/simple/test-stream2-set-encoding.js
 
- +++ b/test/simple/test-stream2-set-encoding.js
 
- @@ -22,7 +22,7 @@
 
-  
 
-  var common = require('../common.js');
 
-  var assert = require('assert');
 
- -var R = require('_stream_readable');
 
- +var R = require('../../lib/_stream_readable');
 
-  var util = require('util');
 
-  
 
-  // tiny node-tap lookalike.
 
- diff --git a/test/simple/test-stream2-transform.js b/test/simple/test-stream2-transform.js
 
- index 9c9ddd8..a0cacc6 100644
 
- --- a/test/simple/test-stream2-transform.js
 
- +++ b/test/simple/test-stream2-transform.js
 
- @@ -21,8 +21,8 @@
 
-  
 
-  var assert = require('assert');
 
-  var common = require('../common.js');
 
- -var PassThrough = require('_stream_passthrough');
 
- -var Transform = require('_stream_transform');
 
- +var PassThrough = require('../../').PassThrough;
 
- +var Transform = require('../../').Transform;
 
-  
 
-  // tiny node-tap lookalike.
 
-  var tests = [];
 
- diff --git a/test/simple/test-stream2-unpipe-drain.js b/test/simple/test-stream2-unpipe-drain.js
 
- index d66dc3c..365b327 100644
 
- --- a/test/simple/test-stream2-unpipe-drain.js
 
- +++ b/test/simple/test-stream2-unpipe-drain.js
 
- @@ -22,7 +22,7 @@
 
-  
 
-  var common = require('../common.js');
 
-  var assert = require('assert');
 
- -var stream = require('stream');
 
- +var stream = require('../../');
 
-  var crypto = require('crypto');
 
-  
 
-  var util = require('util');
 
- diff --git a/test/simple/test-stream2-unpipe-leak.js b/test/simple/test-stream2-unpipe-leak.js
 
- index 99f8746..17c92ae 100644
 
- --- a/test/simple/test-stream2-unpipe-leak.js
 
- +++ b/test/simple/test-stream2-unpipe-leak.js
 
- @@ -22,7 +22,7 @@
 
-  
 
-  var common = require('../common.js');
 
-  var assert = require('assert');
 
- -var stream = require('stream');
 
- +var stream = require('../../');
 
-  
 
-  var chunk = new Buffer('hallo');
 
-  
 
- diff --git a/test/simple/test-stream2-writable.js b/test/simple/test-stream2-writable.js
 
- index 704100c..209c3a6 100644
 
- --- a/test/simple/test-stream2-writable.js
 
- +++ b/test/simple/test-stream2-writable.js
 
- @@ -20,8 +20,8 @@
 
-  // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-  
 
-  var common = require('../common.js');
 
- -var W = require('_stream_writable');
 
- -var D = require('_stream_duplex');
 
- +var W = require('../../').Writable;
 
- +var D = require('../../').Duplex;
 
-  var assert = require('assert');
 
-  
 
-  var util = require('util');
 
- diff --git a/test/simple/test-stream3-pause-then-read.js b/test/simple/test-stream3-pause-then-read.js
 
- index b91bde3..2f72c15 100644
 
- --- a/test/simple/test-stream3-pause-then-read.js
 
- +++ b/test/simple/test-stream3-pause-then-read.js
 
- @@ -22,7 +22,7 @@
 
-  var common = require('../common');
 
-  var assert = require('assert');
 
-  
 
- -var stream = require('stream');
 
- +var stream = require('../../');
 
-  var Readable = stream.Readable;
 
-  var Writable = stream.Writable;
 
-  
 
 
  |