Commit 477031e1 by Anton Stupak

Merge pull request #6356 from edx/anton/logger

Logger: Add possibility to send sync requests.
parents 9d9c2af8 fc0f6e98
......@@ -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() {
......
......@@ -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
});
}
});
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment