示例#1
0
 /**
  * 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);
 }
示例#2
0
 /**
  * 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;
 }