mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-17 02:10:02 +09:00
Added mock DB classes.
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9787 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
ad7dda9b75
commit
aada2366d1
5 changed files with 90 additions and 3 deletions
|
|
@ -30,6 +30,7 @@
|
|||
require_once(_XE_PATH_.'classes/db/DBCubrid.class.php');
|
||||
require_once(_XE_PATH_.'classes/db/DBMssql.class.php');
|
||||
require_once(_XE_PATH_.'classes/db/DBMysql.class.php');
|
||||
require_once(_XE_PATH_.'test-phpUnit/db/MockDb.php');
|
||||
|
||||
require_once(_XE_PATH_.'classes/xml/xmlquery/DBParser.class.php');
|
||||
require_once(_XE_PATH_.'classes/xml/xmlquery/argument/Argument.class.php');
|
||||
|
|
|
|||
|
|
@ -16,7 +16,9 @@
|
|||
$db_info->slave_db = array(array('db_type' => 'cubrid','db_table_prefix' => 'xe_'));
|
||||
|
||||
$oContext->setDbInfo($db_info);
|
||||
DB::getParser(true);
|
||||
|
||||
$db = new MockDb();
|
||||
$db->getParser(true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
81
test-phpUnit/db/MockDb.php
Normal file
81
test-phpUnit/db/MockDb.php
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @brief Mock database base class
|
||||
*
|
||||
* Used to load mock classes instead of actual ones,
|
||||
* so that connect methods can be skipped
|
||||
*/
|
||||
class MockDb extends DB {
|
||||
|
||||
function &getParser($force = false){
|
||||
static $dbParser = null;
|
||||
if(!$dbParser || $force) {
|
||||
$oDB = &MockDb::getInstance();
|
||||
$dbParser = $oDB->getParser();
|
||||
DB::getParser(true);
|
||||
}
|
||||
|
||||
return $dbParser;
|
||||
}
|
||||
|
||||
function &getInstance(){
|
||||
$db_type = Context::getDBType();
|
||||
|
||||
if(!isset($GLOBALS['__DB__'])) $GLOBALS['__DB__'] = array();
|
||||
if(!isset($GLOBALS['__DB__'][$db_type])) {
|
||||
switch($db_type){
|
||||
case 'mssql' :
|
||||
$GLOBALS['__DB__'][$db_type] = new MockDBMssql; break;
|
||||
case 'mysql' :
|
||||
$GLOBALS['__DB__'][$db_type] = new MockDBMysql; break;
|
||||
case 'cubrid' :
|
||||
$GLOBALS['__DB__'][$db_type] = new MockDBCubrid; break;
|
||||
}
|
||||
}
|
||||
|
||||
return $GLOBALS['__DB__'][$db_type];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Mock up for MS SQL class
|
||||
*
|
||||
* Overrides default constructor in order to skip connect method
|
||||
*/
|
||||
class MockDBMssql extends DBMssql {
|
||||
function MockDBMssql(){
|
||||
$this->_setDBInfo();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Mock up for CUBRID class
|
||||
*
|
||||
* Overrides default constructor in order to skip connect method
|
||||
*/
|
||||
class MockDBCubrid extends DBCubrid {
|
||||
function MockDBCubrid(){
|
||||
$this->_setDBInfo();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Mock up for Mysql class
|
||||
*
|
||||
* Overri des default constructor in order to skip connect method.
|
||||
*/
|
||||
class MockDBMysql extends DBMysql {
|
||||
function MockDBMysql(){
|
||||
$this->_setDBInfo();
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides mysql_real_escape_string, that returns null when no connection is present
|
||||
*/
|
||||
function addQuotes($string){
|
||||
return $string;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -15,7 +15,8 @@
|
|||
|
||||
$oContext->setDbInfo($db_info);
|
||||
|
||||
DB::getParser(true);
|
||||
$db = new MockDb();
|
||||
$db->getParser(true);
|
||||
}
|
||||
|
||||
protected function tearDown() {
|
||||
|
|
|
|||
|
|
@ -16,7 +16,9 @@
|
|||
$db_info->slave_db = array(array('db_type' => 'mysql','db_table_prefix' => 'xe_'));
|
||||
|
||||
$oContext->setDbInfo($db_info);
|
||||
DB::getParser(true);
|
||||
|
||||
$db = new MockDb();
|
||||
$db->getParser(true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue