summaryrefslogtreecommitdiff
path: root/test/parallel/test-domain-multiple-errors.js
blob: 5b031eb1b44bc458d28dccd42de5ced60bf1db13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'use strict';

const common = require('../common');
const assert = require('assert');
const domain = require('domain');

// This test is similar to test-domain-error-types, but uses a single domain
// to emit all errors.

const d = new domain.Domain();

const values = [
  42, null, undefined, false, () => {}, 'string', Symbol('foo')
];

d.on('error', common.mustCall((err) => {
  assert(values.includes(err));
}, values.length));

for (const something of values) {
  d.run(common.mustCall(() => {
    process.nextTick(common.mustCall(() => {
      throw something;
    }));
  }));
}