diff options
author | Joel Kronqvist <joel.h.kronqvist@gmail.com> | 2022-03-05 19:02:27 +0200 |
---|---|---|
committer | Joel Kronqvist <joel.h.kronqvist@gmail.com> | 2022-03-05 19:02:27 +0200 |
commit | 5d309ff52cd399a6b71968a6b9a70c8ac0b98981 (patch) | |
tree | 360f7eb50f956e2367ef38fa1fc6ac7ac5258042 /node_modules/@jest/core/build/FailedTestsInteractiveMode.js | |
parent | b500a50f1b97d93c98b36ed9a980f8188d648147 (diff) | |
download | LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.tar.gz LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.zip |
Added node_modules for the updating to work properly.
Diffstat (limited to 'node_modules/@jest/core/build/FailedTestsInteractiveMode.js')
-rw-r--r-- | node_modules/@jest/core/build/FailedTestsInteractiveMode.js | 262 |
1 files changed, 262 insertions, 0 deletions
diff --git a/node_modules/@jest/core/build/FailedTestsInteractiveMode.js b/node_modules/@jest/core/build/FailedTestsInteractiveMode.js new file mode 100644 index 0000000..e9e6534 --- /dev/null +++ b/node_modules/@jest/core/build/FailedTestsInteractiveMode.js @@ -0,0 +1,262 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); +exports.default = void 0; + +function _ansiEscapes() { + const data = _interopRequireDefault(require('ansi-escapes')); + + _ansiEscapes = function () { + return data; + }; + + return data; +} + +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; +} + +function _jestWatcher() { + const data = require('jest-watcher'); + + _jestWatcher = function () { + return data; + }; + + return data; +} + +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 {ARROW, CLEAR} = _jestUtil().specialChars; + +function describeKey(key, description) { + return `${_chalk().default.dim( + ARROW + 'Press' + )} ${key} ${_chalk().default.dim(description)}`; +} + +const TestProgressLabel = _chalk().default.bold('Interactive Test Progress'); + +class FailedTestsInteractiveMode { + constructor(_pipe) { + _defineProperty(this, '_isActive', false); + + _defineProperty(this, '_countPaths', 0); + + _defineProperty(this, '_skippedNum', 0); + + _defineProperty(this, '_testAssertions', []); + + _defineProperty(this, '_updateTestRunnerConfig', void 0); + + this._pipe = _pipe; + } + + isActive() { + return this._isActive; + } + + put(key) { + switch (key) { + case 's': + if (this._skippedNum === this._testAssertions.length) { + break; + } + + this._skippedNum += 1; // move skipped test to the end + + this._testAssertions.push(this._testAssertions.shift()); + + if (this._testAssertions.length - this._skippedNum > 0) { + this._run(); + } else { + this._drawUIDoneWithSkipped(); + } + + break; + + case 'q': + case _jestWatcher().KEYS.ESCAPE: + this.abort(); + break; + + case 'r': + this.restart(); + break; + + case _jestWatcher().KEYS.ENTER: + if (this._testAssertions.length === 0) { + this.abort(); + } else { + this._run(); + } + + break; + + default: + } + } + + run(failedTestAssertions, updateConfig) { + if (failedTestAssertions.length === 0) return; + this._testAssertions = [...failedTestAssertions]; + this._countPaths = this._testAssertions.length; + this._updateTestRunnerConfig = updateConfig; + this._isActive = true; + + this._run(); + } + + updateWithResults(results) { + if (!results.snapshot.failure && results.numFailedTests > 0) { + return this._drawUIOverlay(); + } + + this._testAssertions.shift(); + + if (this._testAssertions.length === 0) { + return this._drawUIOverlay(); + } // Go to the next test + + return this._run(); + } + + _clearTestSummary() { + this._pipe.write(_ansiEscapes().default.cursorUp(6)); + + this._pipe.write(_ansiEscapes().default.eraseDown); + } + + _drawUIDone() { + this._pipe.write(CLEAR); + + const messages = [ + _chalk().default.bold('Watch Usage'), + describeKey('Enter', 'to return to watch mode.') + ]; + + this._pipe.write(messages.join('\n') + '\n'); + } + + _drawUIDoneWithSkipped() { + this._pipe.write(CLEAR); + + let stats = `${(0, _jestUtil().pluralize)( + 'test', + this._countPaths + )} reviewed`; + + if (this._skippedNum > 0) { + const skippedText = _chalk().default.bold.yellow( + (0, _jestUtil().pluralize)('test', this._skippedNum) + ' skipped' + ); + + stats = `${stats}, ${skippedText}`; + } + + const message = [ + TestProgressLabel, + `${ARROW}${stats}`, + '\n', + _chalk().default.bold('Watch Usage'), + describeKey('r', 'to restart Interactive Mode.'), + describeKey('q', 'to quit Interactive Mode.'), + describeKey('Enter', 'to return to watch mode.') + ]; + + this._pipe.write(`\n${message.join('\n')}`); + } + + _drawUIProgress() { + this._clearTestSummary(); + + const numPass = this._countPaths - this._testAssertions.length; + const numRemaining = this._countPaths - numPass - this._skippedNum; + let stats = `${(0, _jestUtil().pluralize)('test', numRemaining)} remaining`; + + if (this._skippedNum > 0) { + const skippedText = _chalk().default.bold.yellow( + (0, _jestUtil().pluralize)('test', this._skippedNum) + ' skipped' + ); + + stats = `${stats}, ${skippedText}`; + } + + const message = [ + TestProgressLabel, + `${ARROW}${stats}`, + '\n', + _chalk().default.bold('Watch Usage'), + describeKey('s', 'to skip the current test.'), + describeKey('q', 'to quit Interactive Mode.'), + describeKey('Enter', 'to return to watch mode.') + ]; + + this._pipe.write(`\n${message.join('\n')}`); + } + + _drawUIOverlay() { + if (this._testAssertions.length === 0) return this._drawUIDone(); + return this._drawUIProgress(); + } + + _run() { + if (this._updateTestRunnerConfig) { + this._updateTestRunnerConfig(this._testAssertions[0]); + } + } + + abort() { + this._isActive = false; + this._skippedNum = 0; + + if (this._updateTestRunnerConfig) { + this._updateTestRunnerConfig(); + } + } + + restart() { + this._skippedNum = 0; + this._countPaths = this._testAssertions.length; + + this._run(); + } +} + +exports.default = FailedTestsInteractiveMode; |