node/test/parallel/test-event-emitter-listeners.js
cjihrig 1ab5b4ef20 test: refactor large event emitter tests
This commit splits several large event emitter tests into smaller
block scoped tests. This keeps the tests more isolated. This
commit also replaces var with const, assert.equal() with
assert.stictEqual(), and other small enhancements.

PR-URL: https://github.com/nodejs/node/pull/6446
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-05-02 10:36:32 -04:00

39 lines
1.1 KiB
JavaScript

'use strict';
require('../common');
const assert = require('assert');
const events = require('events');
function listener() {}
function listener2() {}
{
const ee = new events.EventEmitter();
ee.on('foo', listener);
const fooListeners = ee.listeners('foo');
assert.deepStrictEqual(ee.listeners('foo'), [listener]);
ee.removeAllListeners('foo');
assert.deepStrictEqual(ee.listeners('foo'), []);
assert.deepStrictEqual(fooListeners, [listener]);
}
{
const ee = new events.EventEmitter();
ee.on('foo', listener);
const eeListenersCopy = ee.listeners('foo');
assert.deepStrictEqual(eeListenersCopy, [listener]);
assert.deepStrictEqual(ee.listeners('foo'), [listener]);
eeListenersCopy.push(listener2);
assert.deepStrictEqual(ee.listeners('foo'), [listener]);
assert.deepStrictEqual(eeListenersCopy, [listener, listener2]);
}
{
const ee = new events.EventEmitter();
ee.on('foo', listener);
const eeListenersCopy = ee.listeners('foo');
ee.on('foo', listener2);
assert.deepStrictEqual(ee.listeners('foo'), [listener, listener2]);
assert.deepStrictEqual(eeListenersCopy, [listener]);
}