mirror of
https://github.com/fluxscape/fluxscape.git
synced 2026-01-12 07:12:54 +01:00
Initial commit
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>
This commit is contained in:
61
packages/noodl-runtime/test/eventsender.test.js
Normal file
61
packages/noodl-runtime/test/eventsender.test.js
Normal file
@@ -0,0 +1,61 @@
|
||||
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);
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user