Просмотр исходного кода

ensure the basepath ends in a slash, if one is set

El RIDO 3 лет назад
Родитель
Сommit
987ead2719
2 измененных файлов с 9 добавлено и 1 удалено
  1. 8 0
      lib/Configuration.php
  2. 1 1
      tst/JsonApiTest.php

+ 8 - 0
lib/Configuration.php

@@ -236,6 +236,14 @@ class Configuration
         if (!array_key_exists($this->_configuration['expire']['default'], $this->_configuration['expire_options'])) {
             $this->_configuration['expire']['default'] = key($this->_configuration['expire_options']);
         }
+
+        // ensure the basepath ends in a slash, if one is set
+        if (
+            strlen($this->_configuration['main']['basepath']) &&
+            substr_compare($this->_configuration['main']['basepath'], '/', -1) !== 0
+        ) {
+            $this->_configuration['main']['basepath'] .= '/';
+        }
     }
 
     /**

+ 1 - 1
tst/JsonApiTest.php

@@ -272,7 +272,7 @@ class JsonApiTest extends PHPUnit_Framework_TestCase
     {
         $mock_yourls_service                = $this->_path . DIRECTORY_SEPARATOR . 'yourls.json';
         $options                            = parse_ini_file(CONF, true);
-        $options['main']['basepath']        = 'https://example.com/path/';
+        $options['main']['basepath']        = 'https://example.com/path'; // missing slash gets added by Configuration constructor
         $options['main']['urlshortener']    = 'https://example.com/path/shortenviayourls?link=';
         $options['yourls']['apiurl']        = $mock_yourls_service;
         Helper::createIniFile(CONF, $options);