31 lines
913 B
JavaScript
31 lines
913 B
JavaScript
'use strict';
|
|
|
|
require('../common');
|
|
const assert = require('assert');
|
|
const domain = require('domain');
|
|
const EventEmitter = require('events');
|
|
const isEnumerable = Function.call.bind(Object.prototype.propertyIsEnumerable);
|
|
|
|
const d = new domain.Domain();
|
|
const e = new EventEmitter();
|
|
const e2 = new EventEmitter();
|
|
|
|
d.add(e);
|
|
assert.strictEqual(e.domain, d);
|
|
assert.strictEqual(isEnumerable(e, 'domain'), false);
|
|
|
|
// Adding the same event to a domain should not change the member count
|
|
let previousMemberCount = d.members.length;
|
|
d.add(e);
|
|
assert.strictEqual(previousMemberCount, d.members.length);
|
|
|
|
d.add(e2);
|
|
assert.strictEqual(e2.domain, d);
|
|
assert.strictEqual(isEnumerable(e2, 'domain'), false);
|
|
|
|
previousMemberCount = d.members.length;
|
|
d.remove(e2);
|
|
assert.notStrictEqual(e2.domain, d);
|
|
assert.strictEqual(isEnumerable(e2, 'domain'), false);
|
|
assert.strictEqual(previousMemberCount - 1, d.members.length);
|