diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/plugins.js | 14 | ||||
-rw-r--r-- | test/plugins/blocks/index.js | 17 |
2 files changed, 30 insertions, 1 deletions
diff --git a/test/plugins.js b/test/plugins.js index 14f4a2f..e3d0c49 100644 --- a/test/plugins.js +++ b/test/plugins.js @@ -185,6 +185,20 @@ describe('Plugins', function () { content.should.equal("hello;the;world"); }); }); + + it('should correctly extend template blocks with arguments', function() { + return testTpl('{% test5args "a", "b", "c" %}{% endtest5args %}') + .then(function(content) { + content.should.equal("test5a,b,ctest5"); + }); + }); + + it('should correctly extend template blocks with args and kwargs', function() { + return testTpl('{% test5kwargs "a", "b", "c", d="test", e="test2" %}{% endtest5kwargs %}') + .then(function(content) { + content.should.equal("test5a,b,c,d:test,e:test2,__keywords:truetest5"); + }); + }); }); }); diff --git a/test/plugins/blocks/index.js b/test/plugins/blocks/index.js index 32f1910..0848238 100644 --- a/test/plugins/blocks/index.js +++ b/test/plugins/blocks/index.js @@ -36,6 +36,21 @@ module.exports = { assert(blk.blocks[1].name, "finally"); return [blk.body, blk.blocks[0].body, blk.blocks[1].body].join(blk.kwargs.separator); } - } + }, + "test5args": { + process: function(blk) { + return "test5"+blk.args.join(',')+"test5"; + } + }, + "test5kwargs": { + process: function(blk) { + var s = blk.args.join(','); + for (var key in blk.kwargs) { + s = s + ','+key+':'+blk.kwargs[key]; + } + + return "test5"+s+"test5"; + } + }, } };
\ No newline at end of file |