summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMathias Buus <mathiasbuus@gmail.com>2018-04-05 20:52:19 +0200
committerMathias Buus <mathiasbuus@gmail.com>2018-04-09 12:30:41 +0200
commita7c25b7d42b79878548b9d660af0195e7318fc33 (patch)
tree2b1b1b81f2a63c33dcdee6a1ac513aaa24af25b3 /test
parent0cd8359652b39cdb577ac3c67bdea03e6aba9f97 (diff)
downloadandroid-node-v8-a7c25b7d42b79878548b9d660af0195e7318fc33.tar.gz
android-node-v8-a7c25b7d42b79878548b9d660af0195e7318fc33.tar.bz2
android-node-v8-a7c25b7d42b79878548b9d660af0195e7318fc33.zip
stream: always emit error before close
PR-URL: https://github.com/nodejs/node/pull/19836 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Diffstat (limited to 'test')
-rw-r--r--test/parallel/test-http2-stream-destroy-event-order.js8
-rw-r--r--test/parallel/test-stream-destroy-event-order.js24
2 files changed, 28 insertions, 4 deletions
diff --git a/test/parallel/test-http2-stream-destroy-event-order.js b/test/parallel/test-http2-stream-destroy-event-order.js
index e2732830ef..88e4a99f99 100644
--- a/test/parallel/test-http2-stream-destroy-event-order.js
+++ b/test/parallel/test-http2-stream-destroy-event-order.js
@@ -9,8 +9,8 @@ let client;
let req;
const server = http2.createServer();
server.on('stream', common.mustCall((stream) => {
- stream.on('close', common.mustCall(() => {
- stream.on('error', common.mustCall(() => {
+ stream.on('error', common.mustCall(() => {
+ stream.on('close', common.mustCall(() => {
server.close();
}));
}));
@@ -21,8 +21,8 @@ server.listen(0, common.mustCall(() => {
client = http2.connect(`http://localhost:${server.address().port}`);
req = client.request();
req.resume();
- req.on('close', common.mustCall(() => {
- req.on('error', common.mustCall(() => {
+ req.on('error', common.mustCall(() => {
+ req.on('close', common.mustCall(() => {
client.close();
}));
}));
diff --git a/test/parallel/test-stream-destroy-event-order.js b/test/parallel/test-stream-destroy-event-order.js
new file mode 100644
index 0000000000..a88fff820d
--- /dev/null
+++ b/test/parallel/test-stream-destroy-event-order.js
@@ -0,0 +1,24 @@
+'use strict';
+
+const common = require('../common');
+const assert = require('assert');
+const { Readable } = require('stream');
+
+const rs = new Readable({
+ read() {}
+});
+
+let closed = false;
+let errored = false;
+
+rs.on('close', common.mustCall(() => {
+ closed = true;
+ assert(errored);
+}));
+
+rs.on('error', common.mustCall((err) => {
+ errored = true;
+ assert(!closed);
+}));
+
+rs.destroy(new Error('kaboom'));