• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2
3require('../common');
4const assert = require('assert');
5const domain = require('domain');
6const EventEmitter = require('events');
7const isEnumerable = Function.call.bind(Object.prototype.propertyIsEnumerable);
8
9const d = new domain.Domain();
10const e = new EventEmitter();
11const e2 = new EventEmitter();
12
13d.add(e);
14assert.strictEqual(e.domain, d);
15assert.strictEqual(isEnumerable(e, 'domain'), false);
16
17// Adding the same event to a domain should not change the member count
18let previousMemberCount = d.members.length;
19d.add(e);
20assert.strictEqual(previousMemberCount, d.members.length);
21
22d.add(e2);
23assert.strictEqual(e2.domain, d);
24assert.strictEqual(isEnumerable(e2, 'domain'), false);
25
26previousMemberCount = d.members.length;
27d.remove(e2);
28assert.notStrictEqual(e2.domain, d);
29assert.strictEqual(isEnumerable(e2, 'domain'), false);
30assert.strictEqual(previousMemberCount - 1, d.members.length);
31