public function testAuthFails()
{
$removeConstant = false;
$GLOBALS['error_handler'] = new PMA\libraries\ErrorHandler();
$GLOBALS['cfg']['Servers'] = array(1);
$GLOBALS['allowDeny_forbidden'] = false;
$GLOBALS['collation_connection'] = 'utf-8';
if (!defined('PMA_USR_BROWSER_AGENT')) {
define('PMA_USR_BROWSER_AGENT', 'chrome');
$removeConstant = true;
if (!PMA_HAS_RUNKIT) {
$this->markTestSkipped('Cannot remove constant');
}
}
$dbi = $this->getMockBuilder('PMA\\libraries\\DatabaseInterface')->disableOriginalConstructor()->getMock();
$GLOBALS['dbi'] = $dbi;
ob_start();
$result = $this->object->authFails();
$html = ob_get_clean();
$this->assertTrue($result);
$this->assertContains('You probably did not create a configuration file. You might want ' . 'to use the <a href="setup/">setup script</a> to create one.', $html);
$this->assertContains('<strong>MySQL said: </strong><a href="./url.php?url=https%3A%2F%2F' . 'dev.mysql.com%2Fdoc%2Frefman%2F5.7%2Fen%2Ferror-messages-server.html"' . ' target="mysql_doc">' . '<img src="themes/dot.gif" title="Documentation" alt="Documentation" ' . 'class="icon ic_b_help" /></a>', $html);
$this->assertContains('Cannot connect: invalid settings.', $html);
$this->assertContains('<a href="index.php?server=0&lang=en' . '&collation_connection=utf-8" ' . 'class="button disableAjax">Retry to connect</a>', $html);
if ($removeConstant) {
runkit_constant_remove('PMA_USR_BROWSER_AGENT');
}
}