/** * setup before each test * @param string $dbal (adodb or peardb) * @param string $db (mysql, pgsql, or sqlite) */ function _setUp($dbal, $db) { // destroy singletons $this->_destroy(); // load config.xml for compiler include_once EP_SRC_BASE . '/epConfig.php'; $cfg =& epConfig::load(dirname(__FILE__) . "/config.xml"); $this->assertTrue(!empty($cfg)); // set dblib $cfg->set('db_lib', $dbal); // make input/output path absolute (fixed) $source_dirs = EP_TESTS . '/classes/'; $cfg->set('source_dirs', $source_dirs); // set compiled dir switch ($db) { case 'mysql': $compiled_file = $cfg->get('test/compiled_file/mysql'); $default_dsn = $cfg->get('test/default_dsn/mysql'); break; case 'pgsql': $compiled_file = $cfg->get('test/compiled_file/pgsql'); $default_dsn = $cfg->get('test/default_dsn/pgsql'); $cfg->set('default_oid_column', 'eoid'); // oid is special in pgsql break; case 'sqlite': $compiled_file = $cfg->get('test/compiled_file/sqlite/' . $dbal); $default_dsn = $cfg->get('test/default_dsn/sqlite/' . $dbal); break; } $cfg->set('compiled_file', $compiled_file); $cfg->set('default_dsn', $default_dsn); // force compile so default_dsn gets into class map $cfg->set('force_compile', true); // get epManager instance include_once EP_SRC_RUNTIME . '/epManager.php'; $this->m = null; // force a new instance $this->m =& epManager::instance(); $this->assertTrue($this->m); // set config to manager $this->assertTrue($this->m->setConfig($cfg)); // assert source_dirs is correct $this->assertTrue($this->m->getConfigOption('source_dirs') === $source_dirs); // assert source_dirs is correct $this->assertTrue($this->m->getConfigOption('compiled_file') === $compiled_file); // assert default_dsn is correct $this->assertTrue($this->m->getConfigOption('default_dsn') === $default_dsn); }