Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

42 строки
1.2KB

  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. // Ensure partials can be retreived via an object or a function
  21. // See Writer.prototype.renderPartial
  22. var partial = test.name === 'partial_function'
  23. ? function (partial, context) { return test.partial }
  24. : { partial: test.partial };
  25. output = Mustache.render(test.template, view, partial);
  26. } else {
  27. output = Mustache.render(test.template, view);
  28. }
  29. output.should.equal(test.expect);
  30. });
  31. });
  32. });