diff options
author | Paul Duncan <pabs@pablotron.org> | 2018-09-09 03:50:48 -0400 |
---|---|---|
committer | Paul Duncan <pabs@pablotron.org> | 2018-09-09 03:50:48 -0400 |
commit | 2cff700e3e59adc2bfcd4b2c536675dfdeb96312 (patch) | |
tree | dfe4eb712a521e3a4bd5d4ae3113ab6f7053684f /js/test/filters.js | |
parent | fc93b32955b3a30ad884e4a9b14ebe052b86f120 (diff) | |
download | luigi-template-2cff700e3e59adc2bfcd4b2c536675dfdeb96312.tar.bz2 luigi-template-2cff700e3e59adc2bfcd4b2c536675dfdeb96312.zip |
js: rm test.js, add test/{test.html,*.js} based on mocha/chai
Diffstat (limited to 'js/test/filters.js')
-rw-r--r-- | js/test/filters.js | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/js/test/filters.js b/js/test/filters.js new file mode 100644 index 0000000..c9ba21a --- /dev/null +++ b/js/test/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'); + }); +})(); |