|
- var assert = require("assert");
- var vows = require("vows");
- var Mustache = require("./../mustache");
- var Writer = Mustache.Writer;
-
- vows.describe("Mustache.Writer").addBatch({
- "A Writer": {
- topic: function () {
- var writer = new Writer();
- return writer;
- },
- "loads partials correctly": function (writer) {
- var partial = "The content of the partial.";
- var result = writer.render("{{>partial}}", {}, function (name) {
- assert.equal(name, "partial");
- return partial;
- });
-
- assert.equal(result, partial);
- },
- "caches partials by content, not by name": function (writer) {
- var result = writer.render("{{>partial}}", {}, {
- partial: "partial one"
- });
-
- assert.equal(result, "partial one");
-
- result = writer.render("{{>partial}}", {}, {
- partial: "partial two"
- });
-
- assert.equal(result, "partial two");
- },
- "can compile an array of tokens": function (writer) {
- var template = "Hello {{name}}!";
- var tokens = Mustache.parse(template);
- var render = writer.compileTokens(tokens, template);
-
- var result = render({ name: 'Michael' });
-
- assert.equal(result, 'Hello Michael!');
- }
- }
- }).export(module);
|