Example #1
0
	test('deferred emit', function () {
		var calledCount = 0;
		eventEmitter.addListener('eventType', function (e) {
			calledCount++;
		});
		eventEmitter.deferredEmit(function () {
			assert.equal(calledCount, 0);
			eventEmitter.emit('eventType', {});
			assert.equal(calledCount, 0);
			eventEmitter.emit('eventType', {});
			assert.equal(calledCount, 0);
		});
		assert.equal(calledCount, 2);
	});
Example #2
0
	test('two event emitters, two listeners, deferred emit', function () {
		let callCnt = 0;
		let emitter1 = new EventEmitter();
		let emitter2 = new EventEmitter();
		let eventBus = new EventEmitter();

		eventBus.addEmitter2(emitter1);
		eventBus.addEmitter2(emitter2);
		eventBus.addListener2('eventType1', function (e) {
			assert(true);
			callCnt++;
		});
		eventBus.addListener2('eventType1', function (e) {
			assert(true);
			callCnt++;
		});

		eventBus.deferredEmit(function () {
			assert.equal(callCnt, 0);
			emitter1.emit('eventType1', {});
			emitter2.emit('eventType1', {});
			assert.equal(callCnt, 0);
		});
		assert.equal(callCnt, 4);
	});
Example #3
0
	test('add 2 listeners, emit event, remove one while processing', function () {
		var firstCallCount = 0;
		var remove1 = eventEmitter.addListener('eventType', function (e) {
			firstCallCount++;
			remove1();
		});
		var secondCallCount = 0;
		eventEmitter.addListener('eventType', function (e) {
			secondCallCount++;
		});
		eventEmitter.emit('eventType', {});
		eventEmitter.emit('eventType', {});
		assert.equal(firstCallCount, 1);
		assert.equal(secondCallCount, 2);
	});
Example #4
0
	test('add 2 listeners, emit event, remove one while processing', function () {
		let firstCallCount = 0;
		let remove1 = eventEmitter.addListener2('eventType', function (e) {
			firstCallCount++;
			remove1.dispose();
		});
		let secondCallCount = 0;
		eventEmitter.addListener2('eventType', function (e) {
			secondCallCount++;
		});
		eventEmitter.emit('eventType', {});
		eventEmitter.emit('eventType', {});
		assert.equal(firstCallCount, 1);
		assert.equal(secondCallCount, 2);
	});
Example #5
0
	test('deferred emit maintains events order', function () {
		var order = 0;
		eventEmitter.addListener('eventType2', function (e) {
			order++;
			assert.equal(order, 1);
		});
		eventEmitter.addListener('eventType1', function (e) {
			order++;
			assert.equal(order, 2);
		});
		eventEmitter.deferredEmit(function () {
			eventEmitter.emit('eventType2', {});
			eventEmitter.emit('eventType1', {});
		});
		assert.equal(order, 2);
	});
Example #6
0
	public dispose() {
		this.domNode = null;
		this.eventEmitterHelper.dispose();
		if (this.gestureHandler) {
			this.gestureHandler.dispose();
			this.gestureHandler = null;
		}
	}
Example #7
0
	private _onUserActive(): void {
		this._lastActiveTime = (new Date()).getTime();
		if (this._status !== UserStatus.Active) {
			this._status = UserStatus.Active;
			this._scheduleIdleCheck();
			this._eventEmitter.emit('onActive');
		}
	}
Example #8
0
	test('cascading emitters', function () {
		var emitter1 = new EventEmitter();
		var emitter2 = new EventEmitter();
		var emitter3 = new EventEmitter();
		var emitter4 = new EventEmitter();

		emitter2.addEmitter(emitter1);
		emitter3.addEmitter(emitter2);
		emitter4.addEmitter(emitter3);

		var didCall = false;
		emitter4.addListener('eventType', function (e) {
			didCall = true;
		});

		emitter1.emit('eventType', {});
		assert(didCall);
	});
Example #9
0
	public addScrollListener(callback:()=>void): IDisposable {
		var localDisposable = this.eventEmitterHelper.addListener2('scroll', callback);
		var domDisposable = DomUtils.addDisposableListener(this.domNode, 'scroll', (e:Event) => {
			this.eventEmitterHelper.emit('scroll', { browserEvent: e });
		});

		return {
			dispose: () => {
				domDisposable.dispose();
				localDisposable.dispose();
			}
		}
	}
Example #10
0
	test('one event emitter, one listener', function () {
		var emitter = new EventEmitter();
		var eventBus = new EventEmitter();

		eventBus.addEmitter(emitter, 'emitter1');
		var didCallFirst = false;
		eventBus.addListener('eventType', function (e) {
			didCallFirst = true;
		});
		var didCallSecond = false;
		eventBus.addListener('eventType/emitter1', function (e) {
			didCallSecond = true;
		});

		emitter.emit('eventType', {});
		assert(didCallFirst);
		assert(didCallSecond);
	});