/** * Get all test helper class names * @return array */ public function getTestHelperClassNames() { if (!empty($this->_testHelperClassNames)) { return $this->_testHelperClassNames; } //Get initial path to test helpers $frameworkConfig = $this->_configHelper->getConfigFramework(); $initialPath = SELENIUM_TESTS_BASEDIR . DIRECTORY_SEPARATOR . $frameworkConfig['testsuite_base_path']; //Get test helpers sequence $fallbackOrderHelper = $this->_configHelper->getHelpersFallbackOrder(); $facade = new File_Iterator_Facade(); foreach ($fallbackOrderHelper as $codePoolName) { $projectPath = $initialPath . DIRECTORY_SEPARATOR . $codePoolName; if (!is_dir($projectPath)) { continue; } $files = $facade->getFilesAsArray($projectPath, 'Helper.php'); foreach ($files as $file) { $className = str_replace($initialPath . DIRECTORY_SEPARATOR, '', $file); $className = str_replace(DIRECTORY_SEPARATOR, '_', str_replace('.php', '', $className)); $array = explode('_', str_replace('_Helper', '', $className)); $helperName = end($array); $this->_testHelperClassNames[$helperName] = $className; } } return $this->_testHelperClassNames; }
/** * @covers Mage_Selenium_Helper_Config::getHelpersFallbackOrder */ public function testGetHelpersFallbackOrder() { $configHelper = new Mage_Selenium_Helper_Config($this->_config); $configHelper->setApplication('mage'); $fallbackOrder = $configHelper->getHelpersFallbackOrder(); $this->assertInternalType('array', $fallbackOrder); $this->assertSame($fallbackOrder, array('Core')); $configHelper->setApplication('enterprise'); $fallbackOrder = $configHelper->getHelpersFallbackOrder(); $this->assertInternalType('array', $fallbackOrder); $this->assertSame($fallbackOrder, array('Core', 'Enterprise')); }