mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
104 lines
2.7 KiB
JavaScript
104 lines
2.7 KiB
JavaScript
'use strict';
|
|
var chai = require('chai');
|
|
chai.Assertion.includeStack = true;
|
|
var expect = require('chai').expect;
|
|
var nodePath = require('path');
|
|
var marko = require('../');
|
|
|
|
var fs = require('fs');
|
|
|
|
require('../node-require').install();
|
|
|
|
describe('marko/legacy-compiled' , function() {
|
|
before(function() {
|
|
require('../compiler').defaultOptions.checkUpToDate = false;
|
|
});
|
|
|
|
it('should allow an exports.create template to be loaded', function() {
|
|
|
|
var template = require('marko').load({
|
|
create: function(__helpers) {
|
|
var escapeXml = __helpers.x;
|
|
|
|
return function render(data, out) {
|
|
out.w('Hello ' +
|
|
escapeXml(data.name) +
|
|
'!');
|
|
};
|
|
}
|
|
});
|
|
|
|
var output = template.renderSync({
|
|
name: 'Frank'
|
|
});
|
|
|
|
expect(output).to.equal('Hello Frank!');
|
|
});
|
|
|
|
it('should only load an exports.create template once', function() {
|
|
|
|
var compiled = {
|
|
create: function(__helpers) {
|
|
var escapeXml = __helpers.x;
|
|
|
|
return function render(data, out) {
|
|
out.w('Hello ' +
|
|
escapeXml(data.name) +
|
|
'!');
|
|
};
|
|
}
|
|
};
|
|
|
|
var template1 = require('marko').load(compiled);
|
|
|
|
var output = template1.renderSync({ name: 'Frank' });
|
|
expect(output).to.equal('Hello Frank!');
|
|
|
|
var template2 = require('marko').load(compiled);
|
|
|
|
expect(template1).to.equal(template2);
|
|
});
|
|
|
|
it('should allow a module.exports = function create() {} template to be loaded', function() {
|
|
|
|
var template = require('marko').load(function create(__helpers) {
|
|
var escapeXml = __helpers.x;
|
|
|
|
return function render(data, out) {
|
|
out.w('Hello ' +
|
|
escapeXml(data.name) +
|
|
'!');
|
|
};
|
|
});
|
|
|
|
var output = template.renderSync({
|
|
name: 'Frank'
|
|
});
|
|
|
|
expect(output).to.equal('Hello Frank!');
|
|
});
|
|
|
|
it('should only load a module.exports = function create() {} template once', function() {
|
|
|
|
var compiled = function create(__helpers) {
|
|
var escapeXml = __helpers.x;
|
|
|
|
return function render(data, out) {
|
|
out.w('Hello ' +
|
|
escapeXml(data.name) +
|
|
'!');
|
|
};
|
|
};
|
|
|
|
var template1 = require('marko').load(compiled);
|
|
|
|
var output = template1.renderSync({ name: 'Frank' });
|
|
expect(output).to.equal('Hello Frank!');
|
|
|
|
var template2 = require('marko').load(compiled);
|
|
|
|
expect(template1).to.equal(template2);
|
|
});
|
|
|
|
});
|