3 declare(strict_types
=1);
5 namespace PhpMyAdmin\Tests\Theme
;
8 use PhpMyAdmin\Current
;
9 use PhpMyAdmin\Tests\AbstractTestCase
;
10 use PhpMyAdmin\Theme\ThemeManager
;
11 use PHPUnit\Framework\Attributes\CoversClass
;
13 #[CoversClass(ThemeManager::class)]
14 class ThemeManagerTest
extends AbstractTestCase
17 * SetUp for test cases
19 protected function setUp(): void
23 $this->setGlobalConfig();
25 $config = Config
::getInstance();
26 $config->settings
['ThemePerServer'] = false;
27 $config->settings
['ThemeDefault'] = 'pmahomme';
28 $config->settings
['ServerDefault'] = 0;
29 Current
::$server = 99;
33 * Test for ThemeManager::getThemeCookieName
35 public function testCookieName(): void
37 $tm = new ThemeManager();
38 self
::assertSame('pma_theme', $tm->getThemeCookieName());
42 * Test for ThemeManager::getThemeCookieName
44 public function testPerServerCookieName(): void
46 $tm = new ThemeManager();
47 $tm->setThemePerServer(true);
48 self
::assertSame('pma_theme-99', $tm->getThemeCookieName());
51 public function testGetThemesArray(): void
53 $tm = new ThemeManager();
54 $tm->initializeTheme();
55 $themes = $tm->getThemesArray();
56 self
::assertArrayHasKey(0, $themes);
60 * Test for setThemeCookie
62 public function testSetThemeCookie(): void
64 $tm = new ThemeManager();
65 $tm->theme
->id
= 'theme_id';
66 $tm->setThemeCookie();
67 self
::assertNotSame('', $tm->getThemeCookie());