UNPKG

@fgv/ts-utils-jest

Version:
26 lines 1.03 kB
/* eslint-disable @typescript-eslint/no-unused-vars */ import { equals } from '@jest/expect-utils'; import { stringify } from 'jest-matcher-utils'; import { captureResult, fail, succeed } from '../../ts-utils'; export const matcherName = 'toFailTestWith'; export function predicate(cb, expected) { const cbResult = 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 = equals(cbResult.message.split('\n'), expected); } else { return fail(`Unsupported expected value "${stringify(expected)}" for toFailTestWith`); } return success ? succeed(cbResult.message) : fail(cbResult.message); } return fail(''); } //# sourceMappingURL=predicate.js.map