diff --git a/src/Filters/Filter.php b/src/Filters/Filter.php index fa7360f0cd..5bed499b25 100644 --- a/src/Filters/Filter.php +++ b/src/Filters/Filter.php @@ -218,7 +218,7 @@ protected function shouldIgnorePath($path) // Need to check this pattern for dirs as well as individual file paths. $this->ignoreFilePatterns[$pattern] = $type; - $pattern = substr($pattern, 0, -2); + $pattern = substr($pattern, 0, -2).'(?=/|$)'; $this->ignoreDirPatterns[$pattern] = $type; } else { // This is a file-specific pattern, so only need to check this diff --git a/tests/Core/Filters/Filter/AcceptTest.php b/tests/Core/Filters/Filter/AcceptTest.php index 5d928c38b8..2c9f57cd39 100644 --- a/tests/Core/Filters/Filter/AcceptTest.php +++ b/tests/Core/Filters/Filter/AcceptTest.php @@ -111,9 +111,13 @@ public function dataExcludePatterns() '/path/to/src/Main.php', '/path/to/src/Something/Main.php', '/path/to/src/Somethingelse/Main.php', + '/path/to/src/SomethingelseEvenLonger/Main.php', '/path/to/src/Other/Main.php', ], - ['/path/to/src/Main.php'], + [ + '/path/to/src/Main.php', + '/path/to/src/SomethingelseEvenLonger/Main.php', + ], ], // Test ignoring standard/sniff specific exclude patterns.