mirror of
https://github.com/aui/art-template.git
synced 2026-01-25 15:38:26 +00:00
84 lines
2.7 KiB
JavaScript
84 lines
2.7 KiB
JavaScript
const assert = require('assert');
|
|
const template = require('../');
|
|
const defaults = template.defaults;
|
|
const path = require('path');
|
|
const resetBail = defaults.bail;
|
|
const onerror = defaults.onerror;
|
|
|
|
module.exports = {
|
|
before: () => {
|
|
console.log('#node');
|
|
|
|
require.extensions['.html'] = template.extension;
|
|
require.extensions['.tpl'] = template.extension;
|
|
|
|
defaults.onerror = () => {
|
|
return () => '{Template Error}';
|
|
};
|
|
},
|
|
|
|
after: () => {
|
|
defaults.onerror = onerror;
|
|
},
|
|
|
|
extension: {
|
|
'require .art': () => {
|
|
const render = require(path.join(__dirname, 'res', 'file'));
|
|
assert.deepEqual('hello world', render({}));
|
|
},
|
|
|
|
'require .html': () => {
|
|
const render = require(path.join(__dirname, 'res', 'extension.file.html'));
|
|
assert.deepEqual('hello world', render({}));
|
|
},
|
|
|
|
'require .tpl': () => {
|
|
const render = require(path.join(__dirname, 'res', 'extension.file.tpl'));
|
|
assert.deepEqual('hello world', render({}));
|
|
},
|
|
|
|
'CompileError: bail=false': () => {
|
|
defaults.bail = false;
|
|
const render = require(path.join(__dirname, 'res', 'extension.compile-error.tpl'));
|
|
assert.deepEqual('{Template Error}', render({}));
|
|
defaults.bail = resetBail;
|
|
},
|
|
|
|
'CompileError: bail=true': () => {
|
|
defaults.bail = true;
|
|
let runder;
|
|
const filename = path.join(__dirname, './res/extension.compile-error.2.tpl');
|
|
|
|
try {
|
|
runder = require(filename);
|
|
} catch (e) {
|
|
assert.deepEqual('TemplateError', e.name);
|
|
assert.deepEqual(true, e.message.indexOf(filename) !== -1);
|
|
}
|
|
|
|
assert.deepEqual('undefined', typeof runder);
|
|
defaults.bail = resetBail;
|
|
},
|
|
|
|
'RuntimeError: bail=false': () => {
|
|
defaults.bail = false;
|
|
const render = require(path.join(__dirname, 'res', 'extension.runtime-error.tpl'));
|
|
assert.deepEqual('{Template Error}', render({}));
|
|
defaults.bail = resetBail;
|
|
},
|
|
|
|
'RuntimeError: bail=true': () => {
|
|
defaults.bail = true;
|
|
const filename = path.join(__dirname, 'res', 'extension.runtime-error.2.tpl');
|
|
try {
|
|
const render = require(filename);
|
|
render({});
|
|
} catch (e) {
|
|
assert.deepEqual('TemplateError', e.name);
|
|
assert.deepEqual(true, e.message.indexOf(filename) !== -1);
|
|
}
|
|
defaults.bail = resetBail;
|
|
}
|
|
}
|
|
};
|