UNPKG

@typed/test

Version:
40 lines 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var typed_colors_1 = require("typed-colors"); var diff_1 = require("diff"); function createDiff(assertionError) { var message = assertionError.message, actual = assertionError.actual, expected = assertionError.expected; var str = typed_colors_1.bold("AssertionError: " + message + "\n") + (" " + typed_colors_1.red('- expected') + " " + typed_colors_1.green('+ actual') + "\n\n"); if (typeof actual === 'object' && typeof expected === 'object') str += formatDiff(diff_1.diffJson(actual, expected)); else str += JSON.stringify(expected) + " !== " + JSON.stringify(actual) + "\n"; return str; } exports.createDiff = createDiff; function formatDiff(diffResults) { var diffString = ' '; for (var _i = 0, diffResults_1 = diffResults; _i < diffResults_1.length; _i++) { var result = diffResults_1[_i]; if (!result.hasOwnProperty('added') && !result.hasOwnProperty('removed')) { diffString += "" + result.value; } else { var removed = result.removed, value = result.value; if (removed) { diffString += typed_colors_1.green('+') + " " + dropFirstTwoSpaces(value); } else { diffString += typed_colors_1.red('-') + " " + dropFirstTwoSpaces(value); } } } return padNewLine(diffString) + '\n'; } function padNewLine(str) { return str.replace(/(\n)/g, "\n "); } function dropFirstTwoSpaces(str) { return str.slice(2); } //# sourceMappingURL=createDiff.js.map