Browse Source

test: make .removeAllListeners() test more exhaustive

Also test removal of multiple listeners, it's a separate code path.
v0.9.1-release
Ben Noordhuis 13 years ago
parent
commit
761a82bc9a
  1. 12
      test/simple/test-event-emitter-remove-all-listeners.js

12
test/simple/test-event-emitter-remove-all-listeners.js

@ -29,14 +29,20 @@ function listener() {}
var e1 = new events.EventEmitter(); var e1 = new events.EventEmitter();
e1.on('foo', listener); e1.on('foo', listener);
e1.on('bar', listener); e1.on('bar', listener);
e1.on('baz', listener);
e1.on('baz', listener);
var fooListeners = e1.listeners('foo'); var fooListeners = e1.listeners('foo');
var barListeners = e1.listeners('bar'); var barListeners = e1.listeners('bar');
e1.removeAllListeners('foo'); var bazListeners = e1.listeners('baz');
assert.deepEqual(e1.listeners('foo'), []); e1.removeAllListeners('bar');
assert.deepEqual(e1.listeners('bar'), [listener]); e1.removeAllListeners('baz');
assert.deepEqual(e1.listeners('foo'), [listener]);
assert.deepEqual(e1.listeners('bar'), []);
assert.deepEqual(e1.listeners('baz'), []);
// identity check, the array should not change // identity check, the array should not change
assert.equal(e1.listeners('foo'), fooListeners); assert.equal(e1.listeners('foo'), fooListeners);
assert.equal(e1.listeners('bar'), barListeners); assert.equal(e1.listeners('bar'), barListeners);
assert.equal(e1.listeners('baz'), bazListeners);
var e2 = new events.EventEmitter(); var e2 = new events.EventEmitter();
e2.on('foo', listener); e2.on('foo', listener);

Loading…
Cancel
Save