diff --git a/libraries/server_privileges.lib.php b/libraries/server_privileges.lib.php
index e2cc2f8eec..ad15b44d3c 100644
--- a/libraries/server_privileges.lib.php
+++ b/libraries/server_privileges.lib.php
@@ -3262,10 +3262,11 @@ function PMA_getDbRightsForUserOverview()
*
* @param string $queries queries
*
- * @return PMA_message
+ * @return array PMA_message
*/
function PMA_deleteUser($queries)
{
+ $sql_query = '';
if (empty($queries)) {
$message = PMA_Message::error(__('No users selected for deleting!'));
} else {
diff --git a/test/libraries/PMA_server_privileges_test.php b/test/libraries/PMA_server_privileges_test.php
index 67d5f87313..ead90de8be 100644
--- a/test/libraries/PMA_server_privileges_test.php
+++ b/test/libraries/PMA_server_privileges_test.php
@@ -49,6 +49,7 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
$_REQUEST['pos'] = 3;
//$GLOBALS
+ $GLOBALS['lang'] = 'en';
$GLOBALS['cfg']['MaxRows'] = 10;
$GLOBALS['cfg']['SendErrorReports'] = "never";
$GLOBALS['cfg']['ServerDefault'] = "server";
@@ -1997,4 +1998,425 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
$html
);
}
+
+ /**
+ * Tests for PMA_getHtmlForViewUsersError
+ *
+ * @return void
+ */
+ function testPMAGetHtmlForViewUsersError()
+ {
+ $this->assertContains(
+ 'Not enough privilege to view users.',
+ PMA_getHtmlForViewUsersError()
+ );
+ }
+
+ /**
+ * Tests for PMA_getUserSpecificRights
+ *
+ * @return void
+ */
+ function testPMAGetUserSpecificRights()
+ {
+ // Setup for the test
+ $GLOBALS['dbi']->expects($this->any())->method('fetchAssoc')
+ ->will(
+ $this->onConsecutiveCalls(
+ array('Db' => 'y'), false, array('Db' => 'y'), false,
+ false, array('Table_name' => 't')
+ )
+ );
+
+ // Test case 1
+ $tables = array('columns_priv');
+ $user_host_condition = '';
+ $dbname = '';
+ $expected = array(
+ 'y' => array(
+ 'privs' => array('USAGE'),
+ 'Db' => 'y',
+ 'Grant_priv' => 'N',
+ 'Column_priv' => true,
+ 'can_delete' => true
+ )
+ );
+ $actual = PMA_getUserSpecificRights($tables, $user_host_condition, $dbname);
+ $this->assertEquals($expected, $actual);
+
+ // Test case 2
+ $dbname = 'db';
+ $expected = array(
+ 't' => array(
+ 'Table_name' => 't'
+ )
+ );
+ $actual = PMA_getUserSpecificRights($tables, $user_host_condition, $dbname);
+ $this->assertEquals($expected, $actual);
+ }
+
+ /**
+ * Tests for PMA_getHtmlForUserProperties
+ *
+ * @return void
+ */
+ function testPMAGetHtmlForUserProperties()
+ {
+ $actual = PMA_getHtmlForUserProperties(
+ false, 'db', 'user', 'host', 'db', 'table'
+ );
+ $this->assertContains('addUsersForm', $actual);
+ $this->assertContains('SELECT', $actual);
+ $this->assertContains('Allows reading data.', $actual);
+ $this->assertContains('INSERT', $actual);
+ $this->assertContains('Allows inserting and replacing data.', $actual);
+ $this->assertContains('UPDATE', $actual);
+ $this->assertContains('Allows changing data.', $actual);
+ $this->assertContains('DELETE', $actual);
+ $this->assertContains('Allows deleting data.', $actual);
+ $this->assertContains('CREATE', $actual);
+ $this->assertContains('Allows creating new tables.', $actual);
+ }
+
+ /**
+ * Tests for PMA_getHtmlForUserOverview
+ *
+ * @return void
+ */
+ function testPMAGetHtmlForUserOverview()
+ {
+ $actual = PMA_getHtmlForUserOverview('theme', '');
+ $this->assertContains(
+ 'Note: MySQL privilege names are expressed in English.', $actual
+ );
+ $this->assertContains(
+ 'Note: phpMyAdmin gets the users\' privileges directly '
+ . 'from MySQL\'s privilege tables.',
+ $actual
+ );
+ }
+
+ /**
+ * Tests for PMA_getHtmlForUserRights
+ *
+ * @return void
+ */
+ function testPMAGetHtmlForUserRights()
+ {
+ // Test case 1
+ $db_rights = array(
+ 'y' => array(
+ 'privs' => array('USAGE'),
+ 'Db' => 'y',
+ 'Grant_priv' => 'N',
+ 'Column_priv' => true,
+ 'can_delete' => true
+ )
+ );
+ $exp_found_rows = array('y');
+ $actual = PMA_getHtmlForUserRights($db_rights, '', 'host', 'user');
+ $this->assertArrayHasKey(0, $actual);
+ $this->assertArrayHasKey(1, $actual);
+ $this->assertEquals($exp_found_rows, $actual[0]);
+ $this->assertContains('Edit Privileges', $actual[1]);
+ $this->assertContains('Revoke', $actual[1]);
+ $this->assertTag(PMA_getTagArray('
'), $actual[1]);
+ $this->assertTag(
+ PMA_getTagArray('USAGE'), $actual[1]
+ );
+ $this->assertTag(
+ PMA_getTagArray(
+ '
'
+ ), $actual[1]
+ );
+ $this->assertTag(
+ PMA_getTagArray(
+ '
'
+ ), $actual[1]
+ );
+
+ // Test case 2
+ $actual = PMA_getHtmlForUserRights(array(), '', '', '');
+ $this->assertArrayHasKey(0, $actual);
+ $this->assertArrayHasKey(1, $actual);
+ $this->assertEquals(array(), $actual[0]);
+ $this->assertEquals(
+ '
' . "\n"
+ . '| None | ' . "\n"
+ . '
' . "\n",
+ $actual[1]
+ );
+ }
+
+ /**
+ * Tests for PMA_getHtmlForAllTableSpecificRights
+ *
+ * @return void
+ */
+ function testPMAGetHtmlForAllTableSpecificRights()
+ {
+ // Test case 1
+ $actual = PMA_getHtmlForAllTableSpecificRights('pma', 'host', 'pmadb');
+ $this->assertArrayHasKey(0, $actual);
+ $this->assertArrayHasKey(1, $actual);
+ $this->assertTag(
+ PMA_getTagArray(''),
+ $actual[0]
+ );
+ $this->assertTag(
+ PMA_getTagArray(''),
+ $actual[0]
+ );
+ $this->assertTag(
+ PMA_getTagArray(
+ '