11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ci 31cb0ef41Sopenharmony_ciconst common = require('../common'); 41cb0ef41Sopenharmony_ciconst assert = require('assert'); 51cb0ef41Sopenharmony_ciconst domain = require('domain'); 61cb0ef41Sopenharmony_ci 71cb0ef41Sopenharmony_ci{ 81cb0ef41Sopenharmony_ci const d = new domain.Domain(); 91cb0ef41Sopenharmony_ci 101cb0ef41Sopenharmony_ci const mustNotCall = common.mustNotCall(); 111cb0ef41Sopenharmony_ci 121cb0ef41Sopenharmony_ci d.on('error', common.mustCall((err) => { 131cb0ef41Sopenharmony_ci assert.strictEqual(err.message, 'foobar'); 141cb0ef41Sopenharmony_ci assert.strictEqual(err.domain, d); 151cb0ef41Sopenharmony_ci assert.strictEqual(err.domainEmitter, undefined); 161cb0ef41Sopenharmony_ci assert.strictEqual(err.domainBound, mustNotCall); 171cb0ef41Sopenharmony_ci assert.strictEqual(err.domainThrown, false); 181cb0ef41Sopenharmony_ci })); 191cb0ef41Sopenharmony_ci 201cb0ef41Sopenharmony_ci const bound = d.intercept(mustNotCall); 211cb0ef41Sopenharmony_ci bound(new Error('foobar')); 221cb0ef41Sopenharmony_ci} 231cb0ef41Sopenharmony_ci 241cb0ef41Sopenharmony_ci{ 251cb0ef41Sopenharmony_ci const d = new domain.Domain(); 261cb0ef41Sopenharmony_ci 271cb0ef41Sopenharmony_ci const bound = d.intercept(common.mustCall((data) => { 281cb0ef41Sopenharmony_ci assert.strictEqual(data, 'data'); 291cb0ef41Sopenharmony_ci })); 301cb0ef41Sopenharmony_ci 311cb0ef41Sopenharmony_ci bound(null, 'data'); 321cb0ef41Sopenharmony_ci} 331cb0ef41Sopenharmony_ci 341cb0ef41Sopenharmony_ci{ 351cb0ef41Sopenharmony_ci const d = new domain.Domain(); 361cb0ef41Sopenharmony_ci 371cb0ef41Sopenharmony_ci const bound = d.intercept(common.mustCall((data, data2) => { 381cb0ef41Sopenharmony_ci assert.strictEqual(data, 'data'); 391cb0ef41Sopenharmony_ci assert.strictEqual(data2, 'data2'); 401cb0ef41Sopenharmony_ci })); 411cb0ef41Sopenharmony_ci 421cb0ef41Sopenharmony_ci bound(null, 'data', 'data2'); 431cb0ef41Sopenharmony_ci} 44