Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
ec26993576
@ -37,7 +37,10 @@ class PMA_DBI_Mysql_Test extends PHPUnit_Framework_TestCase
|
||||
* @return void
|
||||
*/
|
||||
protected function setUp()
|
||||
{
|
||||
{
|
||||
$GLOBALS['cfg']['Server']['ssl'] = true;
|
||||
$GLOBALS['cfg']['PersistentConnections'] = false;
|
||||
$GLOBALS['cfg']['Server']['compress'] = true;
|
||||
$this->object = new PMA_DBI_Mysql();
|
||||
}
|
||||
|
||||
@ -66,7 +69,124 @@ class PMA_DBI_Mysql_Test extends PHPUnit_Framework_TestCase
|
||||
$this->assertEquals(
|
||||
false,
|
||||
$this->object->realMultiQuery(null, "select * from PMA")
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for mysql related functions, using runkit_function_redefine
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @group medium
|
||||
*/
|
||||
public function testMysqlDBI()
|
||||
{
|
||||
if (! PMA_HAS_RUNKIT) {
|
||||
$this->markTestSkipped("Cannot redefine function");
|
||||
}
|
||||
//FOR UT, we just test the right mysql client API is called
|
||||
runkit_function_redefine('mysql_pconnect','','return "mysql_pconnect";');
|
||||
runkit_function_redefine('mysql_connect','','return "mysql_connect";');
|
||||
runkit_function_redefine('mysql_query','','return "mysql_query";');
|
||||
runkit_function_redefine('mysql_fetch_array','','return "mysql_fetch_array";');
|
||||
runkit_function_redefine('mysql_data_seek','','return "mysql_data_seek";');
|
||||
runkit_function_redefine('mysql_get_host_info','','return "mysql_get_host_info";');
|
||||
runkit_function_redefine('mysql_get_proto_info','','return "mysql_get_proto_info";');
|
||||
runkit_function_redefine('mysql_field_flags','','return "mysql_field_flags";');
|
||||
runkit_function_redefine('mysql_field_name','','return "mysql_field_name";');
|
||||
runkit_function_redefine('mysql_field_len','','return "mysql_field_len";');
|
||||
|
||||
$user = 'PMA_user';
|
||||
$password = 'PMA_password';
|
||||
$is_controluser = false;
|
||||
$server = array(
|
||||
'port' => 8080,
|
||||
'socket' => 123,
|
||||
'host' => 'locahost',
|
||||
);
|
||||
$auxiliary_connection = true;
|
||||
|
||||
//test for connect
|
||||
$ret = $this->object->connect(
|
||||
$user, $password, $is_controluser,
|
||||
$server, $auxiliary_connection
|
||||
);
|
||||
$this->assertEquals(
|
||||
'mysql_connect',
|
||||
$ret
|
||||
);
|
||||
|
||||
$GLOBALS['cfg']['PersistentConnections'] = true;
|
||||
$ret = $this->object->connect(
|
||||
$user, $password, $is_controluser,
|
||||
$server, $auxiliary_connection
|
||||
);
|
||||
$this->assertEquals(
|
||||
'mysql_pconnect',
|
||||
$ret
|
||||
);
|
||||
|
||||
//test for realQuery
|
||||
$query = 'select * from DBI';
|
||||
$link = $ret;
|
||||
$options = 0;
|
||||
$ret = $this->object->realQuery($query, $link, $options);
|
||||
$this->assertEquals(
|
||||
'mysql_query',
|
||||
$ret
|
||||
);
|
||||
|
||||
//test for fetchArray
|
||||
$result = $ret;
|
||||
$ret = $this->object->fetchArray($result);
|
||||
$this->assertEquals(
|
||||
'mysql_fetch_array',
|
||||
$ret
|
||||
);
|
||||
|
||||
//test for dataSeek
|
||||
$result = $ret;
|
||||
$offset = 12;
|
||||
$ret = $this->object->dataSeek($result, $offset);
|
||||
$this->assertEquals(
|
||||
'mysql_data_seek',
|
||||
$ret
|
||||
);
|
||||
|
||||
//test for getHostInfo
|
||||
$ret = $this->object->getHostInfo($ret);
|
||||
$this->assertEquals(
|
||||
'mysql_get_host_info',
|
||||
$ret
|
||||
);
|
||||
|
||||
//test for getProtoInfo
|
||||
$ret = $this->object->getProtoInfo($ret);
|
||||
$this->assertEquals(
|
||||
'mysql_get_proto_info',
|
||||
$ret
|
||||
);
|
||||
|
||||
//test for fieldLen
|
||||
$ret = $this->object->fieldLen($ret, $offset);
|
||||
$this->assertEquals(
|
||||
'mysql_field_len',
|
||||
$ret
|
||||
);
|
||||
|
||||
//test for fieldName
|
||||
$ret = $this->object->fieldName($ret, $offset);
|
||||
$this->assertEquals(
|
||||
'mysql_field_name',
|
||||
$ret
|
||||
);
|
||||
|
||||
//test for fieldFlags
|
||||
$ret = $this->object->fieldFlags($ret, $offset);
|
||||
$this->assertEquals(
|
||||
'mysql_field_flags',
|
||||
$ret
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -83,7 +203,7 @@ class PMA_DBI_Mysql_Test extends PHPUnit_Framework_TestCase
|
||||
$this->assertEquals(
|
||||
false,
|
||||
$this->object->selectDb("PMA")
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -99,12 +219,12 @@ class PMA_DBI_Mysql_Test extends PHPUnit_Framework_TestCase
|
||||
$this->assertEquals(
|
||||
false,
|
||||
$this->object->moreResults()
|
||||
);
|
||||
);
|
||||
//PHP's 'mysql' extension does not support multi_queries
|
||||
$this->assertEquals(
|
||||
false,
|
||||
$this->object->nextResult()
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
Reference in New Issue
Block a user