A Twitch.tv viewer reward and games system.
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.

43 lines
1.0 KiB

12 years ago
  1. require('./helper');
  2. var Writer = Mustache.Writer;
  3. describe('A new Mustache.Writer', function () {
  4. var writer;
  5. beforeEach(function () {
  6. writer = new Writer;
  7. });
  8. it('loads partials correctly', function () {
  9. var partial = 'The content of the partial.';
  10. var result = writer.render('{{>partial}}', {}, function (name) {
  11. assert.equal(name, 'partial');
  12. return partial;
  13. });
  14. assert.equal(result, partial);
  15. });
  16. it('caches partials by content, not name', function () {
  17. var result = writer.render('{{>partial}}', {}, {
  18. partial: 'partial one'
  19. });
  20. assert.equal(result, 'partial one');
  21. result = writer.render('{{>partial}}', {}, {
  22. partial: 'partial two'
  23. });
  24. assert.equal(result, 'partial two');
  25. });
  26. it('can compile an array of tokens', function () {
  27. var template = 'Hello {{name}}!';
  28. var tokens = Mustache.parse(template);
  29. var render = writer.compileTokens(tokens, template);
  30. var result = render({ name: 'Michael' });
  31. assert.equal(result, 'Hello Michael!');
  32. });
  33. });