123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- 'use strict';
-
- Object.defineProperty(exports, '__esModule', {
- value: true
- });
- exports.printReceivedConstructorNameNot =
- exports.printReceivedConstructorName =
- exports.printExpectedConstructorNameNot =
- exports.printExpectedConstructorName =
- exports.printCloseTo =
- exports.printReceivedArrayContainExpectedItem =
- exports.printReceivedStringContainExpectedResult =
- exports.printReceivedStringContainExpectedSubstring =
- void 0;
-
- var _jestMatcherUtils = require('jest-matcher-utils');
-
- /**
- * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- *
- */
-
- /* eslint-disable local/ban-types-eventually */
- // Format substring but do not enclose in double quote marks.
- // The replacement is compatible with pretty-format package.
- const printSubstring = val => val.replace(/"|\\/g, '\\$&');
-
- const printReceivedStringContainExpectedSubstring = (
- received,
- start,
- length // not end
- ) =>
- (0, _jestMatcherUtils.RECEIVED_COLOR)(
- '"' +
- printSubstring(received.slice(0, start)) +
- (0, _jestMatcherUtils.INVERTED_COLOR)(
- printSubstring(received.slice(start, start + length))
- ) +
- printSubstring(received.slice(start + length)) +
- '"'
- );
-
- exports.printReceivedStringContainExpectedSubstring =
- printReceivedStringContainExpectedSubstring;
-
- const printReceivedStringContainExpectedResult = (received, result) =>
- result === null
- ? (0, _jestMatcherUtils.printReceived)(received)
- : printReceivedStringContainExpectedSubstring(
- received,
- result.index,
- result[0].length
- ); // The serialized array is compatible with pretty-format package min option.
- // However, items have default stringify depth (instead of depth - 1)
- // so expected item looks consistent by itself and enclosed in the array.
-
- exports.printReceivedStringContainExpectedResult =
- printReceivedStringContainExpectedResult;
-
- const printReceivedArrayContainExpectedItem = (received, index) =>
- (0, _jestMatcherUtils.RECEIVED_COLOR)(
- '[' +
- received
- .map((item, i) => {
- const stringified = (0, _jestMatcherUtils.stringify)(item);
- return i === index
- ? (0, _jestMatcherUtils.INVERTED_COLOR)(stringified)
- : stringified;
- })
- .join(', ') +
- ']'
- );
-
- exports.printReceivedArrayContainExpectedItem =
- printReceivedArrayContainExpectedItem;
-
- const printCloseTo = (receivedDiff, expectedDiff, precision, isNot) => {
- const receivedDiffString = (0, _jestMatcherUtils.stringify)(receivedDiff);
- const expectedDiffString = receivedDiffString.includes('e') // toExponential arg is number of digits after the decimal point.
- ? expectedDiff.toExponential(0)
- : 0 <= precision && precision < 20 // toFixed arg is number of digits after the decimal point.
- ? // It may be a value between 0 and 20 inclusive.
- // Implementations may optionally support a larger range of values.
- expectedDiff.toFixed(precision + 1)
- : (0, _jestMatcherUtils.stringify)(expectedDiff);
- return (
- `Expected precision: ${isNot ? ' ' : ''} ${(0,
- _jestMatcherUtils.stringify)(precision)}\n` +
- `Expected difference: ${isNot ? 'not ' : ''}< ${(0,
- _jestMatcherUtils.EXPECTED_COLOR)(expectedDiffString)}\n` +
- `Received difference: ${isNot ? ' ' : ''} ${(0,
- _jestMatcherUtils.RECEIVED_COLOR)(receivedDiffString)}`
- );
- };
-
- exports.printCloseTo = printCloseTo;
-
- const printExpectedConstructorName = (label, expected) =>
- printConstructorName(label, expected, false, true) + '\n';
-
- exports.printExpectedConstructorName = printExpectedConstructorName;
-
- const printExpectedConstructorNameNot = (label, expected) =>
- printConstructorName(label, expected, true, true) + '\n';
-
- exports.printExpectedConstructorNameNot = printExpectedConstructorNameNot;
-
- const printReceivedConstructorName = (label, received) =>
- printConstructorName(label, received, false, false) + '\n'; // Do not call function if received is equal to expected.
-
- exports.printReceivedConstructorName = printReceivedConstructorName;
-
- const printReceivedConstructorNameNot = (label, received, expected) =>
- typeof expected.name === 'string' &&
- expected.name.length !== 0 &&
- typeof received.name === 'string' &&
- received.name.length !== 0
- ? printConstructorName(label, received, true, false) +
- ` ${
- Object.getPrototypeOf(received) === expected
- ? 'extends'
- : 'extends … extends'
- } ${(0, _jestMatcherUtils.EXPECTED_COLOR)(expected.name)}` +
- '\n'
- : printConstructorName(label, received, false, false) + '\n';
-
- exports.printReceivedConstructorNameNot = printReceivedConstructorNameNot;
-
- const printConstructorName = (label, constructor, isNot, isExpected) =>
- typeof constructor.name !== 'string'
- ? `${label} name is not a string`
- : constructor.name.length === 0
- ? `${label} name is an empty string`
- : `${label}: ${!isNot ? '' : isExpected ? 'not ' : ' '}${
- isExpected
- ? (0, _jestMatcherUtils.EXPECTED_COLOR)(constructor.name)
- : (0, _jestMatcherUtils.RECEIVED_COLOR)(constructor.name)
- }`;
|