1// Flags: --expose-internals 2'use strict'; 3 4require('../common'); 5const assert = require('node:assert'); 6const { AbortError } = require('internal/errors'); 7 8// Purpose: pass an AbortError instance, which isn't the DOMException, as an 9// abort reason. 10 11for (const message of [undefined, 'abc']) { 12 const rs = new ReadableStream(); 13 const ws = new WritableStream(); 14 const ac = new AbortController(); 15 const reason = new AbortError(message); 16 ac.abort(reason); 17 18 assert.rejects(rs.pipeTo(ws, { signal: ac.signal }), (e) => { 19 assert(e instanceof DOMException); 20 assert.strictEqual(e.name, 'AbortError'); 21 assert.strictEqual(e.message, reason.message); 22 return true; 23 }); 24} 25