166 lines
4.2 KiB
PHP
166 lines
4.2 KiB
PHP
<?php
|
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
|
/**
|
|
* tests for ThemeManager class
|
|
*
|
|
* @package PhpMyAdmin-test
|
|
*/
|
|
|
|
/*
|
|
* Include to test.
|
|
*/
|
|
use PMA\libraries\ThemeManager;
|
|
|
|
require_once 'libraries/url_generating.lib.php';
|
|
require_once 'test/PMATestCase.php';
|
|
|
|
/**
|
|
* tests for ThemeManager class
|
|
*
|
|
* @package PhpMyAdmin-test
|
|
*/
|
|
class ThemeManagerTest extends PMATestCase
|
|
{
|
|
/**
|
|
* SetUp for test cases
|
|
*
|
|
* @return void
|
|
*/
|
|
public function setup()
|
|
{
|
|
$GLOBALS['cfg']['ThemePath'] = './themes';
|
|
$GLOBALS['cfg']['ThemePerServer'] = false;
|
|
$GLOBALS['cfg']['ThemeDefault'] = 'pmahomme';
|
|
$GLOBALS['cfg']['ServerDefault'] = 0;
|
|
$GLOBALS['server'] = 99;
|
|
$GLOBALS['PMA_Config'] = new PMA\libraries\Config();
|
|
$GLOBALS['collation_connection'] = 'utf8_general_ci';
|
|
|
|
$dbi = $this->getMockBuilder('PMA\libraries\DatabaseInterface')
|
|
->disableOriginalConstructor()
|
|
->getMock();
|
|
$dbi->expects($this->any())->method('escapeString')
|
|
->will($this->returnArgument(0));
|
|
|
|
$cfg['dbi'] = $dbi;
|
|
}
|
|
|
|
/**
|
|
* Test for ThemeManager::getThemeCookieName
|
|
*
|
|
* @return void
|
|
*/
|
|
public function testCookieName()
|
|
{
|
|
$tm = new ThemeManager();
|
|
$this->assertEquals('pma_theme', $tm->getThemeCookieName());
|
|
}
|
|
|
|
/**
|
|
* Test for ThemeManager::getThemeCookieName
|
|
*
|
|
* @return void
|
|
*/
|
|
public function testPerServerCookieName()
|
|
{
|
|
$tm = new ThemeManager();
|
|
$tm->setThemePerServer(true);
|
|
$this->assertEquals('pma_theme-99', $tm->getThemeCookieName());
|
|
}
|
|
|
|
/**
|
|
* Test for ThemeManager::getHtmlSelectBox
|
|
*
|
|
* @return void
|
|
*/
|
|
public function testHtmlSelectBox()
|
|
{
|
|
$tm = new ThemeManager();
|
|
$this->assertContains(
|
|
'<option value="pmahomme" selected="selected">',
|
|
$tm->getHtmlSelectBox()
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Test for setThemeCookie
|
|
*
|
|
* @return void
|
|
*/
|
|
public function testSetThemeCookie()
|
|
{
|
|
$tm = new ThemeManager();
|
|
$this->assertTrue(
|
|
$tm->setThemeCookie()
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Test for checkConfig
|
|
*
|
|
* @return void
|
|
*/
|
|
public function testCheckConfig()
|
|
{
|
|
$tm = new ThemeManager();
|
|
$this->assertNull(
|
|
$tm->checkConfig()
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Test for makeBc
|
|
*
|
|
* @return void
|
|
*/
|
|
public function testMakeBc()
|
|
{
|
|
$tm = new ThemeManager();
|
|
$this->assertNull(
|
|
$tm->makeBc()
|
|
);
|
|
$this->assertEquals($GLOBALS['theme'], 'pmahomme');
|
|
$this->assertEquals($GLOBALS['pmaThemePath'], './themes/pmahomme');
|
|
$this->assertEquals($GLOBALS['pmaThemeImage'], './themes/pmahomme/img/');
|
|
|
|
}
|
|
|
|
/**
|
|
* Test for getPrintPreviews
|
|
*
|
|
* @return void
|
|
*/
|
|
public function testGetPrintPreviews()
|
|
{
|
|
$tm = new ThemeManager();
|
|
$this->assertEquals(
|
|
'<div class="theme_preview"><h2>Original (2.9) </h2><p><a class='
|
|
. '"take_theme" name="original" href="index.php?set_theme=original'
|
|
. '&server=99&lang=en&collation_connection=utf8_general_ci'
|
|
. '&token=token"><img src="./themes/original/screen.png" border="1" '
|
|
. 'alt="Original" title="Original" /><br />[ <strong>take it</strong> ]'
|
|
. '</a></p></div><div class="theme_preview"><h2>pmahomme (1.1) </h2><p>'
|
|
. '<a class="take_theme" name="pmahomme" href="index.php?set_theme='
|
|
. 'pmahomme&server=99&lang=en&collation_connection=utf8_'
|
|
. 'general_ci&token=token"><img src="./themes/pmahomme/screen.png" '
|
|
. 'border="1" alt="pmahomme" title="pmahomme" /><br />[ <strong>take it'
|
|
. '</strong> ]</a></p></div>',
|
|
$tm->getPrintPreviews()
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Test for getFallBackTheme
|
|
*
|
|
* @return void
|
|
*/
|
|
public function testGetFallBackTheme()
|
|
{
|
|
$tm = new ThemeManager();
|
|
$this->assertInstanceOf(
|
|
'PMA\libraries\Theme',
|
|
$tm->getFallBackTheme()
|
|
);
|
|
}
|
|
}
|