diff --git a/src/TextUI/TestRunner.php b/src/TextUI/TestRunner.php index 989dfaf3f16..b551072ec73 100644 --- a/src/TextUI/TestRunner.php +++ b/src/TextUI/TestRunner.php @@ -544,10 +544,7 @@ public function doRun(Test $suite, array $arguments = [], bool $exit = true): Te if (isset($arguments['xdebugFilterFile'], $filterConfiguration)) { $filterScriptGenerator = new XDebugFilterScriptGenerator(); - $script = $filterScriptGenerator->generate( - $filterConfiguration['whitelist'], - $this->codeCoverageFilter->getWhitelist() - ); + $script = $filterScriptGenerator->generate($filterConfiguration['whitelist']); \file_put_contents($arguments['xdebugFilterFile'], $script); $this->write("\n"); diff --git a/src/Util/XDebugFilterScriptGenerator.php b/src/Util/XDebugFilterScriptGenerator.php index 6c0ac9dc318..2ec631f76af 100644 --- a/src/Util/XDebugFilterScriptGenerator.php +++ b/src/Util/XDebugFilterScriptGenerator.php @@ -11,9 +11,9 @@ class XDebugFilterScriptGenerator { - public function generate(array $filterData, array $whitelistedFiles): string + public function generate(array $filterData): string { - $items = $this->getItems($filterData, $whitelistedFiles); + $items = $this->getWhitelistItems($filterData); $files = \array_map(function ($item) { return \sprintf(" '%s'", $item); @@ -37,16 +37,7 @@ public function generate(array $filterData, array $whitelistedFiles): string EOF; } - private function getItems(array $filterData, array $whitelistedFiles): array - { - if ($this->canUseRawFilterData($filterData)) { - return $this->getItemsFromRawFilterData($filterData); - } - - return $whitelistedFiles; - } - - private function getItemsFromRawFilterData(array $filterData): array + private function getWhitelistItems(array $filterData): array { $files = []; @@ -64,19 +55,4 @@ private function getItemsFromRawFilterData(array $filterData): array return $files; } - - private function canUseRawFilterData(array $filterData): bool - { - if (\count($filterData['exclude']['directory']) > 0 || \count($filterData['exclude']['file'])) { - return false; - } - - foreach ($filterData['include']['directory'] as $directory) { - if (($directory['suffix'] !== '' && $directory['suffix'] !== '.php') || $directory['prefix'] !== '') { - return false; - } - } - - return true; - } } diff --git a/tests/_files/configuration_whitelist.xml b/tests/_files/configuration_whitelist.xml index f2a05dcbf3c..dacd6eabc21 100644 --- a/tests/_files/configuration_whitelist.xml +++ b/tests/_files/configuration_whitelist.xml @@ -5,6 +5,9 @@ AbstractTest.php + + Foo.php + diff --git a/tests/unit/Util/XDebugFilterScriptGeneratorTest.php b/tests/unit/Util/XDebugFilterScriptGeneratorTest.php index 1963d396d5f..586a0b5615d 100644 --- a/tests/unit/Util/XDebugFilterScriptGeneratorTest.php +++ b/tests/unit/Util/XDebugFilterScriptGeneratorTest.php @@ -15,61 +15,32 @@ class XDebugFilterScriptGeneratorTest extends TestCase { /** * @covers \PHPUnit\Util\XDebugFilterScriptGenerator::generate - * - * @dataProvider scriptGeneratorTestDataProvider */ - public function testReturnsExpectedScript(array $filterConfiguration, array $resolvedWhitelist): void + public function testReturnsExpectedScript(): void { - $writer = new XDebugFilterScriptGenerator(); - $actual = $writer->generate($filterConfiguration, $resolvedWhitelist); - - $this->assertStringEqualsFile(__DIR__ . '/_files/expectedXDebugFilterScript.txt', $actual); - } - - public function scriptGeneratorTestDataProvider(): array - { - return [ - [ - [ - 'include' => [ - 'directory' => [ - [ - 'path' => 'src/somePath', - 'suffix' => '.php', - 'prefix' => '', - ], - ], - 'file' => [ - 'src/foo.php', - 'src/bar.php', - ], - ], - 'exclude' => [ - 'directory' => [], - 'file' => [], - ], - ], - [], - __DIR__ . '/_files/expectedXDebugFilterScript.php', - ], - [ - [ - 'include' => [ - 'directory' => ['src/'], - 'file' => ['src/foo.php'], - ], - 'exclude' => [ - 'directory' => [], - 'file' => ['src/baz.php'], + $filterConfiguration = [ + 'include' => [ + 'directory' => [ + [ + 'path' => 'src/somePath', + 'suffix' => '.php', + 'prefix' => '', ], ], - [ - 'src/somePath', + 'file' => [ 'src/foo.php', 'src/bar.php', ], - __DIR__ . '/_files/expectedXDebugFilterScript.php', + ], + 'exclude' => [ + 'directory' => [], + 'file' => [], ], ]; + + $writer = new XDebugFilterScriptGenerator(); + $actual = $writer->generate($filterConfiguration); + + $this->assertStringEqualsFile(__DIR__ . '/_files/expectedXDebugFilterScript.txt', $actual); } }