Logger: Add possibility to send sync requests.

This commit is contained in:
polesye
2014-12-23 11:52:48 +02:00
committed by Tim Babych
parent dbfc12ce01
commit fc0f6e9878
2 changed files with 23 additions and 3 deletions

View File

@@ -49,7 +49,7 @@
Logger.listen('new_event', null, this.callbacks[3]);
});
it('can listen events when the element name is unknown', function() {
it('can listen to events when the element name is unknown', function() {
Logger.log('example', 'data');
expect(this.callbacks[0]).toHaveBeenCalledWith('example', 'data', null);
expect(this.callbacks[1]).toHaveBeenCalledWith('example', 'data', null);
@@ -57,13 +57,24 @@
expect(this.callbacks[3]).not.toHaveBeenCalled();
});
it('can listen events when the element name is known', function() {
it('can listen to events when the element name is known', function() {
Logger.log('example', 'data', 'element');
expect(this.callbacks[0]).not.toHaveBeenCalled();
expect(this.callbacks[1]).not.toHaveBeenCalled();
expect(this.callbacks[2]).toHaveBeenCalledWith('example', 'data', 'element');
expect(this.callbacks[3]).not.toHaveBeenCalled();
});
it('can catch exceptions', function() {
var callback = function () {
Logger.log('exception', 'data');
};
Logger.listen('exception', null, function () {
throw new Error();
});
expect(callback).not.toThrow();
expect(jQuery.ajaxWithPrefix).toHaveBeenCalled();
});
});
describe('bind', function() {

View File

@@ -39,7 +39,16 @@
// Make the callbacks.
callbacks = listeners[eventType][element];
$.each(callbacks, function(index, callback) {
callback(eventType, data, element);
try {
callback(eventType, data, element);
} catch (err) {
console.error({
eventType: eventType,
data: data,
element: element,
error: err
});
}
});
}
}