@typed/test
Version:
Simple test framework
39 lines • 1.34 kB
JavaScript
import { createDiff } from './assertions';
import { cross, tick } from 'typed-figures';
import { green, red } from 'typed-colors';
import { flatten } from '167';
import { isTestResult } from './tests';
export function displayTestResults(name, testResults) {
var results = testResults.results;
var str = name + "\n";
var _loop_1 = function (key) {
var result = flatten([results[key]]);
result.forEach(function (nestedResult) {
str += displayResult(key, nestedResult);
});
};
for (var key in results) {
_loop_1(key);
}
return "\n" + padNewLine(str).trim();
}
function displayResult(name, result) {
return isTestResult(result)
? displayTestResult(name, result) + "\n"
: displayTestResults(name, result) + "\n";
}
export function displayTestResult(name, result) {
var error = result.error;
var str = !error
? green(tick) + " " + name
: "\n" + red(cross) + " " + name + " \n" +
padNewLine(" " + (isAssertionError(error) ? createDiff(error) : error.stack));
return str;
}
function isAssertionError(error) {
return error && error.hasOwnProperty('actual') && error.hasOwnProperty('expected');
}
function padNewLine(str) {
return str.replace(/\n/gi, "\n ");
}
//# sourceMappingURL=displayTestResults.js.map