コード例 #1
0
ファイル: bug65Test.php プロジェクト: zonuexe/Autoload
 public function testBugIsFixed()
 {
     $config = new Config(array());
     $config->setLowercaseMode(true);
     $factory = new Factory();
     $factory->setConfig($config);
     $collector = $factory->getCollector();
     $scanner = $factory->getScanner()->getIterator(__DIR__ . '/_data/bug65');
     $collector->processDirectory($scanner);
     $result = $collector->getResult();
     $sorter = new ClassDependencySorter($result->getUnits(), $result->getDependencies());
     $expected = array('phpunit_extensions_database_testcase_trait' => __DIR__ . "/_data/bug65/trait.php", 'phpunit_extensions_database_testcase' => __DIR__ . "/_data/bug65/class.php");
     $this->assertEquals($expected, $sorter->process());
 }
コード例 #2
0
ファイル: Factory.php プロジェクト: theseer/autoload
 /**
  * Helper to get instance of AutoloadRenderer with cli options applied
  *
  * @param CollectorResult $result
  *
  * @throws \RuntimeException
  * @return \TheSeer\Autoload\AutoloadRenderer|\TheSeer\Autoload\StaticRenderer
  */
 public function getRenderer(CollectorResult $result)
 {
     $isStatic = $this->config->isStaticMode();
     $isPhar = $this->config->isPharMode();
     $isCompat = $this->config->isCompatMode();
     $isOnce = $this->config->isOnceMode();
     if ($isStatic === TRUE) {
         $renderer = new StaticRenderer($result->getUnits());
         $renderer->setDependencies($result->getDependencies());
         $renderer->setPharMode($isPhar);
         $renderer->setRequireOnce($isOnce);
     } else {
         $renderer = new AutoloadRenderer($result->getUnits());
         if ($this->config->usePrepend()) {
             $renderer->prependAutoloader();
         }
         if ($this->config->useExceptions()) {
             $renderer->enableExceptions();
         }
     }
     $renderer->setCompat($isCompat);
     $basedir = $this->config->getBaseDirectory();
     if (!$basedir || !is_dir($basedir)) {
         throw new \RuntimeException("Given basedir '{$basedir}' does not exist or is not a directory");
     }
     $renderer->setBaseDir($basedir);
     $format = $this->config->getDateFormat();
     if ($format) {
         $renderer->setDateTimeFormat($format);
     }
     $renderer->setIndent($this->config->getIndent());
     $renderer->setLineBreak($this->config->getLinebreak());
     foreach ($this->config->getVariables() as $name => $value) {
         $renderer->setVariable($name, $value);
     }
     return $renderer;
 }
コード例 #3
0
ファイル: CLI.php プロジェクト: zonuexe/Autoload
 /**
  * @param \ezcConsoleInput $input
  *
  * @return \TheSeer\Autoload\Config
  */
 private function configure(\ezcConsoleInput $input)
 {
     $config = new Config($input->getArguments());
     if ($input->getOption('quiet')->value) {
         $config->setQuietMode(TRUE);
     }
     if ($input->getOption('compat')->value) {
         $config->setCompatMode(TRUE);
     }
     if ($input->getOption('tolerant')->value) {
         $config->setTolerantMode(TRUE);
     }
     if ($output = $input->getOption('output')->value) {
         $config->setOutputFile($output);
     }
     if ($input->getOption('phar')->value) {
         $compression = \Phar::NONE;
         if ($input->getOption('bzip2')->value === TRUE) {
             $compression = \Phar::BZ2;
         } else {
             if ($input->getOption('gzip')->value === TRUE) {
                 $compression = \Phar::GZ;
             }
         }
         $config->enablePharMode($compression, $input->getOption('all')->value, $input->getOption('key')->value, $input->getOption('alias')->value);
         $config->setVariable('PHAR', $input->getOption('alias')->value ? $input->getOption('alias')->value : basename($output));
         if ($hashAlgorithm = $input->getOption('hash')->value) {
             $config->setPharHashAlgorithm($hashAlgorithm);
         }
     }
     if ($input->getOption('cache')->value) {
         $config->setCacheFile($input->getOption('cache')->value);
     }
     if ($basedir = $input->getOption('basedir')->value) {
         $config->setBaseDirectory($basedir);
     }
     $include = $input->getOption('include')->value;
     if (!is_array($include)) {
         $include = array($include);
     }
     $config->setInclude($include);
     if ($exclude = $input->getOption('exclude')->value) {
         if (!is_array($exclude)) {
             $exclude = array($exclude);
         }
         $config->setExclude($exclude);
     }
     $whitelist = $input->getOption('whitelist')->value;
     if (!is_array($whitelist)) {
         $whitelist = array($whitelist);
     }
     $config->setWhitelist($whitelist);
     if ($blacklist = $input->getOption('blacklist')->value) {
         if (!is_array($blacklist)) {
             $blacklist = array($blacklist);
         }
         $config->setBlacklist($blacklist);
     }
     if ($input->getOption('static')->value) {
         $config->setStaticMode(TRUE);
     }
     if ($input->getOption('once')->value) {
         $config->setOnceMode(TRUE);
     }
     if ($input->getOption('follow')->value) {
         $config->setFollowSymlinks(TRUE);
     }
     if ($input->getOption('prepend')->value) {
         $config->enablePrepend();
     }
     if ($input->getOption('no-exception')->value) {
         $config->disableExceptions();
     }
     $indent = $input->getOption('indent')->value;
     if ($indent !== FALSE) {
         $config->setIndent($indent);
     }
     if ($template = $input->getOption('template')->value) {
         $config->setTemplate($template);
     }
     if ($linebreak = $input->getOption('linebreak')->value) {
         $config->setLinebreak($linebreak);
     }
     if ($input->getOption('nolower')->value) {
         $config->setLowercaseMode(FALSE);
     }
     if ($variables = $input->getOption('var')->value) {
         foreach ($variables as $var) {
             if (strpos($var, '=') === FALSE) {
                 throw new \RuntimeException("Variable defintion '{$var}' is invalid and cannot be processed.");
             }
             list($name, $value) = explode('=', $var, 2);
             $config->setVariable($name, $value);
         }
     }
     if ($input->getOption('paranoid')->value || !$input->getOption('trusting')->value) {
         $config->setTrusting(FALSE);
     }
     return $config;
 }