PrivateBin/tst/TemplateSwitcherTest.php

66 lines
2.4 KiB
PHP
Raw Normal View History

<?php declare(strict_types=1);
use PHPUnit\Framework\TestCase;
use PrivateBin\Configuration;
use PrivateBin\TemplateSwitcher;
class TemplateSwitcherTest extends TestCase
{
public function testSetTemplateFallback()
{
$conf = new Configuration;
2025-02-14 15:33:34 +02:00
$existingTemplateFallback = 'bootstrap-dark';
$wrongTemplateFallback = 'bootstrap-wrong';
TemplateSwitcher::setAvailableTemplates($conf->getSection('available_templates'));
TemplateSwitcher::setTemplateFallback($existingTemplateFallback);
2025-02-14 15:33:34 +02:00
$this->assertEquals($existingTemplateFallback, TemplateSwitcher::getTemplate(), 'Correct template fallback');
TemplateSwitcher::setTemplateFallback($wrongTemplateFallback);
2025-02-14 15:33:34 +02:00
$this->assertEquals($existingTemplateFallback, TemplateSwitcher::getTemplate(), 'Wrong template fallback');
}
public function testSetAvailableTemplates()
{
2025-02-14 15:33:34 +02:00
$conf = new Configuration;
$availableTemplates = $conf->getSection('available_templates');
TemplateSwitcher::setAvailableTemplates($availableTemplates);
2025-02-14 15:33:34 +02:00
$this->assertEquals($availableTemplates, TemplateSwitcher::getAvailableTemplates(), 'Set available templates');
}
public function testGetTemplate()
{
2025-02-14 15:33:34 +02:00
$defaultTemplateFallback = 'bootstrap';
$customTemplate = 'bootstrap-dark';
$customWrongTemplate = 'bootstrap-wrong';
TemplateSwitcher::setTemplateFallback($defaultTemplateFallback);
$_COOKIE['template'] = $customWrongTemplate;
2025-02-14 15:33:34 +02:00
$this->assertEquals($defaultTemplateFallback, TemplateSwitcher::getTemplate(), 'Custom wrong template');
$_COOKIE['template'] = $customTemplate;
2025-02-14 15:33:34 +02:00
$this->assertEquals($customTemplate, TemplateSwitcher::getTemplate(), 'Custom template');
}
public function testGetAvailableTemplates()
{
2025-02-14 15:33:34 +02:00
$this->assertNotEmpty(TemplateSwitcher::getAvailableTemplates(), 'Get available templates');
}
public function testIsTemplateAvailable()
{
$conf = new Configuration;
2025-02-14 15:33:34 +02:00
$existingTemplate = 'bootstrap';
$nonExistentTemplate = 'bootstrap-wrong';
TemplateSwitcher::setAvailableTemplates($conf->getSection('available_templates'));
2025-02-14 15:33:34 +02:00
$this->assertTrue(TemplateSwitcher::isTemplateAvailable($existingTemplate), 'Existing template');
$this->assertFalse(TemplateSwitcher::isTemplateAvailable($nonExistentTemplate), 'Non-existent template');
}
}