瀏覽代碼

Use the traditional "template" config key, update unit-tests

Ribas160 1 年之前
父節點
當前提交
5b54f2cdb0
共有 5 個文件被更改,包括 28 次插入12 次删除
  1. 1 1
      cfg/conf.sample.php
  2. 2 2
      lib/Configuration.php
  3. 2 1
      lib/Controller.php
  4. 1 1
      lib/TemplateSwitcher.php
  5. 22 7
      tst/TemplateSwitcherTest.php

+ 1 - 1
cfg/conf.sample.php

@@ -53,7 +53,7 @@ templateselection = false
 ; which can be combined with "-dark" and "-compact" for "bootstrap-dark-page",
 ; "bootstrap-compact-page" and finally "bootstrap5" (tpl/bootstrap5.php) - previews at:
 ; https://privatebin.info/screenshots.html
-; templatedefault = "bootstrap"
+; template = "bootstrap"
 
 ; (optional) info text to display
 ; use single, instead of double quotes for HTML attributes

+ 2 - 2
lib/Configuration.php

@@ -46,7 +46,7 @@ class Configuration
             'syntaxhighlightingtheme'  => '',
             'sizelimit'                => 10485760,
             'templateselection'        => false,
-            'templatedefault'          => '',
+            'template'                 => 'bootstrap',
             'info'                     => 'More information on the <a href=\'https://privatebin.info/\'>project page</a>.',
             'notice'                   => '',
             'languageselection'        => false,
@@ -79,13 +79,13 @@ class Configuration
             'markdown'           => 'Markdown',
         ),
         'available_templates' => array(
+            'bootstrap5',
             'bootstrap',
             'bootstrap-page',
             'bootstrap-dark',
             'bootstrap-dark-page',
             'bootstrap-compact',
             'bootstrap-compact-page',
-            'bootstrap5',
             'page',
         ),
         'traffic' => array(

+ 2 - 1
lib/Controller.php

@@ -213,9 +213,10 @@ class Controller
         $this->_conf = new Configuration;
 
         $templates = $this->_conf->getSection('available_templates');
-        $template = $this->_conf->getKey('templatedefault');
+        $template = $this->_conf->getKey('template');
         TemplateSwitcher::setAvailableTemplates($templates);
         TemplateSwitcher::setTemplateFallback($template);
+
         // force default template, if template selection is disabled and a default is set
         if (!$this->_conf->getKey('templateselection') && !empty($template)) {
             $_COOKIE['template'] = $template;

+ 1 - 1
lib/TemplateSwitcher.php

@@ -26,7 +26,7 @@ class TemplateSwitcher {
      * @static
      * @var    string
      */
-    protected static $_templateFallback = "bootstrap";
+    protected static $_templateFallback;
 
 
     /**

+ 22 - 7
tst/TemplateSwitcherTest.php

@@ -1,6 +1,7 @@
 <?php declare(strict_types=1);
 
 use PHPUnit\Framework\TestCase;
+use PrivateBin\Configuration;
 use PrivateBin\TemplateSwitcher;
 
 
@@ -9,17 +10,27 @@ class TemplateSwitcherTest extends TestCase
 
     public function testSetTemplateFallback()
     {
-        $defaultTemplateFallback = "bootstrap";
-        $customTemplateFallback = "bootstrap-dark";
+        $conf = new Configuration;
+
+        $existingTemplateFallback = "bootstrap-dark";
         $wrongTemplateFallback = "bootstrap-wrong";
 
-        $this->assertEquals($defaultTemplateFallback, TemplateSwitcher::getTemplate(), "Default template fallback");
+        TemplateSwitcher::setAvailableTemplates($conf->getSection('available_templates'));
+        TemplateSwitcher::setTemplateFallback($existingTemplateFallback);
+        $this->assertEquals($existingTemplateFallback, TemplateSwitcher::getTemplate(), "Correct template fallback");
 
         TemplateSwitcher::setTemplateFallback($wrongTemplateFallback);
-        $this->assertEquals($defaultTemplateFallback, TemplateSwitcher::getTemplate(), "Wrong template fallback");
+        $this->assertEquals($existingTemplateFallback, TemplateSwitcher::getTemplate(), "Wrong template fallback");
+    }
+
 
-        TemplateSwitcher::setTemplateFallback($customTemplateFallback);
-        $this->assertEquals($customTemplateFallback, TemplateSwitcher::getTemplate(), "Custom template fallback");
+    public function testSetAvailableTemplates()
+    {
+        $conf = new Configuration;
+        $availableTemplates = $conf->getSection('available_templates');
+
+        TemplateSwitcher::setAvailableTemplates($availableTemplates);
+        $this->assertEquals($availableTemplates, TemplateSwitcher::getAvailableTemplates(), "Set available templates");
     }
 
 
@@ -41,15 +52,19 @@ class TemplateSwitcherTest extends TestCase
 
     public function testGetAvailableTemplates()
     {
-        $this->assertNotEmpty(TemplateSwitcher::getAvailableTemplates(), "Available templates");
+        $this->assertNotEmpty(TemplateSwitcher::getAvailableTemplates(), "Get available templates");
     }
 
 
     public function testIsTemplateAvailable()
     {
+        $conf = new Configuration;
+
         $existingTemplate = "bootstrap";
         $nonExistentTemplate = "bootstrap-wrong";
 
+        TemplateSwitcher::setAvailableTemplates($conf->getSection('available_templates'));
+
         $this->assertTrue(TemplateSwitcher::isTemplateAvailable($existingTemplate), "Existing template");
         $this->assertFalse(TemplateSwitcher::isTemplateAvailable($nonExistentTemplate), "Non-existent template");
     }