haml
Version:
Haml ported to server-side Javascript. This is a traditional server-side templating language.
24 lines (18 loc) • 781 B
JavaScript
var FILE = require("file");
var ASSERT = require("assert");
var Haml = require("../lib/haml");
FILE.glob("test/*.haml").forEach(function(hamlFile) {
exports["test " + hamlFile] = function() {
var scopeFile = hamlFile.replace(/haml$/, "js");
var htmlFile = hamlFile.replace(/haml$/, "html");
var haml = FILE.read(hamlFile);
var expected = FILE.read(htmlFile);
var scope = FILE.exists(scopeFile) ? eval("("+FILE.read(scopeFile)+")") : {};
var js = Haml.compile(haml);
var js_opt = Haml.optimize(js);
var actual = Haml.execute(js_opt, scope.context, scope.locals);
ASSERT.equal(actual.trim(), expected.trim());
}
});
if (module == require.main)
require("os").exit(require("test").run(exports));