'default'), ); /** * Page factory. * * @var TypifiedPageFactory */ protected $pageFactory; /** * Reference to kApplication class instance. * * @var kApplication */ protected $Application = null; /** * Connection to database * * @var IDBConnection */ protected $Conn; /** * Constructs a test case with the given name. * * @param string $name Test case name. * @param array $data Data. * @param string $data_name Data name. * * @access public */ public function __construct($name = null, array $data = array(), $data_name = '') { parent::__construct($name, $data, $data_name); $this->Application =& kApplication::Instance(); $this->Conn =& $this->Application->GetADODBConnection(); } /** * Creates factory, that can be used for page creation in the tests. * * @return void * @before */ protected function setUpTest() { $this->pageFactory = new TypifiedPageFactory($this->getSession(), $this->getPageFactoryConfig()); } /** * Returns config object to be used during PageFactory initialization. * * @return Container */ protected function getPageFactoryConfig() { $container = new Container(); $container['url_factory'] = function () { return new QAToolsUrlFactory(); }; return $container; } /** * Gets browser configuration aliases. * Allows to decouple actual test server connection details from test cases. * * @return array */ public function getBrowserAliases() { static $cache = null; if ( !isset($cache) ) { $cache = require_once WRITEABLE . '/mink_config.php'; // The remote code coverage collection won't work without "baseUrl" in the browser configuration. foreach ( $cache as $alias_name => $browser_configuration ) { if ( !isset($browser_configuration['alias']) && !isset($browser_configuration['baseUrl']) ) { $cache[$alias_name]['baseUrl'] = $this->Application->BaseURL(); } } } return $cache; } }