nodejs/test/parallel/test-webstream-readablestream-pipeto.js

25 lines
729 B
JavaScript
Raw Permalink Normal View History

// Flags: --expose-internals
'use strict';
const common = require('../common');
const assert = require('node:assert');
const { AbortError } = require('internal/errors');
// Purpose: pass an AbortError instance, which isn't the DOMException, as an
// abort reason.
for (const message of [undefined, 'abc']) {
const rs = new ReadableStream();
const ws = new WritableStream();
const ac = new AbortController();
const reason = new AbortError(message);
ac.abort(reason);
assert.rejects(rs.pipeTo(ws, { signal: ac.signal }), (e) => {
assert(e instanceof DOMException);
assert.strictEqual(e.name, 'AbortError');
assert.strictEqual(e.message, reason.message);
return true;
}).then(common.mustCall());
}