diff --git a/libraries/dbi/dummy.lib.php b/libraries/dbi/dummy.lib.php index 460fd22c9c..080af39a73 100644 --- a/libraries/dbi/dummy.lib.php +++ b/libraries/dbi/dummy.lib.php @@ -62,6 +62,42 @@ $GLOBALS['dummy_queries'] = array( array('innodb_file_format', 'Antelope'), ) ), + array( + 'query' => 'SHOW TABLES FROM `qbe_test`;', + 'result' => array( + array('table1'), + array('table2'), + ) + ), + array( + 'query' => 'SHOW COLUMNS FROM `qbe_test`.`table1`', + 'columns' => array( + 'Field', 'Type', 'Null', 'Key', 'Default', 'Extra' + ), + 'result' => array( + array('i', 'int(11)', 'NO', 'PRI', 'NULL', 'auto_increment'), + array('o', 'int(11)', 'NO', 'MUL', 'NULL', ''), + ) + ), + array( + 'query' => 'SHOW COLUMNS FROM `qbe_test`.`table2`', + 'columns' => array( + 'Field', 'Type', 'Null', 'Key', 'Default', 'Extra' + ), + 'result' => array( + array('i', 'int(11)', 'NO', 'PRI', 'NULL', 'auto_increment'), + array('o', 'int(11)', 'NO', 'MUL', 'NULL', ''), + ) + ), + array( + 'query' => 'SHOW INDEXES FROM `qbe_test`.`table1`', + 'result' => array(), + ), + array( + 'query' => 'SHOW INDEXES FROM `qbe_test`.`table2`', + 'result' => array(), + ), + ); /** @@ -176,6 +212,12 @@ function PMA_DBI_fetch_any($result) function PMA_DBI_fetch_array($result) { $data = PMA_DBI_fetch_any($result); + if (is_array($data) && isset($GLOBALS['dummy_queries'][$result]['columns'])) { + foreach ($data as $key => $val) { + $data[$GLOBALS['dummy_queries'][$result]['columns'][$key]] = $val; + } + return $data; + } return $data; } @@ -189,6 +231,13 @@ function PMA_DBI_fetch_array($result) function PMA_DBI_fetch_assoc($result) { $data = PMA_DBI_fetch_any($result); + if (is_array($data) && isset($GLOBALS['dummy_queries'][$result]['columns'])) { + $ret = array(); + foreach ($data as $key => $val) { + $ret[$GLOBALS['dummy_queries'][$result]['columns'][$key]] = $val; + } + return $ret; + } return $data; } @@ -267,3 +316,32 @@ function PMA_DBI_num_rows($result) return 0; } } + +/** + * returns the number of rows affected by last query + * + * @param resource $link the mysql object + * @param bool $get_from_cache + * + * @return string|int + */ +function PMA_DBI_affected_rows($link = null, $get_from_cache = true) +{ + return 0; +} + +/** + * return number of fields in given $result + * + * @param resource $result MySQL result + * + * @return int field count + */ +function PMA_DBI_num_fields($result) +{ + if (isset($GLOBALS['dummy_queries'][$result]['columns'])) { + return count($GLOBALS['dummy_queries'][$result]['columns']); + } else { + return 0; + } +} diff --git a/test/classes/PMA_DBQbe_test.php b/test/classes/PMA_DBQbe_test.php index 22565ad891..66f5cb1eaf 100644 --- a/test/classes/PMA_DBQbe_test.php +++ b/test/classes/PMA_DBQbe_test.php @@ -13,6 +13,8 @@ require_once 'libraries/DBQbe.class.php'; require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/CommonFunctions.class.php'; require_once 'libraries/core.lib.php'; +require_once 'libraries/database_interface.lib.php'; +require_once 'libraries/Tracker.class.php'; require_once 'libraries/relation.lib.php'; class PMA_DBQbe_test extends PHPUnit_Framework_TestCase @@ -31,40 +33,7 @@ class PMA_DBQbe_test extends PHPUnit_Framework_TestCase */ protected function setUp() { - if (! function_exists('PMA_DBI_query')) { - function PMA_DBI_query() - { - return array('table1', 'table2'); - } - } - if (! function_exists('PMA_DBI_num_rows')) { - function PMA_DBI_num_rows() - { - return 2; - } - } - if (! function_exists('PMA_DBI_fetch_row')) { - function PMA_DBI_fetch_row() - { - return false; - } - } - if (! function_exists('PMA_DBI_get_columns')) { - function PMA_DBI_get_columns() - { - return array('column1', 'column2'); - } - } - if (! function_exists('PMA_DBI_free_result')) { - function PMA_DBI_free_result() - { - return true; - } - } - if (! defined('PMA_DBI_QUERY_STORE')) { - define('PMA_DBI_QUERY_STORE', 1); - } - $this->object = new PMA_DBQbe('pma'); + $this->object = new PMA_DBQbe('qbe_test'); } /** @@ -308,12 +277,6 @@ class PMA_DBQbe_test extends PHPUnit_Framework_TestCase */ public function testGetIndexes() { - if (! function_exists('PMA_DBI_get_table_indexes')) { - function PMA_DBI_get_table_indexes() - { - return array(2,3); - } - } $this->assertEquals( array( 'unique' => array(), @@ -335,12 +298,6 @@ class PMA_DBQbe_test extends PHPUnit_Framework_TestCase */ public function test_getLeftJoinColumnCandidates() { - if (! function_exists('PMA_DBI_select_db')) { - function PMA_DBI_select_db() - { - return 'pma'; - } - } $this->assertEquals( array( 0 => 'column2' @@ -369,7 +326,7 @@ class PMA_DBQbe_test extends PHPUnit_Framework_TestCase array('table1','table2'), array('column1', 'column2', 'column3'), array('column2'), - array('pma') + array('qbe_test') ) ) );