From a74ecf5034eca0caa521bacde8474062cf0317f0 Mon Sep 17 00:00:00 2001 From: xmujay Date: Sat, 6 Jul 2013 20:19:41 +0800 Subject: [PATCH 1/5] Unit test case for PMA_server_status_variables --- libraries/ServerStatusData.class.php | 6 +- .../PMA_server_status_variables_test.php | 216 ++++++++++++++++++ 2 files changed, 220 insertions(+), 2 deletions(-) create mode 100644 test/libraries/PMA_server_status_variables_test.php diff --git a/libraries/ServerStatusData.class.php b/libraries/ServerStatusData.class.php index 17ed188dbf..18676bf42a 100644 --- a/libraries/ServerStatusData.class.php +++ b/libraries/ServerStatusData.class.php @@ -6,8 +6,10 @@ * * @package PhpMyAdmin */ - -require_once 'libraries/common.inc.php'; +if (!defined('TESTSUITE')) { + //the TESTSUITE has already included common.inc.php + require_once 'libraries/common.inc.php'; +} /** * This class provides data about the server status diff --git a/test/libraries/PMA_server_status_variables_test.php b/test/libraries/PMA_server_status_variables_test.php new file mode 100644 index 0000000000..733155e59a --- /dev/null +++ b/test/libraries/PMA_server_status_variables_test.php @@ -0,0 +1,216 @@ +getMockBuilder('PMA_DatabaseInterface') + ->disableOriginalConstructor() + ->getMock(); + + $server_status = array( + "Aborted_clients" => "0", + "Aborted_connects" => "0", + "Com_delete_multi" => "0", + "Com_create_function" => "0", + "Com_empty_query" => "0", + ); + + $server_variables= array( + "auto_increment_increment" => "1", + "auto_increment_offset" => "1", + "automatic_sp_privileges" => "ON", + "back_log" => "50", + "big_tables" => "OFF", + ); + + $dbi->expects($this->at(0))->method('fetchResult') + ->with('SHOW GLOBAL STATUS', 0, 1) + ->will($this->returnValue($server_status)); + + $server_variables = array(); + $dbi->expects($this->at(1))->method('fetchResult') + ->with('SHOW GLOBAL VARIABLES', 0, 1) + ->will($this->returnValue($server_variables)); + + $GLOBALS['dbi'] = $dbi; + $this->ServerStatusData = new PMA_ServerStatusData(); + } + + /** + * Test for PMA_getHtmlForFilter + * + * @return void + */ + public function testPMA_getHtmlForFilter() + { + //Call the test function + $html = PMA_getHtmlForFilter($this->ServerStatusData); + + //validate 1: PMA_getHtmlForFilter + $this->assertContains( + 'server_status_variables.php', + $html + ); + //validate 2: filter + $this->assertContains( + '', + $html + ); + //validate 3:Items + $this->assertContains( + '', + $html + ); + $this->assertContains( + 'Filter by category', + $html + ); + $this->assertContains( + 'Show unformatted values', + $html + ); + } + + /** + * Test for PMA_getHtmlForLinkSuggestions + * + * @return void + */ + public function testPMA_getHtmlForLinkSuggestions() + { + //Call the test function + $html = PMA_getHtmlForLinkSuggestions($this->ServerStatusData); + + //validate 1: PMA_getHtmlForLinkSuggestions + $this->assertContains( + '