phpmyadmin/test/classes/HeaderTest.php
Michal Čihař 51fb18612a Move Theme object out of session
Honestly I don't see good reason for storing Theme in session as loading
it from the session will take about same time as loading it from the
disk.

Additionally it seems that current code really didn't really use the
object stored in session, it was constructed with every request anyway
(by ThemeManager::initializeTheme).

Signed-off-by: Michal Čihař <michal@cihar.com>
2017-07-17 14:18:35 +02:00

171 lines
3.7 KiB
PHP

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Test for PhpMyAdmin\Header class
*
* @package PhpMyAdmin-test
*/
use PhpMyAdmin\Config;
use PhpMyAdmin\Core;
use PhpMyAdmin\Header;
use PhpMyAdmin\Theme;
require_once 'libraries/database_interface.inc.php';
require_once 'libraries/relation.lib.php';
require_once 'test/PMATestCase.php';
/**
* Test for PhpMyAdmin\Header class
*
* @package PhpMyAdmin-test
* @group medium
*/
class HeaderTest extends PMATestCase
{
/**
* Configures global environment.
*
* @return void
*/
function setup()
{
if (!defined('PMA_IS_WINDOWS')) {
define('PMA_IS_WINDOWS', false);
}
$GLOBALS['server'] = 0;
$GLOBALS['message'] = 'phpmyadminmessage';
$GLOBALS['pmaThemePath'] = $GLOBALS['PMA_Theme']->getPath();
$GLOBALS['PMA_PHP_SELF'] = Core::getenv('PHP_SELF');
$GLOBALS['server'] = 'server';
$GLOBALS['db'] = 'pma_test';
$GLOBALS['table'] = 'table1';
$GLOBALS['PMA_Config'] = new Config();
$GLOBALS['PMA_Config']->enableBc();
$GLOBALS['cfg']['Server']['DisableIS'] = false;
$GLOBALS['cfg']['Server']['verbose'] = 'verbose host';
$GLOBALS['cfg']['Server']['pmadb'] = '';
$GLOBALS['cfg']['Server']['user'] = '';
}
/**
* Test for disable
*
* @return void
*/
public function testDisable()
{
$header = new Header();
$header->disable();
$this->assertEquals(
'',
$header->getDisplay()
);
}
/**
* Test for Set BodyId
*
* @return void
*/
public function testSetBodyId()
{
$header = new Header();
$header->setBodyId('PMA_header_id');
$this->assertContains(
'PMA_header_id',
$header->getDisplay()
);
}
/**
* Test for print view
*
* @return void
*/
public function testPrintView()
{
$header = new Header();
$header->enablePrintView();
$this->assertContains(
'Print view',
$header->getDisplay()
);
}
/**
* Test for Get JsParams
*
* @return void
*/
public function testGetJsParams()
{
$header = new Header();
$this->assertArrayHasKey(
'common_query',
$header->getJsParams()
);
}
/**
* Test for Get JsParamsCode
*
* @return void
*/
public function testGetJsParamsCode()
{
$header = new Header();
$this->assertContains(
'PMA_commonParams.setAll',
$header->getJsParamsCode()
);
}
/**
* Test for Get Message
*
* @return void
*/
public function testGetMessage()
{
$header = new Header();
$this->assertContains(
'phpmyadminmessage',
$header->getMessage()
);
}
/**
* Test for Disable Warnings
*
* @return void
* @test
*/
public function testDisableWarnings()
{
$header = new Header();
$header->disableWarnings();
$this->assertAttributeEquals(
false,
'_warningsEnabled',
$header
);
}
/**
* Tests private method _getWarnings when warnings are disabled
*
* @return void
* @test
*/
public function testGetWarningsWithWarningsDisabled()
{
$method = new ReflectionMethod(Header::class, '_getWarnings');
$method->setAccessible(true);
$header = new Header();
$header->disableWarnings();
$this->assertEmpty($method->invoke($header));
}
}