--- /dev/null
+"use strict";
+/**
+ * Copyright (c) 2019, Microsoft Corporation (MIT License).
+ */
+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']);
+ });
+});
+//# sourceMappingURL=eventEmitter2.test.js.map
\ No newline at end of file