File size: 975 Bytes
f9f1a35
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
 * Copyright (c) 2019, Microsoft Corporation (MIT License).
 */

import * as assert from 'assert';
import { EventEmitter2 } from './eventEmitter2';

describe('EventEmitter2', () => {
  it('should fire listeners multiple times', () => {
    const order: string[] = [];
    const emitter = new EventEmitter2<number>();
    emitter.event(data => order.push(data + 'a'));
    emitter.event(data => order.push(data + 'b'));
    emitter.fire(1);
    emitter.fire(2);
    assert.deepEqual(order, [ '1a', '1b', '2a', '2b' ]);
  });

  it('should not fire listeners once disposed', () => {
    const order: string[] = [];
    const emitter = new EventEmitter2<number>();
    emitter.event(data => order.push(data + 'a'));
    const disposeB = emitter.event(data => order.push(data + 'b'));
    emitter.event(data => order.push(data + 'c'));
    emitter.fire(1);
    disposeB.dispose();
    emitter.fire(2);
    assert.deepEqual(order, [ '1a', '1b', '1c', '2a', '2c' ]);
  });
});