Ejemplo n.º 1
0
 /**
  * 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);
 }