/** * Genera una TestSuite con los TestCase definidos para esta aplicacion. */ public function loadTests() { $dir = dir($this->path . '/tests'); $testCases = array(); // Recorre directorio de la aplicacion while (false !== ($test = $dir->read())) { //echo $test.'<br/>'; // Se queda solo con los nombres de los directorios if (is_file($this->path . '/tests/' . $test) && String::endsWith($test, 'class.php')) { $testCases[] = $test; } } // Crea instancias de las clases testcase $suite = new TestSuite(); foreach ($testCases as $testCaseFile) { $fi = FileNames::getFilenameInfo($testCaseFile); $clazz = $fi['name']; //print_r($fi); YuppLoader::load($fi['package'], $clazz); $suite->addTestCase(new $clazz($suite)); } return $suite; }
private function _loadModelRecursive($model_path) { $dir = dir($model_path); while (false !== ($entry = $dir->read())) { if (is_dir($model_path . '/' . $entry) && !String::startsWith($entry, ".")) { self::_loadModelRecursive($model_path . "/" . $entry); // recursivo } else { if (!String::startsWith($entry, ".")) { $finfo = FileNames::getFilenameInfo($entry); if ($finfo) { // Al cargar una clase, esta podria cargar otras, si se declaran loads en esa clase, // por lo que verificando si la clase ya esta cargada antes de intentar cargarla de // nuevo, ahorraria esos loads en cascada. if (!$this->isLoadedClass($finfo['package'], $finfo['name'])) { $this->load($finfo['package'], $finfo['name']); } } } } } $dir->close(); }