Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /usr/local/lib/node_modules/create-react-app/node_modules/duplexer2/test/ drwxr-xr-x | |
| Viewing file: Select action/file-type: var assert = require("chai").assert;
var stream = require("readable-stream");
var duplexer2 = require("../");
describe("duplexer2", function() {
var writable, readable;
beforeEach(function() {
writable = new stream.Writable({objectMode: true});
readable = new stream.Readable({objectMode: true});
writable._write = function _write(input, encoding, done) {
return done();
};
readable._read = function _read(n) {
};
});
it("should interact with the writable stream properly for writing", function(done) {
var duplex = duplexer2(writable, readable);
writable._write = function _write(input, encoding, _done) {
assert.strictEqual(input, "well hello there");
return done();
};
duplex.write("well hello there");
});
it("should interact with the readable stream properly for reading", function(done) {
var duplex = duplexer2(writable, readable);
duplex.on("data", function(e) {
assert.strictEqual(e, "well hello there");
return done();
});
readable.push("well hello there");
});
it("should end the writable stream, causing it to finish", function(done) {
var duplex = duplexer2(writable, readable);
writable.once("finish", done);
duplex.end();
});
it("should finish when the writable stream finishes", function(done) {
var duplex = duplexer2(writable, readable);
duplex.once("finish", done);
writable.end();
});
it("should end when the readable stream ends", function(done) {
var duplex = duplexer2(writable, readable);
// required to let "end" fire without reading
duplex.resume();
duplex.once("end", done);
readable.push(null);
});
it("should bubble errors from the writable stream when no behaviour is specified", function(done) {
var duplex = duplexer2(writable, readable);
var originalErr = Error("testing");
duplex.on("error", function(err) {
assert.strictEqual(err, originalErr);
return done();
});
writable.emit("error", originalErr);
});
it("should bubble errors from the readable stream when no behaviour is specified", function(done) {
var duplex = duplexer2(writable, readable);
var originalErr = Error("testing");
duplex.on("error", function(err) {
assert.strictEqual(err, originalErr);
return done();
});
readable.emit("error", originalErr);
});
it("should bubble errors from the writable stream when bubbleErrors is true", function(done) {
var duplex = duplexer2({bubbleErrors: true}, writable, readable);
var originalErr = Error("testing");
duplex.on("error", function(err) {
assert.strictEqual(err, originalErr);
return done();
});
writable.emit("error", originalErr);
});
it("should bubble errors from the readable stream when bubbleErrors is true", function(done) {
var duplex = duplexer2({bubbleErrors: true}, writable, readable);
var originalErr = Error("testing");
duplex.on("error", function(err) {
assert.strictEqual(err, originalErr);
return done();
});
readable.emit("error", originalErr);
});
it("should not bubble errors from the writable stream when bubbleErrors is false", function(done) {
var duplex = duplexer2({bubbleErrors: false}, writable, readable);
var timeout = setTimeout(done, 25);
duplex.on("error", function(err) {
clearTimeout(timeout);
return done(Error("shouldn't bubble error"));
});
// prevent uncaught error exception
writable.on("error", function() {});
writable.emit("error", Error("testing"));
});
it("should not bubble errors from the readable stream when bubbleErrors is false", function(done) {
var duplex = duplexer2({bubbleErrors: false}, writable, readable);
var timeout = setTimeout(done, 25);
duplex.on("error", function(err) {
clearTimeout(timeout);
return done(Error("shouldn't bubble error"));
});
// prevent uncaught error exception
readable.on("error", function() {});
readable.emit("error", Error("testing"));
});
});
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.067 ]-- |