mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-28 09:36:16 +01:00
closes #6166
This commit is contained in:
@@ -82,7 +82,7 @@ module.exports = function (Plugins) {
|
||||
|
||||
var hookList = Plugins.loadedHooks[hook];
|
||||
var hookType = hook.split(':')[0];
|
||||
|
||||
try {
|
||||
switch (hookType) {
|
||||
case 'filter':
|
||||
fireFilterHook(hook, hookList, params, callback);
|
||||
@@ -97,6 +97,9 @@ module.exports = function (Plugins) {
|
||||
winston.warn('[plugins] Unknown hookType: ' + hookType + ', hook : ' + hook);
|
||||
break;
|
||||
}
|
||||
} catch (err) {
|
||||
callback(err);
|
||||
}
|
||||
};
|
||||
|
||||
function fireFilterHook(hook, hookList, params, callback) {
|
||||
|
||||
@@ -70,6 +70,20 @@ describe('Plugins', function () {
|
||||
});
|
||||
});
|
||||
|
||||
it('should not crash if there is an exception in a hook', function (done) {
|
||||
function filterMethod(data, callback) {
|
||||
var crash;
|
||||
crash.a = 5;
|
||||
callback(null, data);
|
||||
}
|
||||
|
||||
|
||||
assert(err);
|
||||
assert.equal(err.message, 'Cannot set property \'a\' of undefined');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should get plugin data from nbbpm', function (done) {
|
||||
plugins.get('nodebb-plugin-markdown', function (err, data) {
|
||||
assert.ifError(err);
|
||||
|
||||
Reference in New Issue
Block a user