Sha256: d66b581c970396c38b48add64bc656d1e5cbc4d391d33b8259bda78a45d1a1cc

Contents?: true

Size: 1.31 KB

Versions: 8

Compression:

Stored size: 1.31 KB

Contents

/* */ 
var assert = require('assert');
var events = require('../events');
var callbacks_called = [];
var e = new events.EventEmitter();
function callback1() {
  callbacks_called.push('callback1');
  e.on('foo', callback2);
  e.on('foo', callback3);
  e.removeListener('foo', callback1);
}
function callback2() {
  callbacks_called.push('callback2');
  e.removeListener('foo', callback2);
}
function callback3() {
  callbacks_called.push('callback3');
  e.removeListener('foo', callback3);
}
e.on('foo', callback1);
assert.equal(1, e.listeners('foo').length);
e.emit('foo');
assert.equal(2, e.listeners('foo').length);
assert.deepEqual(['callback1'], callbacks_called);
e.emit('foo');
assert.equal(0, e.listeners('foo').length);
assert.deepEqual(['callback1', 'callback2', 'callback3'], callbacks_called);
e.emit('foo');
assert.equal(0, e.listeners('foo').length);
assert.deepEqual(['callback1', 'callback2', 'callback3'], callbacks_called);
e.on('foo', callback1);
e.on('foo', callback2);
assert.equal(2, e.listeners('foo').length);
e.removeAllListeners('foo');
assert.equal(0, e.listeners('foo').length);
callbacks_called = [];
e.on('foo', callback2);
e.on('foo', callback3);
assert.equal(2, e.listeners('foo').length);
e.emit('foo');
assert.deepEqual(['callback2', 'callback3'], callbacks_called);
assert.equal(0, e.listeners('foo').length);

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
sequenceserver-3.1.3 public/vendor/npm/events@1.0.2/tests/modify-in-emit.js
sequenceserver-3.1.2 public/vendor/npm/events@1.0.2/tests/modify-in-emit.js
sequenceserver-3.1.1 public/vendor/npm/events@1.0.2/tests/modify-in-emit.js
sequenceserver-3.1.0 public/vendor/npm/events@1.0.2/tests/modify-in-emit.js
sequenceserver-3.0.1 public/vendor/npm/events@1.0.2/tests/modify-in-emit.js
sequenceserver-3.0 public/vendor/npm/events@1.0.2/tests/modify-in-emit.js
sequenceserver-2.2.0 public/vendor/npm/events@1.0.2/tests/modify-in-emit.js
sequenceserver-2.1.0 public/vendor/npm/events@1.0.2/tests/modify-in-emit.js