1// Flags: --expose-internals
2'use strict';
3
4require('../common');
5const {
6  strictEqual,
7  throws,
8} = require('assert');
9const { AbortError } = require('internal/errors');
10
11{
12  const err = new AbortError();
13  strictEqual(err.message, 'The operation was aborted');
14  strictEqual(err.cause, undefined);
15}
16
17{
18  const cause = new Error('boom');
19  const err = new AbortError('bang', { cause });
20  strictEqual(err.message, 'bang');
21  strictEqual(err.cause, cause);
22}
23
24{
25  throws(() => new AbortError('', false), {
26    code: 'ERR_INVALID_ARG_TYPE'
27  });
28  throws(() => new AbortError('', ''), {
29    code: 'ERR_INVALID_ARG_TYPE'
30  });
31}
32