enableBc(); $GLOBALS['db'] = 'db'; $GLOBALS['table'] = "table"; $GLOBALS['replication_info']['master']['status'] = false; $GLOBALS['replication_info']['slave']['status'] = false; $GLOBALS['pmaThemeImage'] = 'image'; $GLOBALS['text_dir'] = "text_dir"; $GLOBALS['PMA_PHP_SELF'] = 'index.php'; $GLOBALS['cfg']['Server']['DisableIS'] = false; //$_SESSION $GLOBALS['server'] = 1; $container = Container::getDefaultContainer(); $container->set('dbi', $GLOBALS['dbi']); $this->response = new ResponseStub(); $container->set('PhpMyAdmin\Response', $this->response); $container->alias('response', 'PhpMyAdmin\Response'); } /** * Tests for _getHtmlForDatabases * * @return void * @group medium */ public function testGetHtmlForDatabase() { $class = new ReflectionClass('\PhpMyAdmin\Controllers\Server\ServerDatabasesController'); $method = $class->getMethod('_getHtmlForDatabases'); $method->setAccessible(true); $container = Container::getDefaultContainer(); $container->factory('PhpMyAdmin\Controllers\Server\ServerDatabasesController'); $container->alias( 'ServerDatabasesController', 'PhpMyAdmin\Controllers\Server\ServerDatabasesController' ); $ctrl = $container->get('ServerDatabasesController'); //Call the test function $databases = [ ["SCHEMA_NAME" => "pma_bookmark"], ["SCHEMA_NAME" => "information_schema"], ["SCHEMA_NAME" => "mysql"], ["SCHEMA_NAME" => "performance_schema"], ["SCHEMA_NAME" => "phpmyadmin"] ]; $property = $class->getProperty('_databases'); $property->setAccessible(true); $property->setValue($ctrl, $databases); $property = $class->getProperty('_database_count'); $property->setAccessible(true); $property->setValue($ctrl, 5); $property = $class->getProperty('_pos'); $property->setAccessible(true); $property->setValue($ctrl, 0); $property = $class->getProperty('_dbstats'); $property->setAccessible(true); $property->setValue($ctrl, false); $property = $class->getProperty('_sort_by'); $property->setAccessible(true); $property->setValue($ctrl, 'SCHEMA_NAME'); $property = $class->getProperty('_sort_order'); $property->setAccessible(true); $property->setValue($ctrl, 'asc'); $replication_types = ["master", "slave"]; $html = $method->invoke($ctrl, $replication_types); //validate 1: General info $this->assertContains( '