• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2
3const common = require('../common');
4const assert = require('assert');
5const domain = require('domain');
6const isEnumerable = Function.call.bind(Object.prototype.propertyIsEnumerable);
7
8const d = new domain.Domain();
9
10d.on('error', common.mustCall((err) => {
11  assert.strictEqual(err.message, 'foobar');
12  assert.strictEqual(err.domain, d);
13  assert.strictEqual(isEnumerable(err, 'domain'), false);
14  assert.strictEqual(err.domainEmitter, undefined);
15  assert.strictEqual(err.domainBound, undefined);
16  assert.strictEqual(err.domainThrown, true);
17}));
18
19d.run(common.mustCall(() => {
20  setTimeout(common.mustCall(() => {
21    throw new Error('foobar');
22  }), 1);
23}));
24