Sfoglia il codice sorgente

Add test to verify custom tags are used in partials for via `.render()`

tags/v3.0.1
Phillip Johnsen 7 anni fa
parent
commit
d170f41c85
1 ha cambiato i file con 33 aggiunte e 23 eliminazioni
  1. +33
    -23
      test/render-test.js

+ 33
- 23
test/render-test.js Vedi File

@@ -17,37 +17,47 @@ describe('Mustache.render', function () {
'for mustache#render(template, view, partials)'); 'for mustache#render(template, view, partials)');
}); });


it('uses tags argument instead of Mustache.tags when given', function () {
var template = '<<placeholder>>bar{{placeholder}}';
describe('custom tags', function () {
it('uses tags argument instead of Mustache.tags when given', function () {
var template = '<<placeholder>>bar{{placeholder}}';


Mustache.tags = ['{{', '}}'];
assert.equal(Mustache.render(template, { placeholder: 'foo' }, {}, ['<<', '>>']), 'foobar{{placeholder}}');
});
Mustache.tags = ['{{', '}}'];
assert.equal(Mustache.render(template, { placeholder: 'foo' }, {}, ['<<', '>>']), 'foobar{{placeholder}}');
});


it('uses tags argument instead of Mustache.tags when given, even when it previous rendered the template using Mustache.tags', function () {
var template = '((placeholder))bar{{placeholder}}';
it('uses tags argument instead of Mustache.tags when given, even when it previous rendered the template using Mustache.tags', function () {
var template = '((placeholder))bar{{placeholder}}';


Mustache.tags = ['{{', '}}'];
Mustache.render(template, { placeholder: 'foo' });
assert.equal(Mustache.render(template, { placeholder: 'foo' }, {}, ['((', '))']), 'foobar{{placeholder}}');
});
Mustache.tags = ['{{', '}}'];
Mustache.render(template, { placeholder: 'foo' });
assert.equal(Mustache.render(template, { placeholder: 'foo' }, {}, ['((', '))']), 'foobar{{placeholder}}');
});


it('uses tags argument instead of Mustache.tags when given, even when it previous rendered the template using different tags', function () {
var template = '[[placeholder]]bar<<placeholder>>';
it('uses tags argument instead of Mustache.tags when given, even when it previous rendered the template using different tags', function () {
var template = '[[placeholder]]bar<<placeholder>>';


Mustache.render(template, { placeholder: 'foo' }, {}, ['<<', '>>']);
assert.equal(Mustache.render(template, { placeholder: 'foo' }, {}, ['[[', ']]']), 'foobar<<placeholder>>');
});
Mustache.render(template, { placeholder: 'foo' }, {}, ['<<', '>>']);
assert.equal(Mustache.render(template, { placeholder: 'foo' }, {}, ['[[', ']]']), 'foobar<<placeholder>>');
});


it('does not mutate Mustache.tags when given tags argument', function() {
var correctMustacheTags = ['{{', '}}'];
Mustache.tags = correctMustacheTags;
it('does not mutate Mustache.tags when given tags argument', function() {
var correctMustacheTags = ['{{', '}}'];
Mustache.tags = correctMustacheTags;


Mustache.render('((placeholder))', { placeholder: 'foo' }, {}, ['((', '))']);
Mustache.render('((placeholder))', { placeholder: 'foo' }, {}, ['((', '))']);


assert.equal(Mustache.tags, correctMustacheTags);
assert.deepEqual(Mustache.tags, ['{{', '}}']);
});
assert.equal(Mustache.tags, correctMustacheTags);
assert.deepEqual(Mustache.tags, ['{{', '}}']);
});

it('uses provided tags when rendering partials', function () {
var output = Mustache.render('<%> partial %>', { name: 'Santa Claus' }, {
partial: '<% name %>'
}, ['<%', '%>']);

assert.equal(output, 'Santa Claus');
})
})


tests.forEach(function (test) { tests.forEach(function (test) {
var view = eval(test.view); var view = eval(test.view);


Loading…
Annulla
Salva