diff --git a/src/Runner/StandardTestSuiteLoader.php b/src/Runner/StandardTestSuiteLoader.php index 929c0c0153b..3752d4c137f 100644 --- a/src/Runner/StandardTestSuiteLoader.php +++ b/src/Runner/StandardTestSuiteLoader.php @@ -52,19 +52,12 @@ public function load(string $suiteClassFile): ReflectionClass } if (!class_exists($suiteClassName, false)) { - // Perhaps this file defines a class inside a namespace? Let's check... $offset = 0 - strlen($suiteClassName); foreach ($loadedClasses as $loadedClass) { - // Detect modern namespace (eg './tests/Foo/Bar/WhizBangTest.php' <=> 'Foo\Bar\WhizBangTest') - if (stripos(substr($loadedClass, $offset - 1), '\\' . $suiteClassName) === 0) { - $suiteClassName = $loadedClass; - - break; - } - - // Detect old-school namespace (eg 'tests/Foo/Bar/WhizBangTest.php' <=> 'Foo_Bar_WhizBangTest'; #5020) - if (stripos(substr($loadedClass, $offset - 1), '_' . $suiteClassName) === 0) { + // @see https://github.com/sebastianbergmann/phpunit/issues/5020 + if (stripos(substr($loadedClass, $offset - 1), '\\' . $suiteClassName) === 0 || + stripos(substr($loadedClass, $offset - 1), '_' . $suiteClassName) === 0) { $suiteClassName = $loadedClass; break;