You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
define([], function () {
|
|
|
|
return function () {
|
|
|
|
var failMessages = [];
|
|
|
|
var passed = 0;
|
|
|
|
var ASSERTS = [];
|
|
|
|
var MESSAGES = [];
|
|
|
|
var assert = function (test, msg) {
|
|
|
|
MESSAGES.push(msg || false);
|
|
|
|
ASSERTS.push(function (cb, i) {
|
|
|
|
test(function (result) {
|
|
|
|
if (result === true) {
|
|
|
|
passed++;
|
|
|
|
cb();
|
|
|
|
} else {
|
|
|
|
cb({
|
|
|
|
test: i,
|
|
|
|
message: msg,
|
|
|
|
output: result,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}, msg);
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
assert.run = function (cb, progress) {
|
|
|
|
progress = progress || function () {};
|
|
|
|
var count = ASSERTS.length;
|
|
|
|
var total = ASSERTS.length;
|
|
|
|
var done = function (err) {
|
|
|
|
count--;
|
|
|
|
if (err) { failMessages.push(err); }
|
|
|
|
if (count === 0) {
|
|
|
|
cb({
|
|
|
|
total: ASSERTS.length,
|
|
|
|
passed: passed,
|
|
|
|
errors: failMessages,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
ASSERTS.forEach(function (f, index) {
|
|
|
|
f(function (err) {
|
|
|
|
//console.log("test " + index);
|
|
|
|
progress(index, total);
|
|
|
|
done(err, index);
|
|
|
|
}, index);
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
return assert;
|
|
|
|
};
|
|
|
|
});
|