928320524f
- bump to mocha 1.21.5 in order to remove "*" version-range on the
"debug"-dependency
- explicit use of "dot"-reporter for mocha 1.21.5, fixes failing tests
of console.log output
- fix tests running in the browser: assign variable "global" with
global "this", backport from master-branch
- sync saucelab config with master branch:
- Remove Safari 6 and 7 that are not supported by saucelabs anymore
and cause timeouts when running the saucelabs tests.
- Add Safari 8 and Safari 9
- Note: The tests fail with Safari 9 and 10 because in these versions
the "column"-property of "Error" is read-only
(see https://github.com/jquery/esprima/issues/1290)
- Firefox needs explicit platform specifier
75 lines
2.1 KiB
JavaScript
75 lines
2.1 KiB
JavaScript
var global = (function() { return this; }());
|
|
|
|
var AssertError;
|
|
if (Error.captureStackTrace) {
|
|
AssertError = function AssertError(message, caller) {
|
|
Error.prototype.constructor.call(this, message);
|
|
this.message = message;
|
|
|
|
if (Error.captureStackTrace) {
|
|
Error.captureStackTrace(this, caller || AssertError);
|
|
}
|
|
};
|
|
|
|
AssertError.prototype = new Error();
|
|
} else {
|
|
AssertError = Error;
|
|
}
|
|
|
|
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');
|
|
}
|
|
};
|