• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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