mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-17 18:29:55 +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
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;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue