diff options
author | Mathias Buus <mathiasbuus@gmail.com> | 2018-04-05 20:52:19 +0200 |
---|---|---|
committer | Mathias Buus <mathiasbuus@gmail.com> | 2018-04-09 12:30:41 +0200 |
commit | a7c25b7d42b79878548b9d660af0195e7318fc33 (patch) | |
tree | 2b1b1b81f2a63c33dcdee6a1ac513aaa24af25b3 /test | |
parent | 0cd8359652b39cdb577ac3c67bdea03e6aba9f97 (diff) | |
download | android-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.js | 8 | ||||
-rw-r--r-- | test/parallel/test-stream-destroy-event-order.js | 24 |
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')); |