| | "use strict"; |
| | |
| | |
| | |
| | Object.defineProperty(exports, "__esModule", { value: true }); |
| | var assert = require("assert"); |
| | var eventEmitter2_1 = require("./eventEmitter2"); |
| | describe('EventEmitter2', function () { |
| | it('should fire listeners multiple times', function () { |
| | var order = []; |
| | var emitter = new eventEmitter2_1.EventEmitter2(); |
| | emitter.event(function (data) { return order.push(data + 'a'); }); |
| | emitter.event(function (data) { return order.push(data + 'b'); }); |
| | emitter.fire(1); |
| | emitter.fire(2); |
| | assert.deepEqual(order, ['1a', '1b', '2a', '2b']); |
| | }); |
| | it('should not fire listeners once disposed', function () { |
| | var order = []; |
| | var emitter = new eventEmitter2_1.EventEmitter2(); |
| | emitter.event(function (data) { return order.push(data + 'a'); }); |
| | var disposeB = emitter.event(function (data) { return order.push(data + 'b'); }); |
| | emitter.event(function (data) { return order.push(data + 'c'); }); |
| | emitter.fire(1); |
| | disposeB.dispose(); |
| | emitter.fire(2); |
| | assert.deepEqual(order, ['1a', '1b', '1c', '2a', '2c']); |
| | }); |
| | }); |
| | |