diff options
author | Paul Duncan <pabs@pablotron.org> | 2018-09-09 19:43:43 -0400 |
---|---|---|
committer | Paul Duncan <pabs@pablotron.org> | 2018-09-09 19:43:43 -0400 |
commit | a22f6a55ae65ca3675f7c97a030560e91d5b4d1f (patch) | |
tree | f1c73f2aa3203a3c375190ae3fb8402594d18af5 /js/test/compat/filters.js | |
parent | a498f0b7f0e3b498519160e516d4e4d7c87575e6 (diff) | |
download | luigi-template-a22f6a55ae65ca3675f7c97a030560e91d5b4d1f.tar.bz2 luigi-template-a22f6a55ae65ca3675f7c97a030560e91d5b4d1f.zip |
js: update api, add luigi-compat.js and test/compat
Diffstat (limited to 'js/test/compat/filters.js')
-rw-r--r-- | js/test/compat/filters.js | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/js/test/compat/filters.js b/js/test/compat/filters.js new file mode 100644 index 0000000..c9ba21a --- /dev/null +++ b/js/test/compat/filters.js @@ -0,0 +1,59 @@ +(function() { + 'use strict'; + var assert = chai.assert; + + it('filter', function() { + var t = new LuigiTemplate('foo%{bar|h}'), + r = t.run({ bar: '<' }); + + assert.equal(r, 'foo<'); + }); + + it('filter chain', function() { + var r = LuigiTemplate.run('foo%{bar|uc|lc}', { + bar: 'foo' + }); + + assert.equal(r, 'foofoo'); + }); + + it('custom global filter', function() { + LuigiTemplate.FILTERS.barify = function(s) { + return 'bar-' + s + '-bar'; + }; + + var r = LuigiTemplate.run('foo%{bar | barify}', { + bar: 'foo' + }); + + assert.equal(r, 'foobar-foo-bar'); + }); + + it('custom template filter', function() { + var r = LuigiTemplate.run('foo%{bar | barify}', { + bar: 'foo' + }, { + barify: function(s) { + return 'bar-' + s + '-bar'; + }, + }); + + assert.equal(r, 'foobar-foo-bar'); + }); + + it('filter args', function() { + var r = LuigiTemplate.run('foo%{bar | wrap bar}', { + bar: 'foo' + }, { + wrap: function(s, args) { + if (args.length == 1) { + return [args[0], s, args[0]].join('-'); + } else { + return s; + } + }, + }); + + assert.equal(r, 'foobar-foo-bar'); + }); +})(); |