diff --git a/src/Util/TestDox/NamePrettifier.php b/src/Util/TestDox/NamePrettifier.php index c746d3159d4..ca5af055ac0 100644 --- a/src/Util/TestDox/NamePrettifier.php +++ b/src/Util/TestDox/NamePrettifier.php @@ -26,7 +26,6 @@ use function is_object; use function is_scalar; use function is_string; -use function mb_strtolower; use function ord; use function preg_quote; use function preg_replace; @@ -109,24 +108,7 @@ public function prettifyTestClass(string $className): string $fullyQualifiedName = $className; } - $result = ''; - $wasLowerCase = false; - - foreach (range(0, strlen($className) - 1) as $i) { - $isLowerCase = mb_strtolower($className[$i], 'UTF-8') === $className[$i]; - - if ($wasLowerCase && !$isLowerCase) { - $result .= ' '; - } - - $result .= $className[$i]; - - if ($isLowerCase) { - $wasLowerCase = true; - } else { - $wasLowerCase = false; - } - } + $result = preg_replace('/(?<=[[:lower:]])(?=[[:upper:]])/u', ' ', $className); if ($fullyQualifiedName !== $className) { return $result . ' (' . $fullyQualifiedName . ')'; diff --git a/tests/unit/Util/TestDox/NamePrettifierTest.php b/tests/unit/Util/TestDox/NamePrettifierTest.php index ec81c1ca322..ce90f067bc4 100644 --- a/tests/unit/Util/TestDox/NamePrettifierTest.php +++ b/tests/unit/Util/TestDox/NamePrettifierTest.php @@ -40,6 +40,7 @@ public function testTitleHasSensibleDefaults(): void $this->assertEquals('Foo (Test\Foo)', $this->namePrettifier->prettifyTestClass('Test\FooTest')); $this->assertEquals('Foo (Tests\Foo)', $this->namePrettifier->prettifyTestClass('Tests\FooTest')); $this->assertEquals('Unnamed Tests', $this->namePrettifier->prettifyTestClass('TestTest')); + $this->assertEquals('Système Testé', $this->namePrettifier->prettifyTestClass('SystèmeTestéTest')); } public function testTestNameIsConvertedToASentence(): void