siesta-lite
Version:
Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers
43 lines (33 loc) • 932 B
JavaScript
/*
Siesta 5.6.1
Copyright(c) 2009-2022 Bryntum AB
https://bryntum.com/contact
https://bryntum.com/products/siesta/license
*/
Role('Siesta.Recorder.Role.CanSwallowException', {
does : [
JooseX.Observable
],
has : {
swallowExceptions : false
},
methods : {
safeBind : function (func, scope) {
var me = this
scope = scope || me
// extra protection from the exceptions from the recorder itself
if (me.swallowExceptions) {
return function () {
try {
return func.apply(scope, arguments)
} catch(e) {
me.fireEvent('exception', e);
}
}
} else {
return func.bind(scope)
}
}
}
// eof methods
});