UNPKG

@fgv/ts-utils-jest

Version:

Custom matchers for ts-utils result class

30 lines 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.matcherName = void 0; exports.predicate = predicate; /* eslint-disable @typescript-eslint/no-unused-vars,no-unused-vars */ const expect_utils_1 = require("@jest/expect-utils"); const jest_matcher_utils_1 = require("jest-matcher-utils"); const ts_utils_1 = require("../../ts-utils"); exports.matcherName = 'toFailTestWith'; function predicate(cb, expected) { const cbResult = (0, ts_utils_1.captureResult)(() => cb()); if (cbResult.isFailure()) { let success = false; if (expected instanceof RegExp) { success = cbResult.message.match(expected) !== null; } else if (typeof expected === 'string') { success = cbResult.message === expected; } else if (Array.isArray(expected)) { success = (0, expect_utils_1.equals)(cbResult.message.split('\n'), expected); } else { return (0, ts_utils_1.fail)(`Unsupported expected value "${(0, jest_matcher_utils_1.stringify)(expected)}" for toFailTestWith`); } return success ? (0, ts_utils_1.succeed)(cbResult.message) : (0, ts_utils_1.fail)(cbResult.message); } return (0, ts_utils_1.fail)(''); } //# sourceMappingURL=predicate.js.map