diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-01-27 15:58:28 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2015-01-27 15:58:28 +0100 |
commit | 750fb862d4e2d68cb65122c85743c0957ca3a3f1 (patch) | |
tree | 9f671b1f01c658c87483ba71b99451e208d6b6b3 /lib | |
parent | 131c19dee6db956d758ed4a63ee24dbf087a8c7f (diff) | |
download | gitbook-750fb862d4e2d68cb65122c85743c0957ca3a3f1.zip gitbook-750fb862d4e2d68cb65122c85743c0957ca3a3f1.tar.gz gitbook-750fb862d4e2d68cb65122c85743c0957ca3a3f1.tar.bz2 |
Improve tests for plugins with filters
Diffstat (limited to 'lib')
-rw-r--r-- | lib/plugin.js | 5 | ||||
-rw-r--r-- | lib/template.js | 12 |
2 files changed, 11 insertions, 6 deletions
diff --git a/lib/plugin.js b/lib/plugin.js index fa38e20..79da7d7 100644 --- a/lib/plugin.js +++ b/lib/plugin.js @@ -115,7 +115,10 @@ Plugin.prototype.getFilters = function() { return [ key, function() { - var ctx = this; + var ctx = { + ctx: this.ctx, + book: that.book + }; var args = Array.prototype.slice.apply(arguments); var callback = _.last(args); diff --git a/lib/template.js b/lib/template.js index 69a1bd5..4b3fdbe 100644 --- a/lib/template.js +++ b/lib/template.js @@ -69,14 +69,16 @@ var TemplateEngine = function(book) { // Add filter -TemplateEngine.prototype.addFilter = function(key, filter) { - if (this.env.getFilter(filterName)) { +TemplateEngine.prototype.addFilter = function(filterName, func) { + try { + this.env.getFilter(filterName); this.log.warn.ln("conflict in filters, '"+filterName+"' is already set"); return false; + } catch(e) { + this.log.debug.ln("add filter '"+filterName+"'"); + this.env.addFilter(filterName, func, true); + return true; } - this.log.debug.ln("add filter '"+key+"'"); - this.env.addFilter(key, func, true); - return true; }; // Render a string from the book |