node/test/parallel/test-domain-add-remove.js
Petar Dodev 9970d562c6
test: test add and remove for lib/domain
Testing some of the more specific cases of using domain.add and
domain.remove. For example, calling domain.add twice with same event
emmiter and actually removing an event emitter from the domain.

PR-URL: https://github.com/nodejs/node/pull/24163
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2019-01-12 10:38:02 -08:00

27 lines
669 B
JavaScript

'use strict';
require('../common');
const assert = require('assert');
const domain = require('domain');
const EventEmitter = require('events');
const d = new domain.Domain();
const e = new EventEmitter();
const e2 = new EventEmitter();
d.add(e);
assert.strictEqual(e.domain, d);
// 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);
previousMemberCount = d.members.length;
d.remove(e2);
assert.notStrictEqual(e2.domain, d);
assert.strictEqual(previousMemberCount - 1, d.members.length);