TemplateSwitcherTest.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php declare(strict_types=1);
  2. use PHPUnit\Framework\TestCase;
  3. use PrivateBin\TemplateSwitcher;
  4. class TemplateSwitcherTest extends TestCase
  5. {
  6. public function testSetTemplateFallback()
  7. {
  8. $defaultTemplateFallback = "bootstrap";
  9. $customTemplateFallback = "bootstrap-dark";
  10. $wrongTemplateFallback = "bootstrap-wrong";
  11. $this->assertEquals($defaultTemplateFallback, TemplateSwitcher::getTemplate(), "Default template fallback");
  12. TemplateSwitcher::setTemplateFallback($wrongTemplateFallback);
  13. $this->assertEquals($defaultTemplateFallback, TemplateSwitcher::getTemplate(), "Wrong template fallback");
  14. TemplateSwitcher::setTemplateFallback($customTemplateFallback);
  15. $this->assertEquals($customTemplateFallback, TemplateSwitcher::getTemplate(), "Custom template fallback");
  16. }
  17. public function testGetTemplate()
  18. {
  19. $defaultTemplateFallback = "bootstrap";
  20. $customTemplate = "bootstrap-dark";
  21. $customWrongTemplate = "bootstrap-wrong";
  22. TemplateSwitcher::setTemplateFallback($defaultTemplateFallback);
  23. $_COOKIE['template'] = $customWrongTemplate;
  24. $this->assertEquals($defaultTemplateFallback, TemplateSwitcher::getTemplate(), "Custom wrong template");
  25. $_COOKIE['template'] = $customTemplate;
  26. $this->assertEquals($customTemplate, TemplateSwitcher::getTemplate(), "Custom template");
  27. }
  28. public function testGetAvailableTemplates()
  29. {
  30. $this->assertNotEmpty(TemplateSwitcher::getAvailableTemplates(), "Available templates");
  31. }
  32. public function testIsTemplateAvailable()
  33. {
  34. $existingTemplate = "bootstrap";
  35. $nonExistentTemplate = "bootstrap-wrong";
  36. $this->assertTrue(TemplateSwitcher::isTemplateAvailable($existingTemplate), "Existing template");
  37. $this->assertFalse(TemplateSwitcher::isTemplateAvailable($nonExistentTemplate), "Non-existent template");
  38. }
  39. }