27 lines
585 B
JavaScript
27 lines
585 B
JavaScript
'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;
|
|
}));
|
|
}));
|
|
}
|