Merge remote-tracking branch 'origin/master'

This commit is contained in:
Weblate 2013-08-15 16:45:24 +02:00
commit ec26993576

View File

@ -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()
);
);
}
/**