enableBc(); $GLOBALS['cfg']['Server']['DisableIS'] = false; $GLOBALS['cfg']['Server']['verbose'] = 'verbose host'; $GLOBALS['server'] = '1'; $_GET['reload_left_frame'] = '1'; $GLOBALS['focus_querywindow'] = 'main_pane_left'; $this->object = new Footer(); unset($GLOBALS['error_message']); unset($GLOBALS['sql_query']); $GLOBALS['error_handler'] = new ErrorHandler(); unset($_POST); } /** * Tears down the fixture, for example, closes a network connection. * This method is called after a test is executed. * * @access protected * @return void */ protected function tearDown() { unset($this->object); } /** * Call private functions by setting visibility to public. * * @param string $name method name * @param array $params parameters for the invocation * * @return mixed the output from the private method. */ private function _callPrivateFunction($name, $params) { $class = new ReflectionClass(Footer::class); $method = $class->getMethod($name); $method->setAccessible(true); return $method->invokeArgs($this->object, $params); } /** * Test for getDebugMessage * * @return void * * @group medium */ public function testGetDebugMessage() { $GLOBALS['cfg']['DBG']['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', ], ]; $this->assertEquals( '{"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() ); } /** * Test for _removeRecursion * * @return void */ public function testRemoveRecursion() { $object = (object) []; $object->child = (object) []; $object->child->parent = $object; $this->_callPrivateFunction( '_removeRecursion', [ &$object ] ); $this->assertEquals( '{"child":{"parent":"***RECURSION***"}}', json_encode($object) ); } /** * Test for _getSelfLink * * @return void */ public function testGetSelfLink() { $GLOBALS['cfg']['TabsMode'] = 'text'; $GLOBALS['cfg']['ServerDefault'] = 1; $this->assertEquals( '', $this->_callPrivateFunction( '_getSelfLink', [ $this->object->getSelfUrl() ] ) ); } /** * Test for _getSelfLink * * @return void */ public function testGetSelfLinkWithImage() { $GLOBALS['cfg']['TabsMode'] = 'icons'; $GLOBALS['cfg']['ServerDefault'] = 1; $this->assertEquals( '', $this->_callPrivateFunction( '_getSelfLink', [ $this->object->getSelfUrl() ] ) ); } /** * Test for disable * * @return void */ public function testDisable() { $footer = new Footer(); $footer->disable(); $this->assertEquals( '', $footer->getDisplay() ); } /** * Test for footer when ajax enabled * * @return void */ public function testAjax() { $footer = new Footer(); $footer->setAjax(true); $this->assertEquals( '', $footer->getDisplay() ); } /** * Test for footer get Scripts * * @return void */ public function testGetScripts() { $footer = new Footer(); $this->assertContains( '