123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- 'use strict';
- Object.defineProperty(exports, '__esModule', {
- value: true
- });
- exports.default = formatTestNameByPattern;
- function _chalk() {
- const data = _interopRequireDefault(require('chalk'));
- _chalk = function () {
- return data;
- };
- return data;
- }
- var _colorize = _interopRequireDefault(require('./colorize'));
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {default: obj};
- }
- /**
- * 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.
- */
- const DOTS = '...';
- const ENTER = '⏎';
- function formatTestNameByPattern(testName, pattern, width) {
- const inlineTestName = testName.replace(/(\r\n|\n|\r)/gm, ENTER);
- let regexp;
- try {
- regexp = new RegExp(pattern, 'i');
- } catch {
- return _chalk().default.dim(inlineTestName);
- }
- const match = inlineTestName.match(regexp);
- if (!match) {
- return _chalk().default.dim(inlineTestName);
- }
- const startPatternIndex = Math.max(match.index || 0, 0);
- const endPatternIndex = startPatternIndex + match[0].length;
- if (inlineTestName.length <= width) {
- return (0, _colorize.default)(
- inlineTestName,
- startPatternIndex,
- endPatternIndex
- );
- }
- const slicedTestName = inlineTestName.slice(0, width - DOTS.length);
- if (startPatternIndex < slicedTestName.length) {
- if (endPatternIndex > slicedTestName.length) {
- return (0, _colorize.default)(
- slicedTestName + DOTS,
- startPatternIndex,
- slicedTestName.length + DOTS.length
- );
- } else {
- return (0, _colorize.default)(
- slicedTestName + DOTS,
- Math.min(startPatternIndex, slicedTestName.length),
- endPatternIndex
- );
- }
- }
- return `${_chalk().default.dim(slicedTestName)}${_chalk().default.reset(
- DOTS
- )}`;
- }
|