aboutsummaryrefslogtreecommitdiff
path: root/node_modules/@jest/reporters/build/SummaryReporter.js
diff options
context:
space:
mode:
authorJoel Kronqvist <work.joelkronqvist@pm.me>2022-03-11 20:46:06 +0200
committerJoel Kronqvist <work.joelkronqvist@pm.me>2022-03-11 20:46:06 +0200
commit080c5819d87b933816d724a83f3bf4f1686770a7 (patch)
tree4a2ccc68b27edf7d4cbc586c932cc7542b655e19 /node_modules/@jest/reporters/build/SummaryReporter.js
parent5ac7049a9d30733165cc212dee308163c2a14644 (diff)
parentd003b82235a9329f912522a2f70aa950dfce4998 (diff)
downloadLYLLRuoka-080c5819d87b933816d724a83f3bf4f1686770a7.tar.gz
LYLLRuoka-080c5819d87b933816d724a83f3bf4f1686770a7.zip
Merge branch 'master' of https://github.com/JoelHMikael/FoodJS
Updating remote changes
Diffstat (limited to 'node_modules/@jest/reporters/build/SummaryReporter.js')
-rw-r--r--node_modules/@jest/reporters/build/SummaryReporter.js271
1 files changed, 271 insertions, 0 deletions
diff --git a/node_modules/@jest/reporters/build/SummaryReporter.js b/node_modules/@jest/reporters/build/SummaryReporter.js
new file mode 100644
index 0000000..5696da1
--- /dev/null
+++ b/node_modules/@jest/reporters/build/SummaryReporter.js
@@ -0,0 +1,271 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', {
+ value: true
+});
+exports.default = void 0;
+
+function _chalk() {
+ const data = _interopRequireDefault(require('chalk'));
+
+ _chalk = function () {
+ return data;
+ };
+
+ return data;
+}
+
+function _jestUtil() {
+ const data = require('jest-util');
+
+ _jestUtil = function () {
+ return data;
+ };
+
+ return data;
+}
+
+var _BaseReporter = _interopRequireDefault(require('./BaseReporter'));
+
+var _getResultHeader = _interopRequireDefault(require('./getResultHeader'));
+
+var _getSnapshotSummary = _interopRequireDefault(
+ require('./getSnapshotSummary')
+);
+
+var _utils = require('./utils');
+
+function _interopRequireDefault(obj) {
+ return obj && obj.__esModule ? obj : {default: obj};
+}
+
+function _defineProperty(obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+ return obj;
+}
+
+const TEST_SUMMARY_THRESHOLD = 20;
+const NPM_EVENTS = new Set([
+ 'prepublish',
+ 'publish',
+ 'postpublish',
+ 'preinstall',
+ 'install',
+ 'postinstall',
+ 'preuninstall',
+ 'uninstall',
+ 'postuninstall',
+ 'preversion',
+ 'version',
+ 'postversion',
+ 'pretest',
+ 'test',
+ 'posttest',
+ 'prestop',
+ 'stop',
+ 'poststop',
+ 'prestart',
+ 'start',
+ 'poststart',
+ 'prerestart',
+ 'restart',
+ 'postrestart'
+]);
+const {npm_config_user_agent, npm_lifecycle_event, npm_lifecycle_script} =
+ process.env;
+
+class SummaryReporter extends _BaseReporter.default {
+ constructor(globalConfig) {
+ super();
+
+ _defineProperty(this, '_estimatedTime', void 0);
+
+ _defineProperty(this, '_globalConfig', void 0);
+
+ this._globalConfig = globalConfig;
+ this._estimatedTime = 0;
+ } // If we write more than one character at a time it is possible that
+ // Node.js exits in the middle of printing the result. This was first observed
+ // in Node.js 0.10 and still persists in Node.js 6.7+.
+ // Let's print the test failure summary character by character which is safer
+ // when hundreds of tests are failing.
+
+ _write(string) {
+ for (let i = 0; i < string.length; i++) {
+ process.stderr.write(string.charAt(i));
+ }
+ }
+
+ onRunStart(aggregatedResults, options) {
+ super.onRunStart(aggregatedResults, options);
+ this._estimatedTime = options.estimatedTime;
+ }
+
+ onRunComplete(contexts, aggregatedResults) {
+ const {numTotalTestSuites, testResults, wasInterrupted} = aggregatedResults;
+
+ if (numTotalTestSuites) {
+ const lastResult = testResults[testResults.length - 1]; // Print a newline if the last test did not fail to line up newlines
+ // similar to when an error would have been thrown in the test.
+
+ if (
+ !this._globalConfig.verbose &&
+ lastResult &&
+ !lastResult.numFailingTests &&
+ !lastResult.testExecError
+ ) {
+ this.log('');
+ }
+
+ this._printSummary(aggregatedResults, this._globalConfig);
+
+ this._printSnapshotSummary(
+ aggregatedResults.snapshot,
+ this._globalConfig
+ );
+
+ if (numTotalTestSuites) {
+ let message = (0, _utils.getSummary)(aggregatedResults, {
+ estimatedTime: this._estimatedTime
+ });
+
+ if (!this._globalConfig.silent) {
+ message +=
+ '\n' +
+ (wasInterrupted
+ ? _chalk().default.bold.red('Test run was interrupted.')
+ : this._getTestSummary(contexts, this._globalConfig));
+ }
+
+ this.log(message);
+ }
+ }
+ }
+
+ _printSnapshotSummary(snapshots, globalConfig) {
+ if (
+ snapshots.added ||
+ snapshots.filesRemoved ||
+ snapshots.unchecked ||
+ snapshots.unmatched ||
+ snapshots.updated
+ ) {
+ let updateCommand;
+ const event = npm_lifecycle_event || '';
+ const prefix = NPM_EVENTS.has(event) ? '' : 'run ';
+ const isYarn =
+ typeof npm_config_user_agent === 'string' &&
+ npm_config_user_agent.includes('yarn');
+ const client = isYarn ? 'yarn' : 'npm';
+ const scriptUsesJest =
+ typeof npm_lifecycle_script === 'string' &&
+ npm_lifecycle_script.includes('jest');
+
+ if (globalConfig.watch || globalConfig.watchAll) {
+ updateCommand = 'press `u`';
+ } else if (event && scriptUsesJest) {
+ updateCommand = `run \`${
+ client + ' ' + prefix + event + (isYarn ? '' : ' --')
+ } -u\``;
+ } else {
+ updateCommand = 're-run jest with `-u`';
+ }
+
+ const snapshotSummary = (0, _getSnapshotSummary.default)(
+ snapshots,
+ globalConfig,
+ updateCommand
+ );
+ snapshotSummary.forEach(this.log);
+ this.log(''); // print empty line
+ }
+ }
+
+ _printSummary(aggregatedResults, globalConfig) {
+ // If there were any failing tests and there was a large number of tests
+ // executed, re-print the failing results at the end of execution output.
+ const failedTests = aggregatedResults.numFailedTests;
+ const runtimeErrors = aggregatedResults.numRuntimeErrorTestSuites;
+
+ if (
+ failedTests + runtimeErrors > 0 &&
+ aggregatedResults.numTotalTestSuites > TEST_SUMMARY_THRESHOLD
+ ) {
+ this.log(_chalk().default.bold('Summary of all failing tests'));
+ aggregatedResults.testResults.forEach(testResult => {
+ const {failureMessage} = testResult;
+
+ if (failureMessage) {
+ this._write(
+ (0, _getResultHeader.default)(testResult, globalConfig) +
+ '\n' +
+ failureMessage +
+ '\n'
+ );
+ }
+ });
+ this.log(''); // print empty line
+ }
+ }
+
+ _getTestSummary(contexts, globalConfig) {
+ const getMatchingTestsInfo = () => {
+ const prefix = globalConfig.findRelatedTests
+ ? ' related to files matching '
+ : ' matching ';
+ return (
+ _chalk().default.dim(prefix) +
+ (0, _jestUtil().testPathPatternToRegExp)(
+ globalConfig.testPathPattern
+ ).toString()
+ );
+ };
+
+ let testInfo = '';
+
+ if (globalConfig.runTestsByPath) {
+ testInfo = _chalk().default.dim(' within paths');
+ } else if (globalConfig.onlyChanged) {
+ testInfo = _chalk().default.dim(' related to changed files');
+ } else if (globalConfig.testPathPattern) {
+ testInfo = getMatchingTestsInfo();
+ }
+
+ let nameInfo = '';
+
+ if (globalConfig.runTestsByPath) {
+ nameInfo = ' ' + globalConfig.nonFlagArgs.map(p => `"${p}"`).join(', ');
+ } else if (globalConfig.testNamePattern) {
+ nameInfo =
+ _chalk().default.dim(' with tests matching ') +
+ `"${globalConfig.testNamePattern}"`;
+ }
+
+ const contextInfo =
+ contexts.size > 1
+ ? _chalk().default.dim(' in ') +
+ contexts.size +
+ _chalk().default.dim(' projects')
+ : '';
+ return (
+ _chalk().default.dim('Ran all test suites') +
+ testInfo +
+ nameInfo +
+ contextInfo +
+ _chalk().default.dim('.')
+ );
+ }
+}
+
+exports.default = SummaryReporter;
+
+_defineProperty(SummaryReporter, 'filename', __filename);