]> git.mxchange.org Git - friendica.git/blobdiff - tests/src/Core/SystemTest.php
Merge remote-tracking branch 'upstream/2021.12-rc' into api-fixes
[friendica.git] / tests / src / Core / SystemTest.php
index 189e880107d00102e10b97565195c5ff2296f5b4..f37d2a2937bf54c520d3fb458ee5a292fc1f5929 100644 (file)
@@ -1,25 +1,74 @@
 <?php
+/**
+ * @copyright Copyright (C) 2010-2021, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
 
 namespace Friendica\Test\src\Core;
 
+use Dice\Dice;
+use Friendica\App\BaseURL;
 use Friendica\Core\System;
+use Friendica\DI;
 use PHPUnit\Framework\TestCase;
 
 class SystemTest extends TestCase
 {
-       private function assertGuid($guid, $length)
+       private function useBaseUrl()
        {
-               $this->assertRegExp("/^[a-z0-9]{" . $length . "}?$/", $guid);
+               $baseUrl = \Mockery::mock(BaseURL::class);
+               $baseUrl->shouldReceive('getHostname')->andReturn('friendica.local')->once();
+               $dice = \Mockery::mock(Dice::class);
+               $dice->shouldReceive('create')->with(BaseURL::class)->andReturn($baseUrl);
+
+               DI::init($dice);
+       }
+
+       private function assertGuid($guid, $length, $prefix = '')
+       {
+               $length -= strlen($prefix);
+               self::assertRegExp("/^" . $prefix . "[a-z0-9]{" . $length . "}?$/", $guid);
        }
 
-       function testGuidWithoutParameter()
+       public function testGuidWithoutParameter()
        {
+               $this->useBaseUrl();
                $guid = System::createGUID();
-               $this->assertGuid($guid, 16);
+               self::assertGuid($guid, 16);
        }
 
-       function testGuidWithSize() {
-               $guid = System::createGUID(20);
-               $this->assertGuid($guid, 20);
+       public function testGuidWithSize32()
+       {
+               $this->useBaseUrl();
+               $guid = System::createGUID(32);
+               self::assertGuid($guid, 32);
+       }
+
+       public function testGuidWithSize64()
+       {
+               $this->useBaseUrl();
+               $guid = System::createGUID(64);
+               self::assertGuid($guid, 64);
+       }
+
+       public function testGuidWithPrefix()
+       {
+               $guid = System::createGUID(23, 'test');
+               self::assertGuid($guid, 23, 'test');
        }
-}
\ No newline at end of file
+}