Exemplo n.º 1
0
 /**
  * Access/load helpers from the tests. Helper class name should be like "TestScope_HelperName"
  *
  * @param string $testScope Part of the helper class name which refers to the file with the needed helper
  *
  * @return object
  * @throws UnexpectedValueException
  */
 protected function _loadHelper($testScope)
 {
     if (empty($testScope)) {
         throw new UnexpectedValueException('Helper name can\'t be empty');
     }
     $helpers = $this->_testConfig->getTestHelperClassNames();
     if (!isset($helpers[ucwords($testScope)])) {
         throw new UnexpectedValueException('Cannot load helper "' . $testScope . '"');
     }
     $helperClassName = $helpers[ucwords($testScope)];
     if (!isset(self::$_testHelpers[$helperClassName])) {
         if (class_exists($helperClassName)) {
             self::$_testHelpers[$helperClassName] = new $helperClassName();
         } else {
             return false;
         }
     }
     if (self::$_testHelpers[$helperClassName] instanceof Mage_Selenium_TestCase) {
         foreach (get_object_vars($this) as $name => $value) {
             self::$_testHelpers[$helperClassName]->{$name} = $value;
         }
     }
     return self::$_testHelpers[$helperClassName];
 }