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