// If the user uses them, then switch into old mode.
Readable.prototype.resume = function() {
emitDataEvents(this);
- return this.resume();
};
Readable.prototype.pause = function() {
- emitDataEvents(this);
- return this.pause();
+ emitDataEvents(this, true);
};
-function emitDataEvents(stream) {
+function emitDataEvents(stream, startPaused) {
var state = stream._readableState;
if (state.flowing) {
throw new Error('Cannot switch to old mode now.');
}
- var paused = false;
+ var paused = startPaused || false;
var readable = false;
// convert to an old-style stream.
var read = fs.createReadStream(emptyFile, { 'fd': fd });
read.once('data', function () {
- throw new Error("data event should not emit");
+ throw new Error('data event should not emit');
});
var readEmit = false;
read.once('end', function () {
readEmit = true;
+ console.error('end event 1');
});
setTimeout(function () {
read.pause();
read.once('data', function () {
- throw new Error("data event should not emit");
+ throw new Error('data event should not emit');
});
var readEmit = false;
read.once('end', function () {
readEmit = true;
+ console.error('end event 2');
});
setTimeout(function () {