@fgv/ts-utils-jest
Version:
Custom matchers for ts-utils result class
51 lines • 2.17 kB
JavaScript
import { printExpected, printReceived } from 'jest-matcher-utils';
import { createColorStripWrapper } from './colorHelpers';
// Create color-stripped versions of Jest matcher utilities
const printExpectedClean = createColorStripWrapper(printExpected);
const printReceivedClean = createColorStripWrapper(printReceived);
function printExpectedValue(outcome, expected) {
return expected !== undefined ? ` ${outcome} with ${printExpectedClean(expected)}` : ` ${outcome}`;
}
export function printExpectedResult(expect, isNot, expected) {
return [
'Expected:',
isNot
? expect === 'success'
? printExpectedValue('Success', expected)
: printExpectedValue('Failure', expected)
: expect === 'success'
? printExpectedValue('Not success', expected)
: printExpectedValue('Not failure', expected)
].join('\n');
}
export function printExpectedDetailedResult(expect, isNot, expectedMessage, expectedDetail) {
/* c8 ignore next */
return [
'Expected:',
isNot
? expect === 'success'
? printExpectedValue('Success', expectedMessage)
: printExpectedValue('Failure', expectedMessage)
: expect === 'success'
? printExpectedValue('Not success', expectedMessage)
: printExpectedValue('Not failure', expectedMessage),
` Detail: "${printExpectedClean(expectedDetail)}"`
].join('\n');
}
export function printReceivedResult(received) {
return [
'Received:',
received.isSuccess()
? ` Success with ${printReceivedClean(received.value)}`
: ` Failure with "${received.message}"`
].join('\n');
}
export function printReceivedDetailedResult(received) {
return [
'Received:',
received.isSuccess()
? ` Success with "${printReceivedClean(received.value)}"\n Detail: "${printReceivedClean(received.detail)}"`
: ` Failure with "${received.message}"\n Detail: "${printReceivedClean(received.detail)}"`
].join('\n');
}
//# sourceMappingURL=matcherHelpers.js.map