public function testIsTestSuiteFolder() { $this->guy->createTestFolderTree($this->tmpPath1); $this->assertTrue($this->guy->isTestFolderTree($this->tmpPath1)); $this->assertFalse(TestRunner::isTestSuiteFolder($this->tmpPath1 . DS . 'testFolder')); $this->assertTrue(TestRunner::isTestSuiteFolder($this->tmpPath1 . DS . 'testFolder' . DS . 'subFolder1')); $this->assertTrue(TestRunner::isTestSuiteFolder($this->tmpPath1 . DS . 'testFolder' . DS . 'subFolder2')); $this->assertFalse(TestRunner::isTestSuiteFolder($this->tmpPath1)); $this->assertFalse(TestRunner::isTestSuiteFolder($this->tmpPath1 . DS . 'nonExistentFolder')); }
static function findTestFolders($paths) { $suites = array(); foreach (explode("::::", $paths) as $path) { if (is_dir($path)) { if (TestRunner::isTestSuiteFolder($path)) { $stagingSuiteName = str_replace(':', '_', str_replace(DS, '_', $path)); $suites[$stagingSuiteName] = $path; } $objects = scandir($path); if (sizeof($objects) > 0) { foreach ($objects as $file) { if ($file == "." || $file == "..") { continue; } if (is_dir($path . DS . basename($file))) { if (TestRunner::isTestSuiteFolder($path . DS . basename($file))) { $stagingSuiteName = str_replace(':', '_', str_replace(DS, '_', $path . DS . basename($file))); // ensure absolute file references $suites[$stagingSuiteName] = $path . DS . basename($file); } // recurse into folder $suites = array_merge($suites, TestRunner::findTestFolders($path . DS . basename($file))); } } } } } return $suites; }