‪TYPO3CMS  ‪main
ScopeTest.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\Attributes\DataProvider;
21 use PHPUnit\Framework\Attributes\Test;
27 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
28 
29 final class ‪ScopeTest extends UnitTestCase
30 {
31  protected function ‪tearDown(): void
32  {
33  parent::tearDown();
35  }
36 
37  #[Test]
38  public function ‪backendSingletonIsCreated(): void
39  {
40  $scope = ‪Scope::backend();
41  self::assertSame($scope, ‪Scope::backend());
42  }
43 
44  #[Test]
45  public function ‪frontendSingletonIsCreated(): void
46  {
47  $scope = ‪Scope::frontend();
48  self::assertSame($scope, ‪Scope::frontend());
49  }
50 
51  #[Test]
52  public function ‪frontendSiteIsCreated(): void
53  {
54  $site = new ‪Site('my-site', 1, []);
55  $scope = ‪Scope::frontendSite($site);
56  self::assertSame($scope, ‪Scope::frontendSite($site));
57  }
58 
59  public static function ‪frontendSingletonIsUsedForInvalidSiteDataProvider(): \Generator
60  {
61  yield [null];
62  yield [new ‪NullSite()];
63  }
64 
65  #[DataProvider('frontendSingletonIsUsedForInvalidSiteDataProvider')]
66  #[Test]
68  {
69  self::assertSame(‪Scope::frontend(), ‪Scope::frontendSite($site));
70  }
71 
72  #[Test]
74  {
75  $scope = ‪Scope::frontendSiteIdentifier('my-site');
76  self::assertSame($scope, ‪Scope::frontendSiteIdentifier('my-site'));
77  }
78 
79  #[Test]
80  public function ‪scopeIsCreatedFromString(): void
81  {
82  self::assertSame(
84  ‪Scope::from(ApplicationType::FRONTEND->value)
85  );
86  self::assertSame(
88  ‪Scope::from(ApplicationType::BACKEND->value)
89  );
90  self::assertSame(
92  ‪Scope::from(ApplicationType::FRONTEND->value . '.my-site')
93  );
94  }
95 }
‪TYPO3\CMS\Core\Site\Entity\SiteInterface
Definition: SiteInterface.php:26
‪TYPO3\CMS\Core\Security\ContentSecurityPolicy\Scope\backend
‪static backend()
Definition: Scope.php:41
‪TYPO3\CMS\Core\Tests\Unit\Security\ContentSecurityPolicy\ScopeTest\frontendSiteIdentifierSingletonIsCreated
‪frontendSiteIdentifierSingletonIsCreated()
Definition: ScopeTest.php:73
‪TYPO3\CMS\Core\Tests\Unit\Security\ContentSecurityPolicy\ScopeTest\scopeIsCreatedFromString
‪scopeIsCreatedFromString()
Definition: ScopeTest.php:80
‪TYPO3\CMS\Core\Site\Entity\NullSite
Definition: NullSite.php:32
‪TYPO3\CMS\Core\Tests\Unit\Security\ContentSecurityPolicy\ScopeTest\frontendSingletonIsUsedForInvalidSite
‪frontendSingletonIsUsedForInvalidSite(?SiteInterface $site)
Definition: ScopeTest.php:67
‪TYPO3\CMS\Core\Tests\Unit\Security\ContentSecurityPolicy\ScopeTest\frontendSingletonIsUsedForInvalidSiteDataProvider
‪static frontendSingletonIsUsedForInvalidSiteDataProvider()
Definition: ScopeTest.php:59
‪TYPO3\CMS\Core\Tests\Unit\Security\ContentSecurityPolicy
Definition: ConsumableNonceTest.php:18
‪TYPO3\CMS\Core\Tests\Unit\Security\ContentSecurityPolicy\ScopeTest\tearDown
‪tearDown()
Definition: ScopeTest.php:31
‪TYPO3\CMS\Core\Site\Entity\Site
Definition: Site.php:42
‪TYPO3\CMS\Core\Security\ContentSecurityPolicy\Scope\frontend
‪static frontend()
Definition: Scope.php:46
‪TYPO3\CMS\Core\Security\ContentSecurityPolicy\Scope\reset
‪static reset()
Definition: Scope.php:83
‪TYPO3\CMS\Core\Security\ContentSecurityPolicy\Scope
Definition: Scope.php:30
‪TYPO3\CMS\Core\Security\ContentSecurityPolicy\Scope\frontendSite
‪static frontendSite(?SiteInterface $site)
Definition: Scope.php:54
‪TYPO3\CMS\Core\Security\ContentSecurityPolicy\Scope\frontendSiteIdentifier
‪static frontendSiteIdentifier(string $siteIdentifier)
Definition: Scope.php:64
‪TYPO3\CMS\Core\Tests\Unit\Security\ContentSecurityPolicy\ScopeTest\frontendSiteIsCreated
‪frontendSiteIsCreated()
Definition: ScopeTest.php:52
‪TYPO3\CMS\Core\Tests\Unit\Security\ContentSecurityPolicy\ScopeTest
Definition: ScopeTest.php:30
‪TYPO3\CMS\Core\Tests\Unit\Security\ContentSecurityPolicy\ScopeTest\backendSingletonIsCreated
‪backendSingletonIsCreated()
Definition: ScopeTest.php:38
‪TYPO3\CMS\Core\Security\ContentSecurityPolicy\Scope\from
‪static from(string $value)
Definition: Scope.php:69
‪TYPO3\CMS\Core\Http\ApplicationType
‪ApplicationType
Definition: ApplicationType.php:55
‪TYPO3\CMS\Core\Tests\Unit\Security\ContentSecurityPolicy\ScopeTest\frontendSingletonIsCreated
‪frontendSingletonIsCreated()
Definition: ScopeTest.php:45