Esempio n. 1
0
 public function findCommands()
 {
     $commandsList = new CommandsList();
     // Find all classes in php files whose paths contain "PhixCommands":
     $classFinder = new ClassFinder();
     $classFinder->addFoldersToSearch($this->foldersToSearch);
     $classFinder->setFileRegex('/PhixCommands.*\\.php$/');
     $classes = $classFinder->findClassFiles();
     foreach ($classes as $newClass => $filename) {
         include_once $filename;
         if ($this->testIsPhixCommand($newClass)) {
             // we have a winner!
             $commandsList->addClass($newClass);
         }
     }
     return $commandsList;
 }
Esempio n. 2
0
 public function testSearchesForClasses()
 {
     $obj = new ClassFinder();
     $folderToSearch = realpath(__DIR__ . '/../..');
     $obj->addFolderToSearch($folderToSearch);
     $classes = $obj->findClassFiles();
     $expectedClasses = array('Phix_Project\\PhixCommands\\HelpCommandTest' => $folderToSearch . DIRECTORY_SEPARATOR . 'Phix_Project' . DIRECTORY_SEPARATOR . 'PhixCommands' . DIRECTORY_SEPARATOR . 'HelpCommandTest.php', 'Phix_Project\\PhixExtensions\\CommandBaseTest' => $folderToSearch . DIRECTORY_SEPARATOR . 'Phix_Project' . DIRECTORY_SEPARATOR . 'PhixExtensions' . DIRECTORY_SEPARATOR . 'CommandBaseTest.php', 'Phix_Project\\PhixExtensions\\DummyCommand' => $folderToSearch . DIRECTORY_SEPARATOR . 'Phix_Project' . DIRECTORY_SEPARATOR . 'PhixExtensions' . DIRECTORY_SEPARATOR . 'CommandBaseTest.php', 'Phix_Project\\PhixExtensions\\DummyCommandWithNoSwitches' => $folderToSearch . DIRECTORY_SEPARATOR . 'Phix_Project' . DIRECTORY_SEPARATOR . 'PhixExtensions' . DIRECTORY_SEPARATOR . 'CommandBaseTest.php', 'Phix_Project\\PhixExtensions\\DummyCommandWithNoSwitchesAndOneArg' => $folderToSearch . DIRECTORY_SEPARATOR . 'Phix_Project' . DIRECTORY_SEPARATOR . 'PhixExtensions' . DIRECTORY_SEPARATOR . 'CommandBaseTest.php', 'Phix_Project\\PhixExtensions\\DummyCommandWithSwitches' => $folderToSearch . DIRECTORY_SEPARATOR . 'Phix_Project' . DIRECTORY_SEPARATOR . 'PhixExtensions' . DIRECTORY_SEPARATOR . 'CommandBaseTest.php', 'Phix_Project\\PhixSwitches\\DebugSwitchTest' => $folderToSearch . DIRECTORY_SEPARATOR . 'Phix_Project' . DIRECTORY_SEPARATOR . 'PhixSwitches' . DIRECTORY_SEPARATOR . 'DebugSwitchTest.php', 'Phix_Project\\PhixSwitches\\IncludeSwitchTest' => $folderToSearch . DIRECTORY_SEPARATOR . 'Phix_Project' . DIRECTORY_SEPARATOR . 'PhixSwitches' . DIRECTORY_SEPARATOR . 'IncludeSwitchTest.php', 'Phix_Project\\PhixSwitches\\LongHelpSwitchTest' => $folderToSearch . DIRECTORY_SEPARATOR . 'Phix_Project' . DIRECTORY_SEPARATOR . 'PhixSwitches' . DIRECTORY_SEPARATOR . 'LongHelpSwitchTest.php', 'Phix_Project\\PhixSwitches\\PhixSwitchesTest' => $folderToSearch . DIRECTORY_SEPARATOR . 'Phix_Project' . DIRECTORY_SEPARATOR . 'PhixSwitches' . DIRECTORY_SEPARATOR . 'PhixSwitchesTest.php', 'Phix_Project\\PhixSwitches\\ShortHelpSwitchTest' => $folderToSearch . DIRECTORY_SEPARATOR . 'Phix_Project' . DIRECTORY_SEPARATOR . 'PhixSwitches' . DIRECTORY_SEPARATOR . 'ShortHelpSwitchTest.php', 'Phix_Project\\PhixSwitches\\SwitchBaseTest' => $folderToSearch . DIRECTORY_SEPARATOR . 'Phix_Project' . DIRECTORY_SEPARATOR . 'PhixSwitches' . DIRECTORY_SEPARATOR . 'SwitchBaseTest.php', 'Phix_Project\\PhixSwitches\\VersionSwitchTest' => $folderToSearch . DIRECTORY_SEPARATOR . 'Phix_Project' . DIRECTORY_SEPARATOR . 'PhixSwitches' . DIRECTORY_SEPARATOR . 'VersionSwitchTest.php', 'Phix_Project\\Phix\\ClassFinderTest' => __DIR__ . DIRECTORY_SEPARATOR . 'ClassFinderTest.php', 'Phix_Project\\Phix\\CommandsFinderTest' => __DIR__ . DIRECTORY_SEPARATOR . 'CommandsFinderTest.php', 'Phix_Project\\Phix\\CommandsListTest' => __DIR__ . DIRECTORY_SEPARATOR . 'CommandsListTest.php', 'Phix_Project\\Phix\\ContextTest' => __DIR__ . DIRECTORY_SEPARATOR . 'ContextTest.php', 'Phix_Project\\Phix\\DummyCommand' => __DIR__ . DIRECTORY_SEPARATOR . 'CommandsListTest.php', 'Phix_Project\\Phix\\DummyNotACommand' => __DIR__ . DIRECTORY_SEPARATOR . 'CommandsListTest.php');
     $this->assertEquals($expectedClasses, $classes);
 }