You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 line
958B

  1. require('./helper');
  2. var renderHelper = require('./render-helper');
  3. var tests = renderHelper.getTests();
  4. describe('Mustache.render', function () {
  5. beforeEach(function () {
  6. Mustache.clearCache();
  7. });
  8. it('requires template to be a string', function () {
  9. assert.throws(function () {
  10. Mustache.render(['dummy template'], ['foo', 'bar']);
  11. }, TypeError, 'Invalid template! Template should be a "string" but ' +
  12. '"array" was given as the first argument ' +
  13. 'for mustache#render(template, view, partials)');
  14. });
  15. tests.forEach(function (test) {
  16. var view = eval(test.view);
  17. it('knows how to render ' + test.name, function () {
  18. var output;
  19. if (test.partial) {
  20. output = Mustache.render(test.template, view, { partial: test.partial });
  21. } else {
  22. output = Mustache.render(test.template, view);
  23. }
  24. output.should.equal(test.expect);
  25. });
  26. });
  27. });