getKey('availabletemplates')); TemplateSwitcher::setTemplateFallback($existingTemplateFallback); $this->assertEquals($existingTemplateFallback, TemplateSwitcher::getTemplate(), 'Correct template fallback'); TemplateSwitcher::setTemplateFallback($wrongTemplateFallback); $this->assertEquals($existingTemplateFallback, TemplateSwitcher::getTemplate(), 'Wrong template fallback'); } public function testSetAvailableTemplates() { $conf = new Configuration; $availableTemplates = $conf->getKey('availabletemplates'); TemplateSwitcher::setAvailableTemplates($availableTemplates); $this->assertEquals($availableTemplates, TemplateSwitcher::getAvailableTemplates(), 'Set available templates'); } public function testGetTemplate() { $defaultTemplateFallback = 'bootstrap'; $customTemplate = 'bootstrap-dark'; $customWrongTemplate = 'bootstrap-wrong'; TemplateSwitcher::setTemplateFallback($defaultTemplateFallback); $_COOKIE['template'] = $customWrongTemplate; $this->assertEquals($defaultTemplateFallback, TemplateSwitcher::getTemplate(), 'Custom wrong template'); $_COOKIE['template'] = $customTemplate; $this->assertEquals($customTemplate, TemplateSwitcher::getTemplate(), 'Custom template'); } public function testGetAvailableTemplates() { $this->assertNotEmpty(TemplateSwitcher::getAvailableTemplates(), 'Get available templates'); } public function testIsTemplateAvailable() { $conf = new Configuration; $existingTemplate = 'bootstrap'; $nonExistentTemplate = 'bootstrap-wrong'; TemplateSwitcher::setAvailableTemplates($conf->getKey('availabletemplates')); $this->assertTrue(TemplateSwitcher::isTemplateAvailable($existingTemplate), 'Existing template'); $this->assertFalse(TemplateSwitcher::isTemplateAvailable($nonExistentTemplate), 'Non-existent template'); } }