Skip to content

Commit

Permalink
Refactor and add new Events unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
ricardograca committed Jun 8, 2018
1 parent 0f715e2 commit bc32a10
Showing 1 changed file with 21 additions and 17 deletions.
38 changes: 21 additions & 17 deletions test/base/tests/events.js
@@ -1,34 +1,38 @@
var assert = require('assert');
var equal = assert.equal;
var path = require('path');
var basePath = process.cwd();

module.exports = function() {
var Events = require(path.resolve(basePath + '/lib/base/events'));
var Events = require(path.resolve(process.cwd(), 'lib/base/events'));

describe('Events', function() {
var events;
var handlersRun;

beforeEach(function() {
events = new Events();
handlersRun = [];
events.on('A', eventHandler('A'));
events.on('B', eventHandler('B'));
});

function eventHandler(event) {
return function() {
handlersRun.push(event);
}
}

describe('#off()', function() {
it('should deregister multiple, space-separated events', function() {
it('should deregister multiple space-separated events', function() {
function eventHandler() {
throw new Error('Expected event handler to have not been called');
}

events.on('A', eventHandler);
events.on('B', eventHandler);
events.off('A B');
events.trigger('A');
events.trigger('B');
equal(handlersRun.length, 0);

expect(events._eventsCount).to.equal(0);
});
});

describe('#trigger()', function() {
it('should pass additional arguments to the listener', function() {
events.on('event', function(name, arg1, arg2) {
expect(name).to.equal('event');
expect(arg1).to.equal(1);
expect(arg2).to.equal(2);
})
events.trigger('event', 1, 2);
});
});
});
Expand Down

0 comments on commit bc32a10

Please sign in to comment.