1'use strict'; 2 3const common = require('../common'); 4const assert = require('assert'); 5const domain = require('domain'); 6const EventEmitter = require('events'); 7 8const d = new domain.Domain(); 9const e = new EventEmitter(); 10 11d.on('error', common.mustCall((err) => { 12 assert.strictEqual(err.message, 'foobar'); 13 assert.strictEqual(err.domain, d); 14 assert.strictEqual(err.domainEmitter, e); 15 assert.strictEqual(err.domainBound, undefined); 16 assert.strictEqual(err.domainThrown, false); 17})); 18 19d.add(e); 20e.emit('error', new Error('foobar')); 21 22{ 23 // Ensure initial params pass to origin `EventEmitter.init` function 24 const e = new EventEmitter({ captureRejections: true }); 25 const kCapture = Object.getOwnPropertySymbols(e) 26 .find((it) => it.description === 'kCapture'); 27 assert.strictEqual(e[kCapture], true); 28} 29