diff --git a/src/PHPCensor/Plugin/Util/Executor.php b/src/PHPCensor/Plugin/Util/Executor.php index aa20a2ed..4660e171 100644 --- a/src/PHPCensor/Plugin/Util/Executor.php +++ b/src/PHPCensor/Plugin/Util/Executor.php @@ -176,21 +176,17 @@ class Executor */ public function executePlugin($plugin, $options) { - // Any plugin name without a namespace separator is a PHPCI built in plugin - // if not we assume it's a fully name-spaced class name that implements the plugin interface. - // If not the factory will throw an exception. - if (strpos($plugin, '\\') === false) { + $class = $plugin; + if (!class_exists($class)) { $class = str_replace('_', ' ', $plugin); $class = ucwords($class); $class = 'PHPCensor\\Plugin\\' . str_replace(' ', '', $class); - } else { - $class = $plugin; - } - if (!class_exists($class)) { - $this->logger->logFailure(sprintf('Plugin does not exist: %s', $plugin)); + if (!class_exists($class)) { + $this->logger->logFailure(sprintf('Plugin does not exist: %s', $plugin)); - return false; + return false; + } } try { diff --git a/tests/PHPCensor/Plugin/Util/ExecutorTest.php b/tests/PHPCensor/Plugin/Util/ExecutorTest.php index 40c73d23..5bbe00fb 100644 --- a/tests/PHPCensor/Plugin/Util/ExecutorTest.php +++ b/tests/PHPCensor/Plugin/Util/ExecutorTest.php @@ -100,8 +100,8 @@ class ExecutorTest extends \PHPUnit_Framework_TestCase { $options = []; $pluginName = 'DOESNTEXIST'; - - $this->mockBuildLogger->logFailure('Plugin does not exist: ' . $pluginName)->shouldBeCalledTimes(1); + + $this->mockBuildLogger->logFailure(sprintf('Plugin does not exist: %s', $pluginName))->shouldBeCalledTimes(1); $this->testedExecutor->executePlugin($pluginName, $options); }