0
0
Fork 0
mirror of https://github.com/liabru/matter-js.git synced 2025-03-14 00:38:41 -04:00

Events.on unit tests

This commit is contained in:
gsenden 2024-07-05 11:37:50 +00:00
parent de3d8d4004
commit 52fdd1c35c

View file

@ -0,0 +1,83 @@
const Events = require("../../../src/core/Events");
describe('Events.on', () => {
it('should be able to add callback to object under event name', () => {
// Arrange
let object = {};
let eventNames = 'testEvent';
let callback = () => { return true; };
// Act
Events.on(object, eventNames, callback);
// Assert
expect(object.events[eventNames][0]).toEqual(callback);
});
it('returned callback should be the same ass passed callback', () => {
// Arrange
let object = {};
let eventNames = 'testEvent';
let callback = () => { return true; };
// Act
let result = Events.on(object, eventNames, callback);
// Assert
expect(result).toEqual(callback);
});
it('should be able to add callback to object with existing events under event name', () => {
// Arrange
let object = {};
let eventNames = 'testEvent';
object.events = {};
object.events[eventNames] = [ () => { return false; } ];
let callback = () => { return true; };
// Act
Events.on(object, eventNames, callback);
// Assert
expect(object.events[eventNames][1]).toEqual(callback);
});
it('should be able to add un undefinded callback to object under event name', () => {
// Arrange
let object = {};
let eventNames = 'testEvent';
let callback = undefined;
// Act
Events.on(object, eventNames, callback);
// Assert
expect(object.events[eventNames][0]).toEqual(callback);
});
it('should not be able to add callback to object under undefined event name', () => {
// Arrange
let object = {};
let eventNames = undefined;
let callback = () => { return true; };
// Act
let result = () => Events.on(object, eventNames, callback);
// Assert
expect(result).toThrow(/^Cannot .* properties of undefined \(.* '.*'\)$/);
});
it('should be not able to add callback to undefined object under event name', () => {
// Arrange
let object = undefined;
let eventNames = 'testEvent';
let callback = () => { return true; };
// Act
let result = () => Events.on(object, eventNames, callback);
// Assert
expect(result).toThrow(/^Cannot .* properties of undefined \(.* '.*'\)$/);
});
});