‪TYPO3CMS  ‪main
CacheManagerTest.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;
40 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
41 
42 final class ‪CacheManagerTest extends UnitTestCase
43 {
44  #[Test]
46  {
47  $this->expectException(DuplicateIdentifierException::class);
48  $this->expectExceptionCode(1203698223);
49 
50  $manager = new ‪CacheManager();
51  $cache1 = $this->getMockBuilder(AbstractFrontend::class)
52  ->onlyMethods(['getIdentifier', 'set', 'get', 'has', 'remove', 'flush', 'flushByTag'])
53  ->disableOriginalConstructor()
54  ->getMock();
55  $cache1->expects(self::atLeastOnce())->method('getIdentifier')->willReturn('test');
56  $cache2 = $this->getMockBuilder(AbstractFrontend::class)
57  ->onlyMethods(['getIdentifier', 'set', 'get', 'has', 'remove', 'flush', 'flushByTag'])
58  ->disableOriginalConstructor()
59  ->getMock();
60  $cache2->expects(self::atLeastOnce())->method('getIdentifier')->willReturn('test');
61  $manager->registerCache($cache1);
62  $manager->registerCache($cache2);
63  }
64 
65  #[Test]
67  {
68  $manager = new ‪CacheManager();
69  $cache1 = $this->getMockBuilder(AbstractFrontend::class)
70  ->onlyMethods(['getIdentifier', 'set', 'get', 'has', 'remove', 'flush', 'flushByTag'])
71  ->disableOriginalConstructor()
72  ->getMock();
73  $cache1->expects(self::atLeastOnce())->method('getIdentifier')->willReturn('cache1');
74  $cache2 = $this->getMockBuilder(AbstractFrontend::class)
75  ->onlyMethods(['getIdentifier', 'set', 'get', 'has', 'remove', 'flush', 'flushByTag'])
76  ->disableOriginalConstructor()
77  ->getMock();
78  $cache2->expects(self::atLeastOnce())->method('getIdentifier')->willReturn('cache2');
79  $manager->registerCache($cache1);
80  $manager->registerCache($cache2);
81  self::assertSame($cache2, $manager->getCache('cache2'), 'The cache returned by getCache() was not the same I registered.');
82  }
83 
84  #[Test]
86  {
87  $this->expectException(NoSuchCacheException::class);
88  $this->expectExceptionCode(1203699034);
89 
90  $manager = new ‪CacheManager();
91  $cache = $this->getMockBuilder(AbstractFrontend::class)
92  ->onlyMethods(['getIdentifier', 'set', 'get', 'has', 'remove', 'flush', 'flushByTag'])
93  ->disableOriginalConstructor()
94  ->getMock();
95  $cache->expects(self::atLeastOnce())->method('getIdentifier')->willReturn('someidentifier');
96  $manager->registerCache($cache);
97  $manager->getCache('someidentifier');
98  $manager->getCache('doesnotexist');
99  }
100 
101  #[Test]
102  public function ‪hasCacheReturnsCorrectResult(): void
103  {
104  $manager = new ‪CacheManager();
105  $cache1 = $this->getMockBuilder(AbstractFrontend::class)
106  ->onlyMethods(['getIdentifier', 'set', 'get', 'has', 'remove', 'flush', 'flushByTag'])
107  ->disableOriginalConstructor()
108  ->getMock();
109  $cache1->expects(self::atLeastOnce())->method('getIdentifier')->willReturn('cache1');
110  $manager->registerCache($cache1);
111  self::assertTrue($manager->hasCache('cache1'), 'hasCache() did not return TRUE.');
112  self::assertFalse($manager->hasCache('cache2'), 'hasCache() did not return FALSE.');
113  }
114 
115  #[Test]
117  {
118  $manager = new ‪CacheManager();
119  $cache1 = $this->getMockBuilder(AbstractFrontend::class)
120  ->onlyMethods(['getIdentifier', 'set', 'get', 'has', 'remove', 'flush', 'flushByTag'])
121  ->disableOriginalConstructor()
122  ->getMock();
123  $cache1->expects(self::atLeastOnce())->method('getIdentifier')->willReturn('cache1');
124  $cache1->expects(self::once())->method('flushByTag')->with(self::equalTo('theTag'));
125  $manager->registerCache($cache1);
126  $cache2 = $this->getMockBuilder(AbstractFrontend::class)
127  ->onlyMethods(['getIdentifier', 'set', 'get', 'has', 'remove', 'flush', 'flushByTag'])
128  ->disableOriginalConstructor()
129  ->getMock();
130  $cache2->expects(self::once())->method('flushByTag')->with(self::equalTo('theTag'));
131  $manager->registerCache($cache2);
132  $manager->flushCachesByTag('theTag');
133  }
134 
135  #[Test]
137  {
138  $manager = new ‪CacheManager();
139  $cache1 = $this->getMockBuilder(AbstractFrontend::class)
140  ->onlyMethods(['getIdentifier', 'set', 'get', 'has', 'remove', 'flush', 'flushByTags'])
141  ->disableOriginalConstructor()
142  ->getMock();
143  $cache1->expects(self::atLeastOnce())->method('getIdentifier')->willReturn('cache1');
144  $cache1->expects(self::once())->method('flushByTags')->with(self::equalTo(['theTag']));
145  $manager->registerCache($cache1);
146  $cache2 = $this->getMockBuilder(AbstractFrontend::class)
147  ->onlyMethods(['getIdentifier', 'set', 'get', 'has', 'remove', 'flush', 'flushByTags'])
148  ->disableOriginalConstructor()
149  ->getMock();
150  $cache2->expects(self::once())->method('flushByTags')->with(self::equalTo(['theTag']));
151  $manager->registerCache($cache2);
152  $manager->flushCachesByTags(['theTag']);
153  }
154 
155  #[Test]
157  {
158  $manager = new ‪CacheManager();
159  $cache1 = $this->getMockBuilder(AbstractFrontend::class)
160  ->onlyMethods(['getIdentifier', 'set', 'get', 'has', 'remove', 'flush', 'flushByTag'])
161  ->disableOriginalConstructor()
162  ->getMock();
163  $cache1->expects(self::atLeastOnce())->method('getIdentifier')->willReturn('cache1');
164  $cache1->expects(self::once())->method('flush');
165  $manager->registerCache($cache1);
166  $cache2 = $this->getMockBuilder(AbstractFrontend::class)
167  ->onlyMethods(['getIdentifier', 'set', 'get', 'has', 'remove', 'flush', 'flushByTag'])
168  ->disableOriginalConstructor()
169  ->getMock();
170  $cache2->expects(self::once())->method('flush');
171  $manager->registerCache($cache2);
172  $manager->flushCaches();
173  }
174 
175  #[Test]
177  {
178  $this->expectException(NoSuchCacheGroupException::class);
179  $this->expectExceptionCode(1390334120);
180 
181  $manager = new ‪CacheManager();
182  $manager->flushCachesInGroup('nonExistingGroup');
183  }
184 
185  #[Test]
187  {
188  $this->expectException(NoSuchCacheGroupException::class);
189  $this->expectExceptionCode(1390334120);
190 
191  $manager = new ‪CacheManager();
192  $manager->flushCachesInGroup('nonExistingGroup');
193  }
194 
195  #[Test]
197  {
198  $manager = new ‪CacheManager();
199  $cacheIdentifier = 'aCache';
200  $configuration = [
201  $cacheIdentifier => [
202  'frontend' => \stdClass::class,
203  'backend' => BackendFixture::class,
204  'options' => [],
205  ],
206  ];
207  $manager->setCacheConfigurations($configuration);
208  $this->expectException(InvalidCacheException::class);
209  $this->expectExceptionCode(1464550984);
210  $manager->getCache($cacheIdentifier);
211  }
212 
213  #[Test]
215  {
216  $manager = new ‪CacheManager();
217  $cacheIdentifier = 'aCache';
218  $configuration = [
219  $cacheIdentifier => [
220  'frontend' => FrontendFixture::class,
221  'backend' => \stdClass::class,
222  'options' => [],
223  ],
224  ];
225  $manager->setCacheConfigurations($configuration);
226  $this->expectException(InvalidBackendException::class);
227  $this->expectExceptionCode(1464550977);
228  $manager->getCache($cacheIdentifier);
229  }
230 
231  #[Test]
233  {
234  $manager = new ‪CacheManager();
235  $cacheIdentifier = 'aCache';
236  $configuration = [
237  $cacheIdentifier => [
238  'backend' => BackendFixture::class,
239  'frontend' => FrontendInitializeObjectFixture::class,
240  'options' => [],
241  ],
242  ];
243  $manager->setCacheConfigurations($configuration);
244  // BackendInitializeObjectFixture throws exception if initializeObject() is called, so expect this
245  $this->expectException(\RuntimeException::class);
246  $this->expectExceptionCode(1464553495);
247  $manager->getCache($cacheIdentifier);
248  }
249 
250  #[Test]
252  {
253  $manager = new ‪CacheManager();
254  $cacheIdentifier = 'aCache';
255  $configuration = [
256  $cacheIdentifier => [
257  'backend' => BackendInitializeObjectFixture::class,
258  'frontend' => FrontendFixture::class,
259  'options' => [],
260  ],
261  ];
262  $manager->setCacheConfigurations($configuration);
263  // BackendInitializeObjectFixture throws exception if initializeObject() is called, so expect this
264  $this->expectException(\RuntimeException::class);
265  $this->expectExceptionCode(1464552894);
266  $manager->getCache($cacheIdentifier);
267  }
268 
269  #[Test]
271  {
272  $manager = new ‪CacheManager();
273  $cacheIdentifier = 'aCache';
274  $configuration = [
275  $cacheIdentifier => [
276  'backend' => BackendConfigurationOptionFixture::class,
277  'frontend' => FrontendFixture::class,
278  'options' => [
279  'anOption' => 'anOptionValue',
280  ],
281  ],
282  ];
283  $manager->setCacheConfigurations($configuration);
284  // BackendConfigurationOptionFixture throws exception if initializeObject() is called, so expect this
285  $this->expectException(\RuntimeException::class);
286  $this->expectExceptionCode(1464555007);
287  $manager->getCache($cacheIdentifier);
288  }
289 
290  #[Test]
292  {
293  $manager = $this->getAccessibleMock(CacheManager::class, null, [], '', false);
294  $cacheIdentifier = ‪StringUtility::getUniqueId('Test');
295  $configuration = [
296  $cacheIdentifier => [
297  'backend' => BackendFixture::class,
298  'options' => [],
299  ],
300  ];
301  $defaultCacheConfiguration = [
302  'frontend' => FrontendDefaultFixture::class,
303  'options' => [],
304  'groups' => [],
305  ];
306  $manager->_set('defaultCacheConfiguration', $defaultCacheConfiguration);
307  $manager->setCacheConfigurations($configuration);
308  $this->expectException(\RuntimeException::class);
309  $this->expectExceptionCode(1476109149);
310  $manager->getCache($cacheIdentifier);
311  }
312 
313  #[Test]
315  {
316  $manager = $this->getAccessibleMock(CacheManager::class, null, [], '', false);
317  $cacheIdentifier = ‪StringUtility::getUniqueId('Test');
318  $configuration = [
319  $cacheIdentifier => [
320  'frontend' => FrontendFixture::class,
321  'options' => [],
322  ],
323  ];
324  $defaultCacheConfiguration = [
325  'backend' => BackendDefaultFixture::class,
326  'options' => [],
327  'groups' => [],
328  ];
329  $manager->_set('defaultCacheConfiguration', $defaultCacheConfiguration);
330  $manager->setCacheConfigurations($configuration);
331  $this->expectException(\RuntimeException::class);
332  $this->expectExceptionCode(1464556045);
333  $manager->getCache($cacheIdentifier);
334  }
335 
336  #[Test]
338  {
339  $manager = new ‪CacheManager();
340  $cacheIdentifier = 'aCache';
341  $configuration = [
342  $cacheIdentifier => [
343  'backend' => BackendFixture::class,
344  'frontend' => FrontendFixture::class,
345  'options' => [],
346  ],
347  ];
348  $manager->setCacheConfigurations($configuration);
349  self::assertInstanceOf(FrontendFixture::class, $manager->getCache($cacheIdentifier));
350  }
351 
352  #[Test]
354  {
355  $manager = new ‪CacheManager();
356  $cacheIdentifier = 'aCache';
357  $configuration = [
358  $cacheIdentifier => [
359  'backend' => BackendFixture::class,
360  'frontend' => FrontendIdentifierFixture::class,
361  'options' => [],
362  ],
363  ];
364  $manager->setCacheConfigurations($configuration);
365  $this->expectException(\RuntimeException::class);
366  $this->expectExceptionCode(1464555650);
367  $manager->getCache($cacheIdentifier);
368  }
369 
370  #[Test]
372  {
373  $manager = new ‪CacheManager();
374  $cacheIdentifier = 'aCache';
375  $configuration = [
376  $cacheIdentifier => [
377  'backend' => BackendFixture::class,
378  'frontend' => FrontendBackendInstanceFixture::class,
379  'options' => [],
380  ],
381  ];
382  $manager->setCacheConfigurations($configuration);
383  $this->expectException(\RuntimeException::class);
384  $this->expectExceptionCode(1464557160);
385  $manager->getCache($cacheIdentifier);
386  }
387 
388  #[Test]
390  {
391  $manager = $this->getAccessibleMock(CacheManager::class, null, [], '', false);
392  $cacheIdentifier = 'aTest';
393 
394  $cacheGroups = [
395  'group1' => [$cacheIdentifier],
396  'group2' => [$cacheIdentifier],
397  ];
398  $manager->_set('cacheGroups', $cacheGroups);
399 
400  $frontendMock = $this->createMock(FrontendFixture::class);
401 
402  $caches = [
403  $cacheIdentifier => $frontendMock,
404  ];
405  $manager->_set('caches', $caches);
406 
407  $frontendMock->expects(self::never())->method('flushByTags');
408 
409  $configuration = [
410  $cacheIdentifier => [
411  'frontend' => $frontendMock,
412  'backend' => BackendFixture::class,
413  'options' => [],
414  'groups' => ['group1', 'group2'],
415  ],
416  ];
417  $manager->setCacheConfigurations($configuration);
418  $manager->flushCachesInGroupByTags('group2', []);
419  }
420 
421  #[Test]
423  {
424  $manager = $this->getAccessibleMock(CacheManager::class, null, [], '', false);
425  $cacheIdentifier = 'aTest';
426 
427  $cacheGroups = [
428  'group1' => [$cacheIdentifier],
429  'group2' => [$cacheIdentifier],
430  ];
431  $manager->_set('cacheGroups', $cacheGroups);
432 
433  $frontendMock = $this->createMock(FrontendFixture::class);
434 
435  $caches = [
436  $cacheIdentifier => $frontendMock,
437  ];
438  $manager->_set('caches', $caches);
439 
440  $tags = ['tag1', 'tag2'];
441  $frontendMock->expects(self::once())->method('flushByTags')->with($tags);
442 
443  $configuration = [
444  $cacheIdentifier => [
445  'frontend' => $frontendMock,
446  'backend' => BackendFixture::class,
447  'options' => [],
448  'groups' => ['group1', 'group2'],
449  ],
450  ];
451  $manager->setCacheConfigurations($configuration);
452  $manager->flushCachesInGroupByTags('group2', $tags);
453  }
454 
455  #[Test]
457  {
458  $this->expectException(\InvalidArgumentException::class);
459  $this->expectExceptionCode(1596980032);
460 
461  $manager = $this->getAccessibleMock(CacheManager::class, null);
462  $manager->setCacheConfigurations([
463  '' => [
464  'frontend' => VariableFrontend::class,
465  'backend' => Typo3DatabaseBackend::class,
466  'options' => [
467  'compression' => true,
468  ],
469  'groups' => ['pages'],
470  ],
471  ]);
472  }
473 }
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\flushCachesCallsTheFlushMethodOfAllRegisteredCaches
‪flushCachesCallsTheFlushMethodOfAllRegisteredCaches()
Definition: CacheManagerTest.php:156
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\flushCachesByTagCallsTheFlushByTagMethodOfAllRegisteredCaches
‪flushCachesByTagCallsTheFlushByTagMethodOfAllRegisteredCaches()
Definition: CacheManagerTest.php:116
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\flushCachesInGroupByTagThrowsExceptionForNonExistingGroup
‪flushCachesInGroupByTagThrowsExceptionForNonExistingGroup()
Definition: CacheManagerTest.php:186
‪TYPO3\CMS\Core\Cache\Exception\InvalidBackendException
Definition: InvalidBackendException.php:23
‪TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures\FrontendFixture
Definition: FrontendFixture.php:23
‪TYPO3\CMS\Core\Cache\Backend\Typo3DatabaseBackend
Definition: Typo3DatabaseBackend.php:30
‪TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures\FrontendIdentifierFixture
Definition: FrontendIdentifierFixture.php:21
‪TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException
Definition: NoSuchCacheException.php:23
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\getCacheCreatesBackendWithGivenConfiguration
‪getCacheCreatesBackendWithGivenConfiguration()
Definition: CacheManagerTest.php:270
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\getCacheGivesBackendInstanceToCacheFrontend
‪getCacheGivesBackendInstanceToCacheFrontend()
Definition: CacheManagerTest.php:371
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\getCacheCallsInitializeObjectOnBackendInstance
‪getCacheCallsInitializeObjectOnBackendInstance()
Definition: CacheManagerTest.php:251
‪TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures\BackendConfigurationOptionFixture
Definition: BackendConfigurationOptionFixture.php:21
‪TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures\BackendFixture
Definition: BackendFixture.php:24
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\getCacheReturnsInstanceOfTheSpecifiedCacheFrontend
‪getCacheReturnsInstanceOfTheSpecifiedCacheFrontend()
Definition: CacheManagerTest.php:337
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\getCacheCallsInitializeObjectOnFrontendInstance
‪getCacheCallsInitializeObjectOnFrontendInstance()
Definition: CacheManagerTest.php:232
‪TYPO3\CMS\Core\Cache\Frontend\VariableFrontend
Definition: VariableFrontend.php:25
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\flushCachesInGroupThrowsExceptionForNonExistingGroup
‪flushCachesInGroupThrowsExceptionForNonExistingGroup()
Definition: CacheManagerTest.php:176
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\managerThrowsExceptionOnCacheRegistrationWithAlreadyExistingIdentifier
‪managerThrowsExceptionOnCacheRegistrationWithAlreadyExistingIdentifier()
Definition: CacheManagerTest.php:45
‪TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures\FrontendBackendInstanceFixture
Definition: FrontendBackendInstanceFixture.php:21
‪TYPO3\CMS\Core\Cache\CacheManager
Definition: CacheManager.php:36
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\getCacheCreatesCacheInstanceWithFallbackToDefaultBackend
‪getCacheCreatesCacheInstanceWithFallbackToDefaultBackend()
Definition: CacheManagerTest.php:314
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\getCacheThrowsExceptionIfConfiguredBackendDoesNotImplementBackendInterface
‪getCacheThrowsExceptionIfConfiguredBackendDoesNotImplementBackendInterface()
Definition: CacheManagerTest.php:214
‪TYPO3\CMS\Core\Cache\Exception\DuplicateIdentifierException
Definition: DuplicateIdentifierException.php:23
‪TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures\BackendInitializeObjectFixture
Definition: BackendInitializeObjectFixture.php:21
‪TYPO3\CMS\Core\Cache\Exception\InvalidCacheException
Definition: InvalidCacheException.php:23
‪TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures\BackendDefaultFixture
Definition: BackendDefaultFixture.php:21
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\managerReturnsThePreviouslyRegisteredCache
‪managerReturnsThePreviouslyRegisteredCache()
Definition: CacheManagerTest.php:66
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\flushCachesInGroupByTagsDeletesByTag
‪flushCachesInGroupByTagsDeletesByTag()
Definition: CacheManagerTest.php:422
‪TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures\FrontendInitializeObjectFixture
Definition: FrontendInitializeObjectFixture.php:21
‪TYPO3\CMS\Core\Tests\Unit\Cache
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest
Definition: CacheManagerTest.php:43
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\getCacheThrowsExceptionIfConfiguredFrontendDoesNotImplementFrontendInterface
‪getCacheThrowsExceptionIfConfiguredFrontendDoesNotImplementFrontendInterface()
Definition: CacheManagerTest.php:196
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\setCacheConfigurationsThrowsExceptionIfConfiguredCacheDoesNotHaveAnIdentifier
‪setCacheConfigurationsThrowsExceptionIfConfiguredCacheDoesNotHaveAnIdentifier()
Definition: CacheManagerTest.php:456
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\getCacheCreatesCacheInstanceWithFallbackToDefaultFrontend
‪getCacheCreatesCacheInstanceWithFallbackToDefaultFrontend()
Definition: CacheManagerTest.php:291
‪TYPO3\CMS\Core\Cache\Exception\NoSuchCacheGroupException
Definition: NoSuchCacheGroupException.php:23
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\flushCachesInGroupByTagsWithEmptyTagsArrayDoesNotFlushCaches
‪flushCachesInGroupByTagsWithEmptyTagsArrayDoesNotFlushCaches()
Definition: CacheManagerTest.php:389
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\getCacheThrowsExceptionForNonExistingIdentifier
‪getCacheThrowsExceptionForNonExistingIdentifier()
Definition: CacheManagerTest.php:85
‪TYPO3\CMS\Core\Utility\StringUtility
Definition: StringUtility.php:24
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\hasCacheReturnsCorrectResult
‪hasCacheReturnsCorrectResult()
Definition: CacheManagerTest.php:102
‪TYPO3\CMS\Core\Cache\Frontend\AbstractFrontend
Definition: AbstractFrontend.php:25
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\flushCachesByTagsCallsTheFlushByTagsMethodOfAllRegisteredCaches
‪flushCachesByTagsCallsTheFlushByTagsMethodOfAllRegisteredCaches()
Definition: CacheManagerTest.php:136
‪TYPO3\CMS\Core\Utility\StringUtility\getUniqueId
‪static getUniqueId(string $prefix='')
Definition: StringUtility.php:57
‪TYPO3\CMS\Core\Tests\Unit\Cache\CacheManagerTest\getCacheGivesIdentifierToCacheFrontend
‪getCacheGivesIdentifierToCacheFrontend()
Definition: CacheManagerTest.php:353
‪TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures\FrontendDefaultFixture
Definition: FrontendDefaultFixture.php:21