/** * Returns processed file path based on module test directory * * @param string $fileName * @param string $relatedClassName * @param string $type * @return string|bool */ protected function _getFilePath($fileName, $relatedClassName, $type) { $moduleName = false; if (preg_match('#^~(?<module>[^/]*)/(?<fileName>.*)$#', $fileName, $matches)) { $fileName = $matches['fileName']; if (!empty($matches['module'])) { $moduleName = $matches['module']; } } if (!$moduleName) { try { $moduleName = EcomDev_PHPUnit_Test_Case_Util::getModuleNameByClassName($relatedClassName); } catch (RuntimeException $e) { return false; } } $basePath = array(); if ($prefixPosition = strpos($relatedClassName, $moduleName . '_Test_')) { $testType = substr($relatedClassName, $prefixPosition, strpos($relatedClassName, '_', $prefixPosition)); $basePath[] = Mage::getModuleDir('', $moduleName) . DS . 'Test' . DS . $testType; } $basePath[] = Mage::getModuleDir('', $moduleName) . DS . 'Test'; return $this->_checkFilePath($basePath, $fileName, $type); }
/** * Returns module name for a particular object * * @param string|object $className * @throws RuntimeException if module name was not found for the passed class name * @return string * @deprecated since 0.3.0 */ public function getModuleNameByClassName($className) { return EcomDev_PHPUnit_Test_Case_Util::getModuleNameByClassName($className); }