Merge pull request #981 from salehhashemi1992/refactor/remove-ansi-sequences

[2.x] Refactor: Extract ANSI Escape Sequence Removal to a Function
This commit is contained in:
Nuno Maduro
2024-01-25 14:11:51 +00:00
committed by GitHub
7 changed files with 19 additions and 8 deletions

View File

@ -194,3 +194,16 @@ if (! function_exists('afterAll')) {
TestSuite::getInstance()->afterAll->set($closure);
}
}
if (! function_exists('removeAnsiEscapeSequences')) {
/**
* Remove ANSI escape sequences from a given string.
*
* @param string $input The string containing ANSI escape sequences.
* @return string|null A new string with all ANSI escape sequences removed.
*/
function removeAnsiEscapeSequences(string $input): ?string
{
return preg_replace('#\\x1b[[][^A-Za-z]*[A-Za-z]#', '', $input);
}
}

View File

@ -10,7 +10,7 @@ test('collision', function (array $arguments) {
$process->run();
return preg_replace('#\\x1b[[][^A-Za-z]*[A-Za-z]#', '', $process->getOutput());
return removeAnsiEscapeSequences($process->getOutput());
};
$outputContent = explode("\n", $output());

View File

@ -6,7 +6,7 @@ test('visual snapshot of help command output', function () {
$process->run();
return preg_replace('#\\x1b[[][^A-Za-z]*[A-Za-z]#', '', $process->getOutput());
return removeAnsiEscapeSequences($process->getOutput());
};
expect($output())->toMatchSnapshot();

View File

@ -11,7 +11,7 @@ $run = function () {
$process->run();
return preg_replace('#\\x1b[[][^A-Za-z]*[A-Za-z]#', '', $process->getOutput());
return removeAnsiEscapeSequences($process->getOutput());
};
test('parallel', function () use ($run) {

View File

@ -9,7 +9,7 @@ $run = function (string $target, $decorated = false) {
$process->run();
return $decorated ? $process->getOutput() : preg_replace('#\\x1b[[][^A-Za-z]*[A-Za-z]#', '', $process->getOutput());
return $decorated ? $process->getOutput() : removeAnsiEscapeSequences($process->getOutput());
};
$snapshot = function ($name) {

View File

@ -11,9 +11,7 @@ $run = function (string $target, bool $parallel) {
expect($process->getExitCode())->toBe(0);
$outputContent = preg_replace('#\\x1b[[][^A-Za-z]*[A-Za-z]#', '', $process->getOutput());
return $outputContent;
return removeAnsiEscapeSequences($process->getOutput());
};
$snapshot = function ($name) {

View File

@ -6,7 +6,7 @@ test('visual snapshot of help command output', function () {
$process->run();
return preg_replace('#\\x1b[[][^A-Za-z]*[A-Za-z]#', '', $process->getOutput());
return removeAnsiEscapeSequences($process->getOutput());
};
expect($output())->toMatchSnapshot();