‪TYPO3CMS  ‪main
PageRepositoryTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use PHPUnit\Framework\MockObject\MockObject;
26 use TYPO3\TestingFramework\Core\AccessibleObjectInterface;
27 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
28 
29 final class ‪PageRepositoryTest extends UnitTestCase
30 {
31  protected ‪PageRepository&MockObject&AccessibleObjectInterface ‪$pageSelectObject;
32 
33  protected array ‪$defaultTcaForPages = [
34  'ctrl' => [
35  'label' => 'title',
36  'tstamp' => 'tstamp',
37  'sortby' => 'sorting',
38  'type' => 'doktype',
39  'versioningWS' => true,
40  'origUid' => 't3_origuid',
41  'delete' => 'deleted',
42  'enablecolumns' => [
43  'disabled' => 'hidden',
44  'starttime' => 'starttime',
45  'endtime' => 'endtime',
46  'fe_group' => 'fe_group',
47  ],
48  ],
49  'columns' => [],
50  ];
51 
55  protected function ‪setUp(): void
56  {
57  parent::setUp();
58  $this->pageSelectObject = $this->getAccessibleMock(PageRepository::class, ['getMultipleGroupsWhereClause'], [], '', false);
59  $this->pageSelectObject->_set('context', new ‪Context());
60  $this->pageSelectObject->method('getMultipleGroupsWhereClause')->willReturn(' AND 1=1');
61  }
62 
64  // Tests concerning getExtURL
66 
70  {
71  self::assertEquals('http://www.example.com', $this->pageSelectObject->getExtURL([
73  'url' => 'http://www.example.com',
74  ]));
75  }
76 
81  {
82  $request = (new ‪ServerRequest('https://foo.de', 'GET'))
83  ->withAttribute('applicationType', ‪SystemEnvironmentBuilder::REQUESTTYPE_FE);
84  $normalizedParams = ‪NormalizedParams::createFromRequest($request);
85  $request = $request->withAttribute('normalizedParams', $normalizedParams);
86  ‪$GLOBALS['TYPO3_REQUEST'] = $request;
87  self::assertEquals($request->getAttribute('normalizedParams')->getSiteUrl() . 'hello/world/', $this->pageSelectObject->getExtURL([
89  'url' => 'hello/world/',
90  ]));
91  unset(‪$GLOBALS['TYPO3_REQUEST']);
92  }
93 
98  {
99  self::assertEquals('/hello/world/', $this->pageSelectObject->getExtURL([
100  'doktype' => ‪PageRepository::DOKTYPE_LINK,
101  'url' => '/hello/world/',
102  ]));
103  }
104 
109  {
110  self::assertEquals('mailto:mail@typo3-test.com', $this->pageSelectObject->getExtURL([
111  'doktype' => ‪PageRepository::DOKTYPE_LINK,
112  'url' => 'mailto:mail@typo3-test.com',
113  ]));
114  }
115 
120  {
121  self::assertEquals('mailto:mail@typo3-test.com', $this->pageSelectObject->getExtURL([
122  'doktype' => ‪PageRepository::DOKTYPE_LINK,
123  'url' => 'mail@typo3-test.com',
124  ]));
125  }
126 }
‪TYPO3\CMS\Core\Tests\UnitDeprecated\Domain\Repository\PageRepositoryTest\getExtUrlForDokType3PrependsSiteUrl
‪getExtUrlForDokType3PrependsSiteUrl()
Definition: PageRepositoryTest.php:80
‪TYPO3\CMS\Core\Tests\UnitDeprecated\Domain\Repository\PageRepositoryTest\setUp
‪setUp()
Definition: PageRepositoryTest.php:55
‪TYPO3\CMS\Core\Tests\UnitDeprecated\Domain\Repository\PageRepositoryTest\$defaultTcaForPages
‪array $defaultTcaForPages
Definition: PageRepositoryTest.php:33
‪TYPO3\CMS\Core\Tests\UnitDeprecated\Domain\Repository\PageRepositoryTest
Definition: PageRepositoryTest.php:30
‪TYPO3\CMS\Core\Core\SystemEnvironmentBuilder
Definition: SystemEnvironmentBuilder.php:41
‪TYPO3\CMS\Core\Tests\UnitDeprecated\Domain\Repository\PageRepositoryTest\getExtUrlForDokType3AssumesAbsoluteUrl
‪getExtUrlForDokType3AssumesAbsoluteUrl()
Definition: PageRepositoryTest.php:97
‪TYPO3\CMS\Core\Domain\Repository\PageRepository\DOKTYPE_LINK
‪const DOKTYPE_LINK
Definition: PageRepository.php:127
‪TYPO3\CMS\Core\Tests\UnitDeprecated\Domain\Repository\PageRepositoryTest\getExtUrlForDokType3UsesValidEmailWithoutProtocolAsEmail
‪getExtUrlForDokType3UsesValidEmailWithoutProtocolAsEmail()
Definition: PageRepositoryTest.php:119
‪TYPO3\CMS\Core\Context\Context
Definition: Context.php:55
‪TYPO3\CMS\Core\Tests\UnitDeprecated\Domain\Repository\PageRepositoryTest\getExtUrlForDokType3UsesTheSameValue
‪getExtUrlForDokType3UsesTheSameValue()
Definition: PageRepositoryTest.php:69
‪TYPO3\CMS\Core\Tests\UnitDeprecated\Domain\Repository
Definition: PageRepositoryTest.php:18
‪TYPO3\CMS\Core\Http\ServerRequest
Definition: ServerRequest.php:37
‪TYPO3\CMS\Core\Tests\UnitDeprecated\Domain\Repository\PageRepositoryTest\getExtUrlForDokType3UsesEmailAsSameValue
‪getExtUrlForDokType3UsesEmailAsSameValue()
Definition: PageRepositoryTest.php:108
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Core\Tests\UnitDeprecated\Domain\Repository\PageRepositoryTest\$pageSelectObject
‪PageRepository &MockObject &AccessibleObjectInterface $pageSelectObject
Definition: PageRepositoryTest.php:31
‪TYPO3\CMS\Core\Domain\Repository\PageRepository
Definition: PageRepository.php:63
‪TYPO3\CMS\Core\Core\SystemEnvironmentBuilder\REQUESTTYPE_FE
‪const REQUESTTYPE_FE
Definition: SystemEnvironmentBuilder.php:43
‪TYPO3\CMS\Core\Http\NormalizedParams\createFromRequest
‪static static createFromRequest(ServerRequestInterface $request, array $systemConfiguration=null)
Definition: NormalizedParams.php:840
‪TYPO3\CMS\Core\Http\NormalizedParams
Definition: NormalizedParams.php:38