mirror of
https://github.com/The-Low-Code-Foundation/OpenNoodl.git
synced 2026-01-11 14:52:55 +01:00
Co-Authored-By: Eric Tuvesson <eric.tuvesson@gmail.com> Co-Authored-By: mikaeltellhed <2311083+mikaeltellhed@users.noreply.github.com> Co-Authored-By: kotte <14197736+mrtamagotchi@users.noreply.github.com> Co-Authored-By: Anders Larsson <64838990+anders-topp@users.noreply.github.com> Co-Authored-By: Johan <4934465+joolsus@users.noreply.github.com> Co-Authored-By: Tore Knudsen <18231882+torekndsn@users.noreply.github.com> Co-Authored-By: victoratndl <99176179+victoratndl@users.noreply.github.com>
62 lines
1.6 KiB
JavaScript
62 lines
1.6 KiB
JavaScript
const EventSender = require('./eventsender');
|
|
|
|
describe('EventSender', ()=> {
|
|
|
|
let eventSender;
|
|
|
|
beforeEach(()=>{
|
|
eventSender = new EventSender();
|
|
});
|
|
|
|
it('can send events', ()=> {
|
|
|
|
const mockCallback = jest.fn(() => {});
|
|
|
|
eventSender.on('testEvent', mockCallback);
|
|
|
|
const someArgument = {lol:'troll'};
|
|
eventSender.emit('testEvent', someArgument);
|
|
|
|
expect(mockCallback.mock.calls.length).toBe(1);
|
|
expect(mockCallback.mock.calls[0][0]).toBe(someArgument);
|
|
});
|
|
|
|
it('can remove a listener', ()=> {
|
|
const mockCallback = jest.fn(() => {});
|
|
const mockCallback2 = jest.fn(() => {});
|
|
|
|
const ref = {};
|
|
const ref2 = {};
|
|
|
|
eventSender.on('testEvent', mockCallback, ref);
|
|
eventSender.on('testEvent', mockCallback2, ref2);
|
|
|
|
eventSender.removeListenersWithRef(ref);
|
|
eventSender.emit('testEvent');
|
|
|
|
expect(mockCallback.mock.calls.length).toBe(0);
|
|
expect(mockCallback2.mock.calls.length).toBe(1);
|
|
|
|
});
|
|
|
|
it('can remove all listeners', ()=> {
|
|
const mockCallback = jest.fn(() => {});
|
|
const mockCallback2 = jest.fn(() => {});
|
|
|
|
const ref = {};
|
|
const ref2 = {};
|
|
|
|
eventSender.on('testEvent', mockCallback, ref);
|
|
eventSender.on('testEvent2', mockCallback2, ref2);
|
|
|
|
eventSender.removeAllListeners('testEvent');
|
|
eventSender.emit('testEvent');
|
|
eventSender.emit('testEvent2');
|
|
|
|
expect(mockCallback.mock.calls.length).toBe(0);
|
|
expect(mockCallback2.mock.calls.length).toBe(1);
|
|
|
|
});
|
|
|
|
});
|