deno.land / std@0.166.0 / node / _tools / test / parallel / test-stream-catch-rejections.js
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859// deno-fmt-ignore-file// deno-lint-ignore-file
// Copyright Joyent and Node contributors. All rights reserved. MIT license.// Taken from Node 18.12.0// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually
'use strict';
const common = require('../common');const stream = require('stream');const assert = require('assert');
{ const r = new stream.Readable({ captureRejections: true, read() { } }); r.push('hello'); r.push('world');
const err = new Error('kaboom');
r.on('error', common.mustCall((_err) => { assert.strictEqual(err, _err); assert.strictEqual(r.destroyed, true); }));
r.on('data', async () => { throw err; });}
{ const w = new stream.Writable({ captureRejections: true, highWaterMark: 1, write(chunk, enc, cb) { process.nextTick(cb); } });
const err = new Error('kaboom');
w.write('hello', () => { w.write('world'); });
w.on('error', common.mustCall((_err) => { assert.strictEqual(err, _err); assert.strictEqual(w.destroyed, true); }));
w.on('drain', common.mustCall(async () => { throw err; }, 2));}
Version Info