diff --git a/templates/server/databases/table_row.phtml b/templates/server/databases/table_row.phtml index 8a25fd774b..dadfb9024d 100644 --- a/templates/server/databases/table_row.phtml +++ b/templates/server/databases/table_row.phtml @@ -1,11 +1,11 @@ > - isSystemSchema($current['SCHEMA_NAME'], true)): ?> - disabled="disabled"'; + disabled="disabled"; /> diff --git a/test/libraries/PMA_server_databases_test.php b/test/classes/controllers/ServerDatabasesControllerTest.php similarity index 66% rename from test/libraries/PMA_server_databases_test.php rename to test/classes/controllers/ServerDatabasesControllerTest.php index a01089e78e..738a1ca4c8 100644 --- a/test/libraries/PMA_server_databases_test.php +++ b/test/classes/controllers/ServerDatabasesControllerTest.php @@ -1,21 +1,17 @@ set('dbi', $GLOBALS['dbi']); + $this->response = new \PMA\Test\Stubs\Response(); + $container->set('PMA\libraries\Response', $this->response); + $container->alias('response', 'PMA\libraries\Response'); } /** - * Test for PMA_getHtmlForDatabase + * Tests for _getHtmlForDatabases * * @return void * @group medium */ - public function testPMAGetHtmlForDatabase() + public function testGetHtmlForDatabase() { - //Mock DBI - $dbi = $this->getMockBuilder('PMA\libraries\DatabaseInterface') - ->disableOriginalConstructor() - ->getMock(); + $class = new ReflectionClass('\PMA\libraries\controllers\server\ServerDatabasesController'); + $method = $class->getMethod('_getHtmlForDatabases'); + $method->setAccessible(true); - $GLOBALS['dbi'] = $dbi; + $container = Container::getDefaultContainer(); + $container->factory('PMA\libraries\controllers\server\ServerDatabasesController'); + $container->alias( + 'ServerDatabasesController', 'PMA\libraries\controllers\server\ServerDatabasesController' + ); + $ctrl = $container->get('ServerDatabasesController'); //Call the test function $databases = array( @@ -123,19 +126,7 @@ class PMA_ServerDatabases_Test extends PHPUnit_Framework_TestCase ); $url_query = "token=27ae04f0b003a84e5c2796182f361ff1"; - $html = PMA_getHtmlForDatabase( - $databases, - $databases_count, - $pos, - $dbstats, - $sort_by, - $sort_order, - $is_superuser, - $cfg, - $replication_types, - $replication_info, - $url_query - ); + $html = $method->invoke($ctrl, $replication_types); //validate 1: General info $this->assertContains( @@ -206,87 +197,78 @@ class PMA_ServerDatabases_Test extends PHPUnit_Framework_TestCase } /** - * Test for PMA_getListForSortDatabase + * Tests for _setSortDetails() * * @return void */ - public function testPMAGetListForSortDatabase() + public function testSetSortDetails() { + $class = new ReflectionClass('\PMA\libraries\controllers\server\ServerDatabasesController'); + $method = $class->getMethod('_getHtmlForDatabases'); + $method->setAccessible(true); + $propertySortBy = $class->getProperty('_sort_by'); + $propertySortBy->setAccessible(true); + $propertySortOrder = $class->getProperty('_sort_order'); + $propertySortOrder->setAccessible(true); + + $container = Container::getDefaultContainer(); + $container->factory('PMA\libraries\controllers\server\ServerDatabasesController'); + $container->alias( + 'ServerDatabasesController', 'PMA\libraries\controllers\server\ServerDatabasesController' + ); + $ctrl = $container->get('ServerDatabasesController'); + //$_REQUEST['sort_by'] and $_REQUEST['sort_order'] are empty - list($sort_by, $sort_order) = PMA_getListForSortDatabase(); + $method->invoke($ctrl); $this->assertEquals( 'SCHEMA_NAME', - $sort_by + $propertySortBy->getValue($ctrl) ); $this->assertEquals( 'asc', - $sort_order + $propertySortOrder->getValue($ctrl) ); + $container = Container::getDefaultContainer(); + $container->factory('PMA\libraries\controllers\server\ServerDatabasesController'); + $container->alias( + 'ServerDatabasesController', 'PMA\libraries\controllers\server\ServerDatabasesController' + ); + $ctrl = $container->get('ServerDatabasesController'); + // $_REQUEST['sort_by'] = 'DEFAULT_COLLATION_NAME' // and $_REQUEST['sort_order'] is not 'desc' $_REQUEST['sort_by'] = 'DEFAULT_COLLATION_NAME'; $_REQUEST['sort_order'] = 'abc'; - list($sort_by, $sort_order) = PMA_getListForSortDatabase(); + $method->invoke($ctrl); $this->assertEquals( 'DEFAULT_COLLATION_NAME', - $sort_by + $propertySortBy->getValue($ctrl) ); $this->assertEquals( 'asc', - $sort_order + $propertySortOrder->getValue($ctrl) ); + $container = Container::getDefaultContainer(); + $container->factory('PMA\libraries\controllers\server\ServerDatabasesController'); + $container->alias( + 'ServerDatabasesController', 'PMA\libraries\controllers\server\ServerDatabasesController' + ); + $ctrl = $container->get('ServerDatabasesController'); + // $_REQUEST['sort_by'] = 'DEFAULT_COLLATION_NAME' // and $_REQUEST['sort_order'] is 'desc' $_REQUEST['sort_by'] = 'DEFAULT_COLLATION_NAME'; $_REQUEST['sort_order'] = 'desc'; - list($sort_by, $sort_order) = PMA_getListForSortDatabase(); + $method->invoke($ctrl); $this->assertEquals( 'DEFAULT_COLLATION_NAME', - $sort_by + $propertySortBy->getValue($ctrl) ); $this->assertEquals( 'desc', - $sort_order + $propertySortOrder->getValue($ctrl) ); } - - /** - * Test for PMA_getHtmlForColumnOrder - * - * @return void - */ - public function testPMAGetHtmlForColumnOrder() - { - //Mock DBI - $dbi = $this->getMockBuilder('PMA\libraries\DatabaseInterface') - ->disableOriginalConstructor() - ->getMock(); - - $GLOBALS['dbi'] = $dbi; - - $column_order = array( - "first_database" => array( - 'format' => 'byte', - 'footer' => '10333', - ) - ); - $first_database = array( - "first_database" => "db1" - ); - $html = PMA_getHtmlForColumnOrder($column_order, $first_database); - $stat = $column_order["first_database" ]; - list($value, $unit) - = PMA\libraries\Util::formatByteDown($stat['footer'], 3, 1); - $this->assertContains( - $value, - $html - ); - $this->assertContains( - $unit, - $html - ); - - } } diff --git a/test/libraries/PMA_build_html_for_db_test.php b/test/libraries/PMA_build_html_for_db_test.php index 3d88c8a81b..0d76efa188 100644 --- a/test/libraries/PMA_build_html_for_db_test.php +++ b/test/libraries/PMA_build_html_for_db_test.php @@ -99,95 +99,4 @@ class PMA_BuildHtmlForDb_Test extends PHPUnit_Framework_TestCase PMA_getColumnOrder() ); } - - /** - * Test for PMA_buildHtmlForDb - * - * @param array $current Current - * @param boolean $is_superuser Is superuser - * @param string $url_query URL query - * @param array $column_order Column order - * @param array $replication_types Replication types - * @param array $replication_info Replication info - * @param array $html_segments HTML segments - * - * @return void - * @dataProvider providerForTestBuildHtmlForDb - * - * @group medium - */ - public function testBuildHtmlForDb($current, $is_superuser, - $url_query, $column_order, $replication_types, - $replication_info, $html_segments - ) { - $result = PMA_buildHtmlForDb( - $current, $is_superuser, $url_query, - $column_order, $replication_types, $replication_info - ); - $this->assertEquals( - $column_order, - $result[0] - ); - foreach ($html_segments as $html_segment) { - $this->assertContains( - $html_segment, - $result[1] - ); - } - } - - /** - * Data for testBuildHtmlForDb - * - * @return array data for testBuildHtmlForDb test case - */ - public function providerForTestBuildHtmlForDb() - { - return array( - array( - array('SCHEMA_NAME' => 'pma'), - true, - 'target=main.php', - PMA_getColumnOrder(), - array( - 'SCHEMA_NAME' => 'pma', - ), - array( - 'pma' => array( - 'status' => 'true', - 'Ignore_DB' => array( - 'pma' => 'pma' - ), - ) - ), - array( - '', - ' 'INFORMATION_SCHEMA'), - true, - 'target=main.php', - PMA_getColumnOrder(), - array( - 'SCHEMA_NAME' => 'INFORMATION_SCHEMA', - ), - array( - 'INFORMATION_SCHEMA' => array( - 'status' => 'false', - 'Ignore_DB' => array( - 'INFORMATION_SCHEMA' => 'INFORMATION_SCHEMA' - ) - ) - ), - array( - '