setLanguage(); DatabaseInterface::$instance = $this->createDatabaseInterface(); $_SERVER['SCRIPT_NAME'] = 'index.php'; Current::$database = ''; Current::$table = ''; $config = Config::getInstance(); $config->selectedServer['DisableIS'] = false; $config->selectedServer['verbose'] = 'verbose host'; $_GET['reload_left_frame'] = '1'; $this->object = new Footer(new Template($config), $config); Current::$sqlQuery = ''; $_POST = []; } /** * Test for getDebugMessage */ public function testGetDebugMessage(): void { $config = Config::getInstance(); $config->config->debug->sql = true; $_SESSION['debug']['queries'] = [ ['count' => 1, 'time' => 0.2, 'query' => 'SELECT * FROM `pma_bookmark` WHERE 1'], ['count' => 1, 'time' => 2.5, 'query' => 'SELECT * FROM `db` WHERE 1'], ]; self::assertSame( '{"queries":[{"count":1,"time":0.2,"query":"SELECT * FROM `pma_bookmark` WHERE 1"},' . '{"count":1,"time":2.5,"query":"SELECT * FROM `db` WHERE 1"}]}', $this->object->getDebugMessage(), ); $config->config->debug->sql = false; } /** * Test for removeRecursion */ public function testRemoveRecursion(): void { $object = (object) []; $object->child = (object) []; $object->childIterator = new ArrayIterator(); $object->child->parent = $object; (new ReflectionMethod(Footer::class, 'removeRecursion'))->invokeArgs($this->object, [&$object]); self::assertSame( '{"child":{"parent":"***RECURSION***"},"childIterator":"***ITERATOR***"}', json_encode($object), ); } /** * Test for footer get Scripts */ public function testGetScripts(): void { $config = Config::getInstance(); $footer = new Footer(new Template($config), $config); self::assertStringContainsString( ' HTML; $expected = [ 'is_minimal' => false, 'self_url' => 'index.php?route=%2F&server=1&lang=en', 'error_messages' => '', 'scripts' => $scripts, 'is_demo' => false, 'git_revision_info' => [], 'footer' => '', ]; self::assertSame($expected, $footer->getDisplay()); } /** * Test for minimal footer */ public function testMinimal(): void { $config = Config::getInstance(); $template = new Template($config); $footer = new Footer($template, $config); $footer->setMinimal(); $expected = [ 'is_minimal' => true, 'self_url' => null, 'error_messages' => '', 'scripts' => '', 'is_demo' => false, 'git_revision_info' => [], 'footer' => '', ]; self::assertSame($expected, $footer->getDisplay()); } }