UNPKG

earljs

Version:

Ergonomic, modern and type-safe assertion library

33 lines (32 loc) 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toLooseEqual = void 0; const format_1 = require("../format"); const FormatOptions_1 = require("../format/FormatOptions"); const isEqual_1 = require("../isEqual"); // @todo: follow design of jest's loose equal function toLooseEqual(control, expected) { const actualFmt = (0, format_1.formatCompact)(control.actual); const expectedFmt = (0, format_1.formatCompact)(expected); const reason = `${actualFmt} not loose equal to ${expectedFmt}`; const negatedReason = `${actualFmt} loose equal to ${expectedFmt}`; if (!(0, isEqual_1.isEqual)(control.actual, expected, isEqual_1.LOOSE_EQUALITY_OPTIONS)) { control.assert({ success: false, reason, negatedReason, actual: (0, format_1.format)(control.actual, null, FormatOptions_1.LOOSE_FORMAT_OPTIONS), expected: (0, format_1.format)(expected, control.actual, FormatOptions_1.LOOSE_FORMAT_OPTIONS), }); } else { control.assert({ success: true, reason, negatedReason, actual: (0, format_1.format)(control.actual, null, FormatOptions_1.LOOSE_FORMAT_OPTIONS), expected: (0, format_1.format)(expected, control.actual, FormatOptions_1.LOOSE_FORMAT_OPTIONS), }); } } exports.toLooseEqual = toLooseEqual;