3 * @copyright Copyright (C) 2010-2021, the Friendica project
5 * @license GNU AGPL version 3 or any later version
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Affero General Public License as
9 * published by the Free Software Foundation, either version 3 of the
10 * License, or (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU Affero General Public License for more details.
17 * You should have received a copy of the GNU Affero General Public License
18 * along with this program. If not, see <https://www.gnu.org/licenses/>.
22 namespace Friendica\Test\src\Core;
25 use Friendica\App\BaseURL;
26 use Friendica\Core\System;
28 use PHPUnit\Framework\TestCase;
30 class SystemTest extends TestCase
32 private function useBaseUrl()
34 $baseUrl = \Mockery::mock(BaseURL::class);
35 $baseUrl->shouldReceive('getHostname')->andReturn('friendica.local')->once();
36 $dice = \Mockery::mock(Dice::class);
37 $dice->shouldReceive('create')->with(BaseURL::class)->andReturn($baseUrl);
42 private function assertGuid($guid, $length, $prefix = '')
44 $length -= strlen($prefix);
45 self::assertRegExp("/^" . $prefix . "[a-z0-9]{" . $length . "}?$/", $guid);
48 public function testGuidWithoutParameter()
51 $guid = System::createGUID();
52 self::assertGuid($guid, 16);
55 public function testGuidWithSize32()
58 $guid = System::createGUID(32);
59 self::assertGuid($guid, 32);
62 public function testGuidWithSize64()
65 $guid = System::createGUID(64);
66 self::assertGuid($guid, 64);
69 public function testGuidWithPrefix()
71 $guid = System::createGUID(23, 'test');
72 self::assertGuid($guid, 23, 'test');