event-emitters
Version:
37 lines • 1.45 kB
JavaScript
import { EventEmitterWithOptionalCurrent } from './EventEmitterWithOptionalCurrent';
describe('EventEmitterWithOptionalCurrent', () => {
/* eslint-disable @typescript-eslint/explicit-function-return-type */
it('sends current status when it was provided and listener first subscribes', () => {
let current = 42;
const emitter = new EventEmitterWithOptionalCurrent(1);
emitter.subscribe((newVal) => {
current = newVal;
});
expect(current).toEqual(1);
});
it('does not send any status when listener subscribes when no current value was provided', () => {
let current = 42;
const emitter = new EventEmitterWithOptionalCurrent();
emitter.subscribe((newVal) => {
current = newVal;
});
expect(current).toEqual(42);
});
it('updates subscribed listener with statuses as they change', () => {
let current = 42;
const emitter = new EventEmitterWithOptionalCurrent();
emitter.subscribe((newVal) => {
current = newVal;
});
expect(current).toEqual(42);
const firstVal = 1;
emitter.emit(firstVal);
expect(current).toEqual(firstVal);
let otherValue = 43;
emitter.subscribe((newVal) => {
otherValue = newVal;
});
expect(otherValue).toEqual(1);
});
});
//# sourceMappingURL=EventEmitterWithOptionalCurrent.spec.js.map