‪TYPO3CMS  ‪main
DriverRegistryTest.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\Test;
21 use TYPO3\CMS\Core\Resource\Driver\DriverInterface;
25 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
26 
27 final class ‪DriverRegistryTest extends UnitTestCase
28 {
29  #[Test]
31  {
32  $className = get_class($this->createMock(DriverInterface::class));
33  $subject = new ‪DriverRegistry();
34  $subject->registerDriverClass($className, 'foobar');
35  $returnedClassName = $subject->getDriverClass('foobar');
36  self::assertEquals($className, $returnedClassName);
37  }
38 
39  #[Test]
41  {
42  $this->expectException(\InvalidArgumentException::class);
43  $this->expectExceptionCode(1314979197);
44  $subject = new ‪DriverRegistry();
45  $subject->registerDriverClass(‪StringUtility::getUniqueId('class_'));
46  }
47 
48  #[Test]
50  {
51  $this->expectException(\InvalidArgumentException::class);
52  $this->expectExceptionCode(1314979451);
53  $className = get_class($this->createMock(DriverInterface::class));
54  $className2 = TestingDriver::class;
55  $subject = new ‪DriverRegistry();
56  $subject->registerDriverClass($className, 'foobar');
57  $subject->registerDriverClass($className2, 'foobar');
58  }
59 
60  #[Test]
62  {
63  $this->expectException(\InvalidArgumentException::class);
64  $this->expectExceptionCode(1314085990);
65  $subject = new ‪DriverRegistry();
66  $subject->getDriverClass(‪StringUtility::getUniqueId('class_'));
67  }
68 
69  #[Test]
71  {
72  $className = get_class($this->createMock(DriverInterface::class));
73  $subject = new ‪DriverRegistry();
74  $subject->registerDriverClass($className, 'foobar');
75  self::assertEquals($className, $subject->getDriverClass($className));
76  }
77 
78  #[Test]
80  {
81  $className = get_class($this->createMock(DriverInterface::class));
82  $shortName = ‪StringUtility::getUniqueId('class_');
83  ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['fal']['registeredDrivers'] = [
84  $shortName => [
85  'class' => $className,
86  ],
87  ];
88  $subject = new ‪DriverRegistry();
89  self::assertEquals($className, $subject->getDriverClass($shortName));
90  }
91 
92  #[Test]
94  {
95  $className = get_class($this->createMock(DriverInterface::class));
96  $shortName = ‪StringUtility::getUniqueId('class_');
97  ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['fal']['registeredDrivers'] = [
98  $shortName => [
99  'class' => $className,
100  ],
101  ];
102  $subject = new ‪DriverRegistry();
103  self::assertTrue($subject->driverExists($shortName));
104  self::assertFalse($subject->driverExists(‪StringUtility::getUniqueId('class')));
105  }
106 
107  #[Test]
109  {
110  ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['fal']['registeredDrivers'] = [];
111  $subject = new ‪DriverRegistry();
112  self::assertFalse($subject->driverExists(‪StringUtility::getUniqueId('class_')));
113  }
114 }
‪TYPO3\CMS\Core\Tests\Unit\Resource\Driver\DriverRegistryTest\driverExistsReturnsTrueForAllExistingDrivers
‪driverExistsReturnsTrueForAllExistingDrivers()
Definition: DriverRegistryTest.php:93
‪TYPO3\CMS\Core\Tests\Unit\Resource\Driver\DriverRegistryTest\driverRegistryIsInitializedWithPreconfiguredDrivers
‪driverRegistryIsInitializedWithPreconfiguredDrivers()
Definition: DriverRegistryTest.php:79
‪TYPO3\CMS\Core\Tests\Unit\Resource\Driver\DriverRegistryTest\registeredDriverClassesCanBeRetrieved
‪registeredDriverClassesCanBeRetrieved()
Definition: DriverRegistryTest.php:30
‪TYPO3\CMS\Core\Tests\Unit\Resource\Driver\DriverRegistryTest\registerDriverClassThrowsExceptionIfShortnameIsAlreadyTakenByAnotherDriverClass
‪registerDriverClassThrowsExceptionIfShortnameIsAlreadyTakenByAnotherDriverClass()
Definition: DriverRegistryTest.php:49
‪TYPO3\CMS\Core\Tests\Unit\Resource\Driver\DriverRegistryTest\getDriverClassThrowsExceptionIfClassIsNotRegistered
‪getDriverClassThrowsExceptionIfClassIsNotRegistered()
Definition: DriverRegistryTest.php:61
‪TYPO3\CMS\Core\Tests\Unit\Resource\Driver
Definition: AbstractDriverTest.php:18
‪TYPO3\CMS\Core\Tests\Unit\Resource\Driver\DriverRegistryTest
Definition: DriverRegistryTest.php:28
‪TYPO3\CMS\Core\Tests\Unit\Resource\Driver\Fixtures\TestingDriver
Definition: TestingDriver.php:27
‪TYPO3\CMS\Core\Resource\Driver\DriverRegistry
Definition: DriverRegistry.php:24
‪TYPO3\CMS\Core\Tests\Unit\Resource\Driver\DriverRegistryTest\registerDriverClassThrowsExceptionIfClassDoesNotExist
‪registerDriverClassThrowsExceptionIfClassDoesNotExist()
Definition: DriverRegistryTest.php:40
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Core\Tests\Unit\Resource\Driver\DriverRegistryTest\getDriverClassAcceptsClassNameIfClassIsRegistered
‪getDriverClassAcceptsClassNameIfClassIsRegistered()
Definition: DriverRegistryTest.php:70
‪TYPO3\CMS\Core\Utility\StringUtility
Definition: StringUtility.php:24
‪TYPO3\CMS\Core\Tests\Unit\Resource\Driver\DriverRegistryTest\driverExistsReturnsFalseIfDriverDoesNotExist
‪driverExistsReturnsFalseIfDriverDoesNotExist()
Definition: DriverRegistryTest.php:108
‪TYPO3\CMS\Core\Utility\StringUtility\getUniqueId
‪static getUniqueId(string $prefix='')
Definition: StringUtility.php:57