summaryrefslogtreecommitdiff
path: root/test/parallel/test-stream-readable-async-iterators.js
diff options
context:
space:
mode:
authorJulien Fontanet <julien.fontanet@isonoe.net>2018-04-26 11:53:23 +0200
committerRuben Bridgewater <ruben@bridgewater.de>2018-04-29 17:22:48 +0200
commit9c48926dba20a507968d4152fafa9d51d69cf970 (patch)
treee43773d94b2394948fc2e0a130bc5b4c39dea68e /test/parallel/test-stream-readable-async-iterators.js
parenta9051bb2c32f30dc6f715bed593765b257ba1a48 (diff)
downloadandroid-node-v8-9c48926dba20a507968d4152fafa9d51d69cf970.tar.gz
android-node-v8-9c48926dba20a507968d4152fafa9d51d69cf970.tar.bz2
android-node-v8-9c48926dba20a507968d4152fafa9d51d69cf970.zip
stream: fix error handling with async iteration
Fix an issue when an error was emitted by the stream before `iterator.next()` is called. PR-URL: https://github.com/nodejs/node/pull/20329 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Diffstat (limited to 'test/parallel/test-stream-readable-async-iterators.js')
-rw-r--r--test/parallel/test-stream-readable-async-iterators.js12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/parallel/test-stream-readable-async-iterators.js b/test/parallel/test-stream-readable-async-iterators.js
index b1801a1db3..39761b4132 100644
--- a/test/parallel/test-stream-readable-async-iterators.js
+++ b/test/parallel/test-stream-readable-async-iterators.js
@@ -116,6 +116,18 @@ async function tests() {
})();
await (async function() {
+ console.log('call next() after error');
+ const readable = new Readable({
+ read() {}
+ });
+ const iterator = readable[Symbol.asyncIterator]();
+
+ const err = new Error('kaboom');
+ readable.destroy(new Error('kaboom'));
+ await assert.rejects(iterator.next.bind(iterator), err);
+ })();
+
+ await (async function() {
console.log('read object mode');
const max = 42;
let readed = 0;