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()); }
/** * 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; }
/** * @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; }