123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- require('./common');
- var assert = require('assert');
- var events = require('../');
-
- 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.strictEqual(e.listeners('foo').length, 1);
-
- e.emit('foo');
- assert.strictEqual(e.listeners('foo').length, 2);
- assert.ok(Array.isArray(callbacks_called));
- assert.strictEqual(callbacks_called.length, 1);
- assert.strictEqual(callbacks_called[0], 'callback1');
-
- e.emit('foo');
- assert.strictEqual(e.listeners('foo').length, 0);
- assert.ok(Array.isArray(callbacks_called));
- assert.strictEqual(callbacks_called.length, 3);
- assert.strictEqual(callbacks_called[0], 'callback1');
- assert.strictEqual(callbacks_called[1], 'callback2');
- assert.strictEqual(callbacks_called[2], 'callback3');
-
- e.emit('foo');
- assert.strictEqual(e.listeners('foo').length, 0);
- assert.ok(Array.isArray(callbacks_called));
- assert.strictEqual(callbacks_called.length, 3);
- assert.strictEqual(callbacks_called[0], 'callback1');
- assert.strictEqual(callbacks_called[1], 'callback2');
- assert.strictEqual(callbacks_called[2], 'callback3');
-
- e.on('foo', callback1);
- e.on('foo', callback2);
- assert.strictEqual(e.listeners('foo').length, 2);
- e.removeAllListeners('foo');
- assert.strictEqual(e.listeners('foo').length, 0);
-
-
-
- callbacks_called = [];
-
- e.on('foo', callback2);
- e.on('foo', callback3);
- assert.strictEqual(2, e.listeners('foo').length);
- e.emit('foo');
- assert.ok(Array.isArray(callbacks_called));
- assert.strictEqual(callbacks_called.length, 2);
- assert.strictEqual(callbacks_called[0], 'callback2');
- assert.strictEqual(callbacks_called[1], 'callback3');
- assert.strictEqual(0, e.listeners('foo').length);
|