e3d3eda2e1
Converts the tool chain to use babel, eslint, and webpack vs. the previous proprietary solutions. Additionally begins enforcing additional linting concerns as well as updates the code to reflect these rules. Fixes #855 Fixes #993
57 lines
1.7 KiB
JavaScript
57 lines
1.7 KiB
JavaScript
global.shouldCompileTo = function(string, hashOrArray, expected, message) {
|
|
shouldCompileToWithPartials(string, hashOrArray, false, expected, message);
|
|
};
|
|
|
|
global.shouldCompileToWithPartials = function(string, hashOrArray, partials, expected, message) {
|
|
var result = compileWithPartials(string, hashOrArray, partials);
|
|
if (result !== expected) {
|
|
throw new Error("'" + result + "' should === '" + expected + "': " + message);
|
|
}
|
|
};
|
|
|
|
global.compileWithPartials = function(string, hashOrArray, partials) {
|
|
var template,
|
|
ary,
|
|
options;
|
|
if (Object.prototype.toString.call(hashOrArray) === '[object Array]') {
|
|
ary = [];
|
|
ary.push(hashOrArray[0]);
|
|
ary.push({ helpers: hashOrArray[1], partials: hashOrArray[2] });
|
|
options = typeof hashOrArray[3] === 'object' ? hashOrArray[3] : {compat: hashOrArray[3]};
|
|
if (hashOrArray[4] != null) {
|
|
options.data = !!hashOrArray[4];
|
|
ary[1].data = hashOrArray[4];
|
|
}
|
|
} else {
|
|
ary = [hashOrArray];
|
|
}
|
|
|
|
template = CompilerContext[partials ? 'compileWithPartial' : 'compile'](string, options);
|
|
return template.apply(this, ary);
|
|
};
|
|
|
|
|
|
global.equals = global.equal = function(a, b, msg) {
|
|
if (a !== b) {
|
|
throw new Error("'" + a + "' should === '" + b + "'" + (msg ? ': ' + msg : ''));
|
|
}
|
|
};
|
|
|
|
global.shouldThrow = function(callback, type, msg) {
|
|
var failed;
|
|
try {
|
|
callback();
|
|
failed = true;
|
|
} catch (err) {
|
|
if (type && !(err instanceof type)) {
|
|
throw new Error('Type failure: ' + err);
|
|
}
|
|
if (msg && !(msg.test ? msg.test(err.message) : msg === err.message)) {
|
|
equal(msg, err.message);
|
|
}
|
|
}
|
|
if (failed) {
|
|
throw new Error('It failed to throw');
|
|
}
|
|
};
|