From 0b8b519e3801cd9bca28ab4735756047eef22365 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=B6ller?= Date: Sun, 23 Feb 2025 13:46:37 +0100 Subject: [PATCH] Enhancement: Leverage sprintf() --- src/Reporter/DefaultReporter.php | 38 +++++++++----------------------- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/src/Reporter/DefaultReporter.php b/src/Reporter/DefaultReporter.php index c95b8692..bd73fbe3 100644 --- a/src/Reporter/DefaultReporter.php +++ b/src/Reporter/DefaultReporter.php @@ -98,36 +98,20 @@ private function list(SlowTestList $slowTestList): array $testDurationWidth = \strlen($durationFormatter->format($slowTestWithLongestTestDuration->testDuration()->toDuration())); $maximumDurationWidth = \strlen($durationFormatter->format($slowTestWithLongestMaximumDuration->maximumDuration()->toDuration())); - return \array_map(static function (int $number, SlowTest $slowTest) use ($numberWidth, $durationFormatter, $testDurationWidth, $maximumDurationWidth): string { - $formattedNumber = \str_pad( + $template = \sprintf( + '%%%dd. %%%ds (%%%ds) %%s', + $numberWidth, + $testDurationWidth, + $maximumDurationWidth + ); + + return \array_map(static function (int $number, SlowTest $slowTest) use ($template, $durationFormatter): string { + return \sprintf( + $template, (string) $number, - $numberWidth, - ' ', - \STR_PAD_LEFT - ); - - $formattedDuration = \str_pad( $durationFormatter->format($slowTest->testDuration()->toDuration()), - $testDurationWidth, - ' ', - \STR_PAD_LEFT - ); - - $formattedMaximumDuration = \str_pad( $durationFormatter->format($slowTest->maximumDuration()->toDuration()), - $maximumDurationWidth, - ' ', - \STR_PAD_LEFT - ); - - $testDescription = $slowTest->testDescription()->toString(); - - return \sprintf( - '%s. %s (%s) %s', - $formattedNumber, - $formattedDuration, - $formattedMaximumDuration, - $testDescription + $slowTest->testDescription()->toString() ); }, \range(1, $slowTestListThatWillBeReported->slowTestCount()->toCount()->toInt()), $slowTestListThatWillBeReported->toArray()); }