/** * testCreateReturnsExpectedConfigurationInstance * * @return void * @group pdepend * @group pdepend::util * @group pdepend::util::configuration * @group unittest */ public function testCreateReturnsExpectedConfigurationInstance() { $file = self::createCodeResourceUriForTest() . '/pdepend.xml'; $factory = new PHP_Depend_Util_Configuration_Factory(); $config = $factory->create($file); self::assertEquals(42, $config->imageConvert->fontSize); }
/** * Parses the cli arguments. * * @return boolean */ protected function handleArguments() { if (!isset($_SERVER['argv'])) { if (false === (bool) ini_get('register_argc_argv')) { // @codeCoverageIgnoreStart echo 'Please enable register_argc_argv in your php.ini.'; } else { // @codeCoverageIgnoreEnd echo 'Unknown error, no $argv array available.'; } echo PHP_EOL, PHP_EOL; return false; } $argv = $_SERVER['argv']; // Remove the pdepend command line file array_shift($argv); if (count($argv) === 0) { return false; } // Last argument must be a list of source directories if (strpos(end($argv), '--') !== 0) { $this->_runner->setSourceArguments(explode(',', array_pop($argv))); } for ($i = 0, $c = count($argv); $i < $c; ++$i) { // Is it an ini_set option? if ($argv[$i] === '-d' && isset($argv[$i + 1])) { if (strpos($argv[++$i], '=') === false) { ini_set($argv[$i], 'on'); } else { list($key, $value) = explode('=', $argv[$i]); ini_set($key, $value); } } else { if (strpos($argv[$i], '=') === false) { $this->_options[$argv[$i]] = true; } else { list($key, $value) = explode('=', $argv[$i]); $this->_options[$key] = $value; } } } // Check for suffix option if (isset($this->_options['--suffix'])) { // Get file extensions $extensions = explode(',', $this->_options['--suffix']); // Set allowed file extensions $this->_runner->setFileExtensions($extensions); unset($this->_options['--suffix']); } // Check for ignore option if (isset($this->_options['--ignore'])) { // Get exclude directories $directories = explode(',', $this->_options['--ignore']); // Set exclude directories $this->_runner->setExcludeDirectories($directories); unset($this->_options['--ignore']); } // Check for exclude package option if (isset($this->_options['--exclude'])) { // Get exclude directories $packages = explode(',', $this->_options['--exclude']); // Set exclude packages $this->_runner->setExcludePackages($packages); unset($this->_options['--exclude']); } // Check for the bad documentation option if (isset($this->_options['--bad-documentation'])) { echo "Option --bad-documentation is ambiguous.", PHP_EOL; unset($this->_options['--bad-documentation']); } $configurationFactory = new PHP_Depend_Util_Configuration_Factory(); // Check for configuration option if (isset($this->_options['--configuration'])) { // Get config file $configFile = $this->_options['--configuration']; unset($this->_options['--configuration']); $configuration = $configurationFactory->create($configFile); } else { $configuration = $configurationFactory->createDefault(); } // Store in config registry PHP_Depend_Util_ConfigurationInstance::set($configuration); $this->_runner->setConfiguration($configuration); if (isset($this->_options['--debug'])) { unset($this->_options['--debug']); PHP_Depend_Util_Log::setSeverity(PHP_Depend_Util_Log::DEBUG); } return true; }