installed pty
[VSoRC/.git] / node_modules / node-pty / src / eventEmitter2.test.ts
1 /**
2  * Copyright (c) 2019, Microsoft Corporation (MIT License).
3  */
4
5 import * as assert from 'assert';
6 import { EventEmitter2 } from './eventEmitter2';
7
8 describe('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 });