mirror of
https://github.com/wavetermdev/xterm.js.git
synced 2026-08-05 13:43:48 -07:00
Remove addListener/removeListener
This commit is contained in:
@@ -56,26 +56,26 @@ describe('EventEmitter', () => {
|
||||
it('should return listeners for the type requested', () => {
|
||||
assert.equal(eventEmitter.listeners('test').length, 0);
|
||||
const listener = () => {};
|
||||
eventEmitter.addListener('test', listener);
|
||||
eventEmitter.on('test', listener);
|
||||
assert.deepEqual(eventEmitter.listeners('test'), [listener]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('removeListener', () => {
|
||||
describe('off', () => {
|
||||
it('should remove the specific listener', () => {
|
||||
const listener1 = () => {};
|
||||
const listener2 = () => {};
|
||||
eventEmitter.addListener('foo', listener1);
|
||||
eventEmitter.addListener('foo', listener2);
|
||||
eventEmitter.on('foo', listener1);
|
||||
eventEmitter.on('foo', listener2);
|
||||
assert.equal(eventEmitter.listeners('foo').length, 2);
|
||||
eventEmitter.removeListener('foo', listener1);
|
||||
eventEmitter.off('foo', listener1);
|
||||
assert.deepEqual(eventEmitter.listeners('foo'), [listener2]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('removeAllListeners', () => {
|
||||
it('should clear all listeners', () => {
|
||||
eventEmitter.addListener('foo', () => {});
|
||||
eventEmitter.on('foo', () => {});
|
||||
assert.equal(eventEmitter.listeners('foo').length, 1);
|
||||
eventEmitter.removeAllListeners('foo');
|
||||
assert.equal(eventEmitter.listeners('foo').length, 0);
|
||||
|
||||
+2
-12
@@ -14,18 +14,12 @@ export class EventEmitter {
|
||||
this._events = {};
|
||||
}
|
||||
|
||||
// TODO: Merge addListener and on, no reason for an alias in a private component
|
||||
public addListener(type, listener): void {
|
||||
public on(type, listener): void {
|
||||
this._events[type] = this._events[type] || [];
|
||||
this._events[type].push(listener);
|
||||
}
|
||||
|
||||
public on(type, listener): void {
|
||||
this.addListener(type, listener);
|
||||
}
|
||||
|
||||
// TODO: Merge removeListener and off, no reason for an alias in a private component
|
||||
public removeListener(type, listener): void {
|
||||
public off(type, listener): void {
|
||||
if (!this._events[type]) {
|
||||
return;
|
||||
}
|
||||
@@ -41,10 +35,6 @@ export class EventEmitter {
|
||||
}
|
||||
}
|
||||
|
||||
public off(type, listener): void {
|
||||
this.removeListener(type, listener);
|
||||
}
|
||||
|
||||
public removeAllListeners(type): void {
|
||||
if (this._events[type]) {
|
||||
delete this._events[type];
|
||||
|
||||
Reference in New Issue
Block a user