UNPKG

975 BPlain TextView Raw
1/**
2 * Copyright (c) 2019, Microsoft Corporation (MIT License).
3 */
4
5import * as assert from 'assert';
6import { EventEmitter2 } from './eventEmitter2';
7
8describe('EventEmitter2', () => {
9 it('should fire listeners multiple times', () => {
10 const order: string[] = [];
11 const emitter = new EventEmitter2<number>();
12 emitter.event(data => order.push(data + 'a'));
13 emitter.event(data => order.push(data + 'b'));
14 emitter.fire(1);
15 emitter.fire(2);
16 assert.deepEqual(order, [ '1a', '1b', '2a', '2b' ]);
17 });
18
19 it('should not fire listeners once disposed', () => {
20 const order: string[] = [];
21 const emitter = new EventEmitter2<number>();
22 emitter.event(data => order.push(data + 'a'));
23 const disposeB = emitter.event(data => order.push(data + 'b'));
24 emitter.event(data => order.push(data + 'c'));
25 emitter.fire(1);
26 disposeB.dispose();
27 emitter.fire(2);
28 assert.deepEqual(order, [ '1a', '1b', '1c', '2a', '2c' ]);
29 });
30});