@typed/test
Version:
Simple test framework
43 lines • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var assertions_1 = require("./assertions");
var typed_figures_1 = require("typed-figures");
var typed_colors_1 = require("typed-colors");
var _167_1 = require("167");
var tests_1 = require("./tests");
function displayTestResults(name, testResults) {
var results = testResults.results;
var str = name + "\n";
var _loop_1 = function (key) {
var result = _167_1.flatten([results[key]]);
result.forEach(function (nestedResult) {
str += displayResult(key, nestedResult);
});
};
for (var key in results) {
_loop_1(key);
}
return "\n" + padNewLine(str).trim();
}
exports.displayTestResults = displayTestResults;
function displayResult(name, result) {
return tests_1.isTestResult(result)
? displayTestResult(name, result) + "\n"
: displayTestResults(name, result) + "\n";
}
function displayTestResult(name, result) {
var error = result.error;
var str = !error
? typed_colors_1.green(typed_figures_1.tick) + " " + name
: "\n" + typed_colors_1.red(typed_figures_1.cross) + " " + name + " \n" +
padNewLine(" " + (isAssertionError(error) ? assertions_1.createDiff(error) : error.stack));
return str;
}
exports.displayTestResult = displayTestResult;
function isAssertionError(error) {
return error && error.hasOwnProperty('actual') && error.hasOwnProperty('expected');
}
function padNewLine(str) {
return str.replace(/\n/gi, "\n ");
}
//# sourceMappingURL=displayTestResults.js.map