mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
51 lines
1.0 KiB
TypeScript
51 lines
1.0 KiB
TypeScript
import {describe, beforeEach, it, sinon, expect} from 'test/lib/common'
|
|
|
|
import {Emitter} from 'app/core/core';
|
|
|
|
describe("Emitter", () => {
|
|
|
|
describe('given 2 subscribers', () => {
|
|
|
|
it('should notfiy subscribers', () => {
|
|
var events = new Emitter();
|
|
var sub1Called = false;
|
|
var sub2Called = false;
|
|
|
|
events.on('test', () => {
|
|
sub1Called = true;
|
|
});
|
|
events.on('test', () => {
|
|
sub2Called = true;
|
|
});
|
|
|
|
events.emit('test', null);
|
|
|
|
expect(sub1Called).to.be(true);
|
|
expect(sub2Called).to.be(true);
|
|
});
|
|
|
|
it.only('should handle errors', () => {
|
|
var events = new Emitter();
|
|
var sub1Called = 0;
|
|
var sub2Called = 0;
|
|
|
|
events.on('test', () => {
|
|
sub1Called++;
|
|
throw "hello";
|
|
});
|
|
|
|
events.on('test', () => {
|
|
sub2Called++;
|
|
});
|
|
|
|
try { events.emit('test', null); } catch (_) { }
|
|
try { events.emit('test', null); } catch (_) {}
|
|
|
|
expect(sub1Called).to.be(2);
|
|
expect(sub2Called).to.be(0);
|
|
});
|
|
});
|
|
});
|
|
|
|
|