private function getDefinitionFiles() { $definitions = Autoloader::instance()->getDefinitions(); $files = []; foreach ($definitions as $definition) { $files[] = Autoloader::instance()->getFilename($definition); } return array_unique($files); }
public function test_tokenizer() { Autoloader::instance()->exposePrivates('Sledgehammer\\Core\\PropertyPath', 'Sledgehammer\\Core\\PropertyPath_Tester'); $string = PropertyPath::T_STRING; $dot = PropertyPath::T_DOT; $arrow = PropertyPath::T_ARROW; $bracketOpen = PropertyPath::T_BRACKET_OPEN; $bracketClose = PropertyPath::T_BRACKET_CLOSE; $parentheses = PropertyPath::T_PARENTHESES; $optional = PropertyPath::T_OPTIONAL; $this->assertSame(PropertyPath_Tester::tokenize('any'), array(array($string, 'any'))); $this->assertSame(PropertyPath_Tester::tokenize('any?'), array(array($string, 'any'), array($optional, '?'))); $this->assertSame(PropertyPath_Tester::tokenize('any1.any2'), array(array($string, 'any1'), array($dot, '.'), array($string, 'any2'))); $this->assertSame(PropertyPath_Tester::tokenize('any->property[element]->method()'), array(array($string, 'any'), array($arrow, '->'), array($string, 'property'), array($bracketOpen, '['), array($string, 'element'), array($bracketClose, ']'), array($arrow, '->'), array($string, 'method'), array($parentheses, '()'))); }
<?php /** * Install a PEAR package into the /verdor/pear/ folder. */ namespace Sledgehammer\Core; use Sledgehammer\Core\Debug\Autoloader; use Sledgehammer\Core\Debug\ErrorHandler; require __DIR__ . '/../bootstrap.php'; ErrorHandler::instance()->html = false; ErrorHandler::instance()->cli = true; Autoloader::instance()->importFolder(__DIR__ . '/classes'); if ($argc < 2) { echo ' Usage: php ' . $argv[0] . " [channel] [channel/]package[-version] ...\n "; echo " Examples:\n"; echo ' php ' . $argv[0] . " pear.phpunit.de/PHPUnit\n"; echo ' php ' . $argv[0] . " PhpDocumentor\n"; echo ' php ' . $argv[0] . " pear.doctrine-project.org DoctrineORM CouchDB-alpha DoctrineCommon-2.1.2\n"; echo "\n"; exit(1); } $targets = array('php' => \Sledgehammer\PATH . 'vendor/pear/php', 'data' => \Sledgehammer\PATH . 'vendor/pear/data', 'script' => \Sledgehammer\PATH . 'vendor/pear/script', 'bin' => \Sledgehammer\PATH . 'vendor/pear/bin', 'doc' => \Sledgehammer\PATH . 'vendor/pear/docs', 'www' => APP_DIR . 'vendor/pear/www'); $pear = new PearInstaller($targets); $pear->on('channelAdded', function ($sender, $domain, $channel) { echo 'Channel "' . $domain . '" loaded. (' . count($channel['packages']) . " packages)\n"; }); $pear->on('installed', function ($sender, $package, $version) { echo ' ' . $package . ' [' . $version . "] installed.\n"; }); unset($argv[0]);
/** * Get the configured autoloader instance. * * @return Autoloader */ private function getAutoLoader() { if ($this->autoLoader === null) { return Autoloader::instance(); } return $this->autoLoader; }
public function donttest_entire_codebase() { $loader = new Autoloader(\Sledgehammer\PATH); $loader->importFolder(\Sledgehammer\PATH, array('matching_filename' => false, 'mandatory_definition' => false, 'mandatory_superclass' => false, 'one_definition_per_file' => false, 'detect_accidental_output' => false)); // Import all // $analyzer = new PhpAnalyzer(); $this->analyzeDirectory($analyzer, \Sledgehammer\PATH); // Check all used definitions $failed = false; foreach (array_keys($analyzer->usedDefinitions) as $definition) { if ($this->tryGetInfo($analyzer, $definition) == false) { $failed = true; } } if ($failed == false) { $this->assertTrue(true, 'All ' . count($analyzer->usedDefinitions) . ' definitions are found'); } }