UNPKG

requirejs-dustjs

Version:

A requirejs plugin for loading and compiling dustjs templates.

97 lines (90 loc) 2.06 kB
var tplPath = 'test/partial'; var fs = require('fs'); var requirejs = require('requirejs'); var path = require('path'); var basePath = path.resolve(__dirname, '../'); var testBuildPath = path.join(__dirname, "main-built.js"); requirejs.config({ baseUrl: basePath, nodeRequire: require, paths: { "dustc": "dustjs-require" } }); module.exports = { nonOptimized: { setUp: function(cb){ var that = this; requirejs([ 'dustjs-linkedin', 'dustc!test/partial.dust' ], function(dust, tpl){ that.template = tpl; that.dust = dust; cb(); }); }, load: function(test){ test.ok(this.template); test.expect(1); test.done(); }, compile: function(test){ test.ok(this.dust.cache); test.ok(this.dust.cache[tplPath]); test.expect(2); test.done(); }, render: function(test){ this.dust.render(tplPath, {name:"World"}, function(err, out){ test.ok(out); test.equals('<p id="test">Hello, World!</p>', out); test.expect(2); test.done(); }); }, cache: function(test){ var that = this; this.dust.cache['test/caching'] = "test"; requirejs(['dustc!test/caching.dust'], function(tpl){ test.ok(tpl); test.equals('test', that.dust.cache[tpl]); test.expect(2); test.done(); }); } }, optimized: { setUp: function(cb){ var that = this; if ( fs.existsSync(testBuildPath) ) { fs.unlinkSync(testBuildPath); } requirejs.optimize({ baseUrl: basePath, name: "test/main", optimize: 'none', paths: { "dustjs-linkedin": "node_modules/dustjs-linkedin/dist/dust-full-2.2.2", "dustc": "dustjs-require" }, out: testBuildPath }, function (buildResponse) { that.buildResponse = buildResponse; console.log(buildResponse); cb(); }, function(err) { that.error = err; console.error(err); cb(); }); }, build: function(test){ var contents = fs.readFileSync(testBuildPath, 'utf8'); test.ok(this.buildResponse); test.ok(contents); test.expect(2); test.done(); } } };