]> git.mxchange.org Git - friendica.git/blob - tests/src/Model/GServerTest.php
spelling: cached
[friendica.git] / tests / src / Model / GServerTest.php
1 <?php
2 /**
3  * @copyright Copyright (C) 2010-2023, the Friendica project
4  *
5  * @license GNU AGPL version 3 or any later version
6  *
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.
11  *
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.
16  *
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/>.
19  *
20  */
21
22 namespace Friendica\Test\src\Model;
23
24 use Friendica\Model\GServer;
25 use GuzzleHttp\Psr7\Uri;
26 use Psr\Http\Message\UriInterface;
27
28 class GServerTest extends \PHPUnit\Framework\TestCase
29 {
30         public function dataCleanUri(): array
31         {
32                 return [
33                         'full-monty' => [
34                                 'expected' => new Uri('https://example.com/path'),
35                                 'dirtyUri' => new Uri('https://user:password@example.com/path?query=string#fragment'),
36                         ],
37                         'index.php' => [
38                                 'expected' => new Uri('https://example.com'),
39                                 'dirtyUri' => new Uri('https://example.com/index.php'),
40                         ],
41                         'index.php-2' => [
42                                 'expected' => new Uri('https://example.com/path/to/resource'),
43                                 'dirtyUri' => new Uri('https://example.com/index.php/path/to/resource'),
44                         ],
45                         'index.php-path' => [
46                                 'expected' => new Uri('https://example.com/path/to'),
47                                 'dirtyUri' => new Uri('https://example.com/path/to/index.php'),
48                         ],
49                         'index.php-path-2' => [
50                                 'expected' => new Uri('https://example.com/path/to/path/to/resource'),
51                                 'dirtyUri' => new Uri('https://example.com/path/to/index.php/path/to/resource'),
52                         ],
53                         'index.php-slash' => [
54                                 'expected' => new Uri('https://example.com'),
55                                 'dirtyUri' => new Uri('https://example.com/index.php/'),
56                         ],
57                         'index.php-slash-2' => [
58                                 'expected' => new Uri('https://example.com/path/to/resource'),
59                                 'dirtyUri' => new Uri('https://example.com/index.php/path/to/resource/'),
60                         ],
61                 ];
62         }
63
64         /**
65          * @dataProvider dataCleanUri
66          *
67          * @param UriInterface $expected
68          * @param UriInterface $dirtyUri
69          * @return void
70          * @throws \Exception
71          */
72         public function testCleanUri(UriInterface $expected, UriInterface $dirtyUri)
73         {
74                 $this->assertEquals($expected, GServer::cleanUri($dirtyUri));
75         }
76 }