muu

DEPRECATED lightweight JS framework
git clone https://git.ce9e.org/muu.git

commit
3627eca3fbe45161874b69b303d67458d246e744
parent
26cbd7bae82f6ddc65afb4eddd6f9e38cabca571
Author
Tobias Bengfort <tobias.bengfort@gmx.net>
Date
2015-11-07 09:43
do not replace 0 by empty string in muu-template

Diffstat

M src/muu-template.js 6 +++++-
M test/test-template.js 16 ++++++++++++++++

2 files changed, 21 insertions, 1 deletions


diff --git a/src/muu-template.js b/src/muu-template.js

@@ -86,7 +86,11 @@ define('muu-template', ['muu-js-helpers', 'muu-dom-helpers'], function(_, $) {
   86    86     var parseVariable = function(tag) {
   87    87         if (tag.indexOf(':') === -1) {
   88    88             return function(data) {
   89    -1                 return $.escapeHtml(getValue(tag, data) || '');
   -1    89                 var v = getValue(tag, data);
   -1    90                 if (!v && v !== 0) {
   -1    91                     v = '';
   -1    92                 }
   -1    93                 return $.escapeHtml(v);
   90    94             };
   91    95         } else {
   92    96             var pairs = _.map(tag.split(','), function(pair) {

diff --git a/test/test-template.js b/test/test-template.js

@@ -8,6 +8,22 @@ define(['muu-template'], function(muuTemplate) {
    8     8             var result = muuTemplate(template, {asd: 'huhu'});
    9     9             expect(result).to.equal('huhu');
   10    10         });
   -1    11         it('replaces falsy values by empty string', function() {
   -1    12             var template = '{{asd}}';
   -1    13             var result = muuTemplate(template, {asd: false});
   -1    14             expect(result).to.equal('');
   -1    15             result = muuTemplate(template, {asd: NaN});
   -1    16             expect(result).to.equal('');
   -1    17             result = muuTemplate(template, {asd: null});
   -1    18             expect(result).to.equal('');
   -1    19             result = muuTemplate(template, {asd: undefined});
   -1    20             expect(result).to.equal('');
   -1    21         });
   -1    22         it('does not replace 0 by empty string', function() {
   -1    23             var template = '{{asd}}';
   -1    24             var result = muuTemplate(template, {asd: 0});
   -1    25             expect(result).to.equal('0');
   -1    26         });
   11    27         it('does loops', function() {
   12    28             var template = '{{#loop}}test{{/loop}}';
   13    29             var result = muuTemplate(template, {loop: [1,2,3]});