hz-zhhq-web/node_modules/jest-jasmine2/build/expectation_result_factory.js

96 lines
2.0 KiB
JavaScript
Raw Normal View History

2025-02-25 13:45:28 +08:00
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.default = expectationResultFactory;
var _prettyFormat = require('pretty-format');
var _prettyFormat2 = _interopRequireDefault(_prettyFormat);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {default: obj};
}
function messageFormatter(_ref) {
let error = _ref.error,
message = _ref.message,
passed = _ref.passed;
if (passed) {
return 'Passed.';
}
if (message) {
return message;
}
if (typeof error === 'string') {
return error;
}
if (
// duck-type Error, see #2549
error &&
typeof error === 'object' &&
typeof error.message === 'string' &&
typeof error.name === 'string'
) {
return `${error.name}: ${error.message}`;
}
return `thrown: ${(0, _prettyFormat2.default)(error, {maxDepth: 3})}`;
}
/**
* Copyright (c) 2014-present, Facebook, Inc. 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.
*
*
*/
function stackFormatter(options, initError, errorMessage) {
if (options.passed) {
return '';
}
if (options.error) {
if (options.error.stack) {
return options.error.stack;
}
if (options.error === errorMessage) {
return errorMessage;
}
}
if (initError) {
return errorMessage.trimRight() + '\n\n' + initError.stack;
}
return new Error(errorMessage).stack;
}
function expectationResultFactory(options, initError) {
const message = messageFormatter(options);
const stack = stackFormatter(options, initError, message);
if (options.passed) {
return {
error: options.error,
matcherName: options.matcherName,
message: message,
passed: options.passed,
stack: stack
};
}
return {
actual: options.actual,
error: options.error,
expected: options.expected,
matcherName: options.matcherName,
message: message,
passed: options.passed,
stack: stack
};
}