aboutsummaryrefslogtreecommitdiff
path: root/js/test/filters.js
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2018-09-09 03:50:48 -0400
committerPaul Duncan <pabs@pablotron.org>2018-09-09 03:50:48 -0400
commit2cff700e3e59adc2bfcd4b2c536675dfdeb96312 (patch)
treedfe4eb712a521e3a4bd5d4ae3113ab6f7053684f /js/test/filters.js
parentfc93b32955b3a30ad884e4a9b14ebe052b86f120 (diff)
downloadluigi-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.js59
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&lt;');
+ });
+
+ 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');
+ });
+})();