11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ci 31cb0ef41Sopenharmony_ciconst common = require('../common'); 41cb0ef41Sopenharmony_ciconst assert = require('assert'); 51cb0ef41Sopenharmony_ciconst domain = require('domain'); 61cb0ef41Sopenharmony_ciconst EventEmitter = require('events'); 71cb0ef41Sopenharmony_ci 81cb0ef41Sopenharmony_ciconst d = new domain.Domain(); 91cb0ef41Sopenharmony_ciconst e = new EventEmitter(); 101cb0ef41Sopenharmony_ci 111cb0ef41Sopenharmony_cid.on('error', common.mustCall((err) => { 121cb0ef41Sopenharmony_ci assert.strictEqual(err.message, 'foobar'); 131cb0ef41Sopenharmony_ci assert.strictEqual(err.domain, d); 141cb0ef41Sopenharmony_ci assert.strictEqual(err.domainEmitter, e); 151cb0ef41Sopenharmony_ci assert.strictEqual(err.domainBound, undefined); 161cb0ef41Sopenharmony_ci assert.strictEqual(err.domainThrown, false); 171cb0ef41Sopenharmony_ci})); 181cb0ef41Sopenharmony_ci 191cb0ef41Sopenharmony_cid.add(e); 201cb0ef41Sopenharmony_cie.emit('error', new Error('foobar')); 211cb0ef41Sopenharmony_ci 221cb0ef41Sopenharmony_ci{ 231cb0ef41Sopenharmony_ci // Ensure initial params pass to origin `EventEmitter.init` function 241cb0ef41Sopenharmony_ci const e = new EventEmitter({ captureRejections: true }); 251cb0ef41Sopenharmony_ci const kCapture = Object.getOwnPropertySymbols(e) 261cb0ef41Sopenharmony_ci .find((it) => it.description === 'kCapture'); 271cb0ef41Sopenharmony_ci assert.strictEqual(e[kCapture], true); 281cb0ef41Sopenharmony_ci} 29