assertthat
Version:
assertthat provides fluent TDD.
44 lines (40 loc) • 1.54 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatErrorMessage = void 0;
const chalk_1 = __importDefault(require("chalk"));
const propagateDiffSymbols_1 = require("./prettyPrint/utils/propagateDiffSymbols");
const common_tags_1 = require("common-tags");
const formatErrorMessage = function ({ message, expected, actual, diff }) {
// Some test libraries (e.g. mocha) print the errors thrown in tests in red.
// Since our diff makes use of color, we want to guarantee that our error
// message is displayed as intended. To achieve this, we reset all color in
// the beginning.
let errorMessage = chalk_1.default.reset(message);
if (expected) {
errorMessage += `\n\n${(0, common_tags_1.source) `
--- EXPECTED --------
${expected}
`}`;
}
if (actual) {
errorMessage += `\n\n${(0, common_tags_1.source) `
--- ACTUAL ----------
${actual}
`}`;
}
if (diff) {
errorMessage += `\n\n${(0, common_tags_1.source) `
--- DIFF ------------
${chalk_1.default.green('+++ must be added')}
${chalk_1.default.red('--- must be removed')}
`}\n${(0, propagateDiffSymbols_1.propagateDiffSymbols)((0, common_tags_1.source) `
*** contains changes
${diff}
`)}`;
}
return errorMessage;
};
exports.formatErrorMessage = formatErrorMessage;