17 use \org\bovigo\vfs\vfsStreamDirectory;
18 use \org\bovigo\vfs\vfsStreamWrapper;
37 if (!class_exists(
'org\\bovigo\\vfs\\vfsStreamWrapper')) {
38 $this->markTestSkipped(
'File backend tests are not available with this phpunit version.');
41 vfsStreamWrapper::register();
42 vfsStreamWrapper::setRoot(
new vfsStreamDirectory(
'Foo'));
50 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
52 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
53 $backend->setCacheDirectory(
'http://localhost/');
62 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
63 $mockCache->expects($this->any())->method(
'getIdentifier')->will($this->returnValue(
'SomeCache'));
65 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
66 $backend->setCacheDirectory(
'vfs://Foo/');
69 $this->assertEquals(
'vfs://Foo/Cache/Data/SomeCache/',
$backend->getCacheDirectory());
76 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\PhpFrontend', array(), array(),
'', FALSE);
77 $mockCache->expects($this->any())->method(
'getIdentifier')->will($this->returnValue(
'SomeCache'));
79 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
80 $backend->setCacheDirectory(
'vfs://Foo/');
83 $this->assertEquals(
'vfs://Foo/Cache/Code/SomeCache/',
$backend->getCacheDirectory());
91 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
93 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
94 $backend->setCacheDirectory(
'vfs://Foo/');
97 $backend->set(
'some identifier', array(
'not a string'));
104 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
105 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
107 $data =
'some data' . microtime();
108 $entryIdentifier =
'BackendFileTest';
109 $pathAndFilename =
'vfs://Foo/Cache/Data/UnitTestCache/' . $entryIdentifier;
111 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
112 $backend->setCacheDirectory(
'vfs://Foo/');
115 $backend->set($entryIdentifier, $data);
117 $this->assertFileExists($pathAndFilename);
118 $retrievedData = file_get_contents($pathAndFilename, NULL, NULL, 0, strlen($data));
119 $this->assertEquals($data, $retrievedData);
126 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
127 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
129 $data1 =
'some data' . microtime();
130 $data2 =
'some data' . microtime();
131 $entryIdentifier =
'BackendFileRemoveBeforeSetTest';
133 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
134 $backend->setCacheDirectory(
'vfs://Foo/');
137 $backend->set($entryIdentifier, $data1, array(), 500);
138 $backend->set($entryIdentifier, $data2, array(), 200);
140 $pathAndFilename =
'vfs://Foo/Cache/Data/UnitTestCache/' . $entryIdentifier;
141 $this->assertFileExists($pathAndFilename);
142 $retrievedData = file_get_contents($pathAndFilename, NULL, NULL, 0, strlen($data2));
143 $this->assertEquals($data2, $retrievedData);
150 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
151 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
153 $data =
'some data' . microtime();
154 $entryIdentifier =
'BackendFileRemoveBeforeSetTest';
156 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
157 $backend->setCacheDirectory(
'vfs://Foo/');
160 $backend->set($entryIdentifier, $data, array(
'Tag1',
'Tag2'));
162 $pathAndFilename =
'vfs://Foo/Cache/Data/UnitTestCache/' . $entryIdentifier;
163 $this->assertFileExists($pathAndFilename);
164 $retrievedData = file_get_contents($pathAndFilename, NULL, NULL, (strlen($data) + \
TYPO3\CMS\Core\Cache\Backend\FileBackend::EXPIRYTIME_LENGTH), 9);
165 $this->assertEquals(
'Tag1 Tag2', $retrievedData);
172 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
173 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
175 $data =
'some data' . microtime();
176 $entryIdentifier =
'BackendFileTest';
178 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
179 $backend->setCacheDirectory(
'vfs://Foo/');
182 $backend->set($entryIdentifier, $data, array(
'Tag1',
'Tag2'));
188 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
189 $backend->setCacheDirectory(
'vfs://Foo/');
192 $this->assertTrue(
$backend->isFrozen());
193 $this->assertEquals($data,
$backend->get($entryIdentifier));
200 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
201 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
203 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'setTag'), array(),
'', FALSE);
204 $backend->setCacheDirectory(
'vfs://Foo/');
207 $entryIdentifier =
'BackendFileTest';
209 $data =
'some data' . microtime();
210 $backend->set($entryIdentifier, $data, array(), 500);
212 $data =
'some other data' . microtime();
213 $backend->set($entryIdentifier, $data, array(), 100);
215 $loadedData =
$backend->get($entryIdentifier);
216 $this->assertEquals($data, $loadedData);
223 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
224 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
226 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'isCacheFileExpired'), array(),
'', FALSE);
227 $backend->expects($this->once())->method(
'isCacheFileExpired')->with(
'vfs://Foo/Cache/Data/UnitTestCache/ExpiredEntry')->will($this->returnValue(TRUE));
228 $backend->setCacheDirectory(
'vfs://Foo/');
231 $this->assertFalse(
$backend->get(
'ExpiredEntry'));
238 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
239 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
241 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'isCacheFileExpired'), array(),
'', FALSE);
242 $backend->setCacheDirectory(
'vfs://Foo/');
245 $backend->expects($this->once())->method(
'isCacheFileExpired');
249 $this->assertEquals(
'some data',
$backend->get(
'foo'));
250 $this->assertFalse(
$backend->get(
'bar'));
257 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
258 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
260 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
261 $backend->setCacheDirectory(
'vfs://Foo/');
264 $entryIdentifier =
'BackendFileTest';
266 $data =
'some data' . microtime();
267 $backend->set($entryIdentifier, $data);
269 $this->assertTrue(
$backend->has($entryIdentifier),
'has() did not return TRUE.');
270 $this->assertFalse(
$backend->has($entryIdentifier .
'Not'),
'has() did not return FALSE.');
277 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'isCacheFileExpired'), array(),
'', FALSE);
278 $backend->expects($this->exactly(2))->method(
'isCacheFileExpired')->will($this->onConsecutiveCalls(TRUE, FALSE));
280 $this->assertFalse(
$backend->has(
'foo'));
281 $this->assertTrue(
$backend->has(
'bar'));
288 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
289 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
291 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'isCacheFileExpired'), array(),
'', FALSE);
292 $backend->setCacheDirectory(
'vfs://Foo/');
295 $backend->expects($this->once())->method(
'isCacheFileExpired');
299 $this->assertTrue(
$backend->has(
'foo'));
300 $this->assertFalse(
$backend->has(
'bar'));
307 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
308 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
310 $data =
'some data' . microtime();
311 $entryIdentifier =
'BackendFileTest';
312 $pathAndFilename =
'vfs://Foo/Cache/Data/UnitTestCache/' . $entryIdentifier;
314 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
315 $backend->setCacheDirectory(
'vfs://Foo/');
318 $backend->set($entryIdentifier, $data);
319 $this->assertFileExists($pathAndFilename);
322 $this->assertFileNotExists($pathAndFilename);
329 'trailing slash' => array(
'/myIdentifer'),
330 'trailing dot and slash' => array(
'./myIdentifer'),
331 'trailing two dots and slash' => array(
'../myIdentifier'),
332 'trailing with multiple dots and slashes' => array(
'.././../myIdentifier'),
333 'slash in middle part' => array(
'my/Identifier'),
334 'dot and slash in middle part' => array(
'my./Identifier'),
335 'two dots and slash in middle part' => array(
'my../Identifier'),
336 'multiple dots and slashes in middle part' => array(
'my.././../Identifier'),
337 'pending slash' => array(
'myIdentifier/'),
338 'pending dot and slash' => array(
'myIdentifier./'),
339 'pending dots and slash' => array(
'myIdentifier../'),
340 'pending multiple dots and slashes' => array(
'myIdentifier.././../'),
350 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
351 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
353 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(
'test'),
'', TRUE);
354 $backend->setCacheDirectory(
'vfs://Foo/');
357 $backend->set($identifier,
'cache data', array());
366 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
367 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
369 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
370 $backend->setCacheDirectory(
'vfs://Foo/');
380 $backend = $this->
getAccessibleMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'',
false);
381 $backend->_set(
'cacheIdentifier',
'test');
382 $backend->setCacheDirectory(
'/tmp/foo');
383 $this->assertEquals(
'/tmp/foo/test/',
$backend->_get(
'temporaryCacheDirectory'));
390 $backend = $this->
getAccessibleMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'',
false);
391 $backend->_set(
'cacheIdentifier',
'test');
392 $backend->setCacheDirectory(
'/tmp/foo/');
393 $this->assertEquals(
'/tmp/foo/test/',
$backend->_get(
'temporaryCacheDirectory'));
400 $backend = $this->
getAccessibleMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'',
false);
401 $backend->_set(
'cacheIdentifier',
'test');
402 $backend->setCacheDirectory(
'tmp/foo');
405 $this->assertEquals($path .
'/tmp/foo/test/',
$backend->_get(
'temporaryCacheDirectory'));
412 $backend = $this->
getAccessibleMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'',
false);
413 $backend->_set(
'cacheIdentifier',
'test');
414 $backend->setCacheDirectory(
'tmp/foo/');
417 $this->assertEquals($path .
'/tmp/foo/test/',
$backend->_get(
'temporaryCacheDirectory'));
424 $backend = $this->
getAccessibleMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'',
false);
425 $backend->_set(
'cacheIdentifier',
'test');
426 $backend->setCacheDirectory(
'../tmp/foo');
429 $this->assertEquals($path .
'/../tmp/foo/test/',
$backend->_get(
'temporaryCacheDirectory'));
436 $backend = $this->
getAccessibleMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'',
false);
437 $backend->_set(
'cacheIdentifier',
'test');
438 $backend->setCacheDirectory(
'../tmp/foo/');
441 $this->assertEquals($path .
'/../tmp/foo/test/',
$backend->_get(
'temporaryCacheDirectory'));
448 $backend = $this->
getAccessibleMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'',
false);
449 $backend->_set(
'cacheIdentifier',
'test');
450 $backend->setCacheDirectory(
'/tmp/../foo');
451 $this->assertEquals(
'/tmp/../foo/test/',
$backend->_get(
'temporaryCacheDirectory'));
458 $backend = $this->
getAccessibleMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'',
false);
459 $backend->_set(
'cacheIdentifier',
'test');
460 $backend->setCacheDirectory(
'/tmp/../foo/');
461 $this->assertEquals(
'/tmp/../foo/test/',
$backend->_get(
'temporaryCacheDirectory'));
471 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
482 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
483 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
485 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
486 $backend->setCacheDirectory(
'vfs://Foo/');
498 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
499 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
501 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
502 $backend->setCacheDirectory(
'vfs://Foo/');
512 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
513 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
515 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
516 $backend->setCacheDirectory(
'vfs://Foo/');
519 $entryIdentifier =
'SomePhpEntry';
521 $data =
'<?php return "foo"; ?>';
522 $backend->set($entryIdentifier, $data);
524 $loadedData =
$backend->requireOnce($entryIdentifier);
525 $this->assertEquals(
'foo', $loadedData);
532 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
533 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
535 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'isCacheFileExpired'), array(),
'', FALSE);
536 $backend->setCacheDirectory(
'vfs://Foo/');
539 $backend->expects($this->once())->method(
'isCacheFileExpired');
541 $data =
'<?php return "foo"; ?>';
546 $loadedData =
$backend->requireOnce(
'FooEntry');
547 $this->assertEquals(
'foo', $loadedData);
554 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
555 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
557 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
558 $backend->setCacheDirectory(
'vfs://Foo/');
561 $data =
'some data' . microtime();
562 $backend->set(
'BackendFileTest1', $data, array(
'UnitTestTag%test',
'UnitTestTag%boring'));
563 $backend->set(
'BackendFileTest2', $data, array(
'UnitTestTag%test',
'UnitTestTag%special'));
564 $backend->set(
'BackendFileTest3', $data, array(
'UnitTestTag%test'));
566 $expectedEntry =
'BackendFileTest2';
568 $actualEntries =
$backend->findIdentifiersByTag(
'UnitTestTag%special');
569 $this->assertInternalType(
'array', $actualEntries);
570 $this->assertEquals($expectedEntry, array_pop($actualEntries));
577 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
578 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
580 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
581 $backend->setCacheDirectory(
'vfs://Foo/');
585 $backend->set(
'BackendFileTest1', $data, array(
'UnitTestTag%test',
'UnitTestTag%boring'));
586 $backend->set(
'BackendFileTest2', $data, array(
'UnitTestTag%test',
'UnitTestTag%special'), -100);
587 $backend->set(
'BackendFileTest3', $data, array(
'UnitTestTag%test'));
589 $this->assertSame(array(),
$backend->findIdentifiersByTag(
'UnitTestTag%special'));
590 $this->assertSame(array(
'BackendFileTest1',
'BackendFileTest3'),
$backend->findIdentifiersByTag(
'UnitTestTag%test'));
597 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
598 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
600 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
601 $backend->setCacheDirectory(
'vfs://Foo/');
605 $backend->set(
'BackendFileTest1', $data);
606 $backend->set(
'BackendFileTest2', $data);
608 $this->assertFileExists(
'vfs://Foo/Cache/Data/UnitTestCache/BackendFileTest1');
609 $this->assertFileExists(
'vfs://Foo/Cache/Data/UnitTestCache/BackendFileTest2');
613 $this->assertFileNotExists(
'vfs://Foo/Cache/Data/UnitTestCache/BackendFileTest1');
614 $this->assertFileNotExists(
'vfs://Foo/Cache/Data/UnitTestCache/BackendFileTest2');
621 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
622 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
624 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
625 $backend->setCacheDirectory(
'vfs://Foo/');
629 $this->assertFileExists(
'vfs://Foo/Cache/Data/UnitTestCache/');
636 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'findIdentifiersByTag',
'remove'), array(),
'', FALSE);
638 $backend->expects($this->once())->method(
'findIdentifiersByTag')->with(
'UnitTestTag%special')->will($this->returnValue(array(
'foo',
'bar',
'baz')));
639 $backend->expects($this->at(1))->method(
'remove')->with(
'foo');
640 $backend->expects($this->at(2))->method(
'remove')->with(
'bar');
641 $backend->expects($this->at(3))->method(
'remove')->with(
'baz');
643 $backend->flushByTag(
'UnitTestTag%special');
650 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
651 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
653 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'isCacheFileExpired'), array(),
'', FALSE);
654 $backend->expects($this->exactly(2))->method(
'isCacheFileExpired')->will($this->onConsecutiveCalls(TRUE, FALSE));
655 $backend->setCacheDirectory(
'vfs://Foo/');
659 $backend->set(
'BackendFileTest1', $data);
660 $backend->set(
'BackendFileTest2', $data);
662 $this->assertFileExists(
'vfs://Foo/Cache/Data/UnitTestCache/BackendFileTest1');
663 $this->assertFileExists(
'vfs://Foo/Cache/Data/UnitTestCache/BackendFileTest2');
666 $this->assertFileNotExists(
'vfs://Foo/Cache/Data/UnitTestCache/BackendFileTest1');
667 $this->assertFileExists(
'vfs://Foo/Cache/Data/UnitTestCache/BackendFileTest2');
674 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\AbstractFrontend', array(), array(),
'', FALSE);
675 $mockCache->expects($this->atLeastOnce())->method(
'getIdentifier')->will($this->returnValue(
'UnitTestCache'));
677 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\FileBackend', array(
'dummy'), array(),
'', FALSE);
678 $backend->setCacheDirectory(
'vfs://Foo/');
683 $this->assertTrue(
$backend->isFrozen());
685 $this->assertFalse(
$backend->isFrozen());
flushRemovesAllCacheEntries()
hasThrowsExceptionForInvalidIdentifier($identifier)
aDedicatedCacheDirectoryIsUsedForCodeCaches()
setCacheDirectoryAllowsAbsolutePathWithoutTrailingSlash()
getReturnsContentOfTheCorrectCacheFile()
setAlsoSavesSpecifiedTags()
setCacheDirectoryAllowsRelativeDottedPathWithoutTrailingSlash()
hasReturnsFalseForExpiredEntries()
getDoesNotCheckIfAnEntryIsExpiredIfTheCacheIsFrozen()
hasReturnsTrueIfAnEntryExists()
requireOnceThrowsExceptionForInvalidIdentifier($identifier)
getThrowsExceptionForInvalidIdentifier($identifier)
setCacheDirectoryAllowsAbsoluteDottedPathWithoutTrailingSlash()
setThrowsExceptionIfDataIsNotAString()
setCacheDirectoryAllowsAbsolutePathWithTrailingSlash()
setCacheDirectoryAllowsRelativeDottedPathWithTrailingSlash()
setCacheDetectsAndLoadsAFrozenCache()
setCacheDirectoryAllowsAbsoluteDottedPathWithTrailingSlash()
setReallySavesToTheSpecifiedDirectory()
requireOnceIncludesAndReturnsResultOfIncludedPhpFile()
flushByTagRemovesCacheEntriesWithSpecifiedTag()
setCacheDirectoryThrowsExceptionOnNonWritableDirectory()
getReturnsFalseForExpiredEntries()
hasDoesNotCheckIfAnEntryIsExpiredIfTheCacheIsFrozen()
flushCreatesCacheDirectoryAgain()
getAccessibleMock( $originalClassName, array $methods=array(), array $arguments=array(), $mockClassName='', $callOriginalConstructor=TRUE, $callOriginalClone=TRUE, $callAutoload=TRUE)
setOverwritesAnAlreadyExistingCacheEntryForTheSameIdentifier()
removeThrowsExceptionForInvalidIdentifier($identifier)
requireOnceDoesNotCheckExpiryTimeIfBackendIsFrozen()
static fixWindowsFilePath($theFile)
setCacheDirectoryAllowsRelativePathWithTrailingSlash()
findIdentifiersByTagDoesNotReturnExpiredEntries()
getCacheDirectoryReturnsTheCurrentCacheDirectory()
setThrowsExceptionForInvalidIdentifier($identifier)
collectGarbageRemovesExpiredCacheEntries()
setCacheDirectoryAllowsRelativePathWithoutTrailingSlash()
findIdentifiersByTagFindsCacheEntriesWithSpecifiedTag()
invalidEntryIdentifiers()
removeReallyRemovesACacheEntry()