mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
* tech: investigating karma + jest mix * tech: migrating tests to jest * tech: moved anoter test file to jest * test: migrated two more test files to jest * test: updated readme and made test fail to verify that it causes CI build failure * tech: added code coverage for jest tests * tech: testing codecov coverage * tech: migrated more tests * tech: migrated template srv to typescript and the tests to jest * tech: minor build fix * tech: build fixes * build: another attempt at fixing go test with coverage
65 lines
1.3 KiB
TypeScript
65 lines
1.3 KiB
TypeScript
import {Emitter} from '../utils/emitter';
|
|
|
|
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).toBe(true);
|
|
expect(sub2Called).toBe(true);
|
|
});
|
|
|
|
it('when subscribing twice', () => {
|
|
var events = new Emitter();
|
|
var sub1Called = 0;
|
|
|
|
function handler() {
|
|
sub1Called += 1;
|
|
}
|
|
|
|
events.on('test', handler);
|
|
events.on('test', handler);
|
|
|
|
events.emit('test', null);
|
|
|
|
expect(sub1Called).toBe(2);
|
|
});
|
|
|
|
it('should handle errors', () => {
|
|
var events = new Emitter();
|
|
var sub1Called = 0;
|
|
var sub2Called = 0;
|
|
|
|
events.on('test', () => {
|
|
sub1Called++;
|
|
throw {message: "hello"};
|
|
});
|
|
|
|
events.on('test', () => {
|
|
sub2Called++;
|
|
});
|
|
|
|
try { events.emit('test', null); } catch (_) { }
|
|
try { events.emit('test', null); } catch (_) {}
|
|
|
|
expect(sub1Called).toBe(2);
|
|
expect(sub2Called).toBe(0);
|
|
});
|
|
});
|
|
});
|
|
|
|
|