mirror of
https://github.com/thangisme/notes.git
synced 2024-11-01 00:27:24 -04:00
924 lines
30 KiB
Diff
924 lines
30 KiB
Diff
|
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;
|
||
|
|