| | |
| | |
| | |
| |
|
| | 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' ]); |
| | }); |
| | }); |
| |
|