28 if (!extension_loaded(
'pdo_sqlite')) {
29 $this->markTestSkipped(
'pdo_sqlite extension was not available');
38 $backend = new \TYPO3\CMS\Core\Cache\Backend\PdoBackend(
'Testing');
40 $identifier =
'MyIdentifier';
50 $identifier =
'MyIdentifier';
52 $this->assertTrue(
$backend->has($identifier));
61 $identifier =
'MyIdentifier';
63 $fetchedData =
$backend->get($identifier);
64 $this->assertEquals($data, $fetchedData);
73 $identifier =
'MyIdentifier';
76 $this->assertFalse(
$backend->has($identifier));
85 $identifier =
'MyIdentifier';
87 $otherData =
'some other data';
88 $backend->set($identifier, $otherData);
89 $fetchedData =
$backend->get($identifier);
90 $this->assertEquals($otherData, $fetchedData);
99 $entryIdentifier =
'MyIdentifier';
100 $backend->set($entryIdentifier, $data, array(
'UnitTestTag%tag1',
'UnitTestTag%tag2'));
101 $retrieved =
$backend->findIdentifiersByTag(
'UnitTestTag%tag1');
102 $this->assertEquals($entryIdentifier, $retrieved[0]);
103 $retrieved =
$backend->findIdentifiersByTag(
'UnitTestTag%tag2');
104 $this->assertEquals($entryIdentifier, $retrieved[0]);
113 $entryIdentifier =
'MyIdentifier';
114 $backend->set($entryIdentifier, $data, array(
'UnitTestTag%tag1',
'UnitTestTag%tag2'));
115 $backend->set($entryIdentifier, $data, array(
'UnitTestTag%tag3'));
116 $retrieved =
$backend->findIdentifiersByTag(
'UnitTestTag%tag2');
117 $this->assertEquals(array(), $retrieved);
127 $backend->set($entryIdentifier, $data1, array(), 1);
130 $backend->set($entryIdentifier, $data2, array(), 10);
131 $this->assertEquals($data2,
$backend->get($entryIdentifier));
139 $identifier =
'NonExistingIdentifier';
140 $this->assertFalse(
$backend->has($identifier));
148 $identifier =
'NonExistingIdentifier';
149 $this->assertFalse(
$backend->remove($identifier));
157 $data =
'some data' . microtime();
158 $backend->set(
'PdoBackendTest1', $data, array(
'UnitTestTag%test',
'UnitTestTag%boring'));
159 $backend->set(
'PdoBackendTest2', $data, array(
'UnitTestTag%test',
'UnitTestTag%special'));
160 $backend->set(
'PdoBackendTest3', $data, array(
'UnitTestTag%test'));
161 $backend->flushByTag(
'UnitTestTag%special');
162 $this->assertTrue(
$backend->has(
'PdoBackendTest1'),
'PdoBackendTest1');
163 $this->assertFalse(
$backend->has(
'PdoBackendTest2'),
'PdoBackendTest2');
164 $this->assertTrue(
$backend->has(
'PdoBackendTest3'),
'PdoBackendTest3');
172 $data =
'some data' . microtime();
173 $backend->set(
'PdoBackendTest1', $data);
174 $backend->set(
'PdoBackendTest2', $data);
175 $backend->set(
'PdoBackendTest3', $data);
177 $this->assertFalse(
$backend->has(
'PdoBackendTest1'),
'PdoBackendTest1');
178 $this->assertFalse(
$backend->has(
'PdoBackendTest2'),
'PdoBackendTest2');
179 $this->assertFalse(
$backend->has(
'PdoBackendTest3'),
'PdoBackendTest3');
186 $thisCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\FrontendInterface', array(), array(),
'', FALSE);
187 $thisCache->expects($this->any())->method(
'getIdentifier')->will($this->returnValue(
'thisCache'));
189 $thisBackend->setCache($thisCache);
190 $thatCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\FrontendInterface', array(), array(),
'', FALSE);
191 $thatCache->expects($this->any())->method(
'getIdentifier')->will($this->returnValue(
'thatCache'));
193 $thatBackend->setCache($thatCache);
194 $thisBackend->set(
'thisEntry',
'Hello');
195 $thatBackend->set(
'thatEntry',
'World!');
196 $thatBackend->flush();
197 $this->assertEquals(
'Hello', $thisBackend->get(
'thisEntry'));
198 $this->assertFalse($thatBackend->has(
'thatEntry'));
206 $data =
'some data' . microtime();
207 $entryIdentifier =
'BackendPDORemovalTest';
208 $backend->set($entryIdentifier, $data, array(), 1);
209 $this->assertTrue(
$backend->has($entryIdentifier));
212 $this->assertFalse(
$backend->has($entryIdentifier));
220 $data =
'some data' . microtime();
221 $entryIdentifier =
'BackendPDORemovalTest';
222 $backend->set($entryIdentifier .
'A', $data, array(), NULL);
223 $backend->set($entryIdentifier .
'B', $data, array(), 10);
224 $backend->set($entryIdentifier .
'C', $data, array(), 1);
225 $backend->set($entryIdentifier .
'D', $data, array(), 1);
226 $this->assertTrue(
$backend->has($entryIdentifier .
'A'));
227 $this->assertTrue(
$backend->has($entryIdentifier .
'B'));
228 $this->assertTrue(
$backend->has($entryIdentifier .
'C'));
229 $this->assertTrue(
$backend->has($entryIdentifier .
'D'));
232 $this->assertTrue(
$backend->has($entryIdentifier .
'A'));
233 $this->assertTrue(
$backend->has($entryIdentifier .
'B'));
234 $this->assertFalse(
$backend->has($entryIdentifier .
'C'));
235 $this->assertFalse(
$backend->has($entryIdentifier .
'D'));
244 $mockCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\FrontendInterface', array(), array(),
'', FALSE);
245 $mockCache->expects($this->any())->method(
'getIdentifier')->will($this->returnValue(
'TestCache'));
248 $backend->setDataSourceName(
'sqlite::memory:');
flushByTagRemovesCacheEntriesWithSpecifiedTag()
collectGarbageReallyRemovesAnExpiredCacheEntry()
removeReturnsFalseIfTheEntryDoesntExist()
itIsPossibleToRemoveEntryFromCache()
flushRemovesAllCacheEntries()
static makeInstance($className)
itIsPossibleToSetAndGetEntry()
itIsPossibleToOverwriteAnEntryInTheCache()
setRemovesTagsFromPreviousSet()
setThrowsExceptionIfNoFrontEndHasBeenSet()
setOverwritesExistingEntryThatExceededItsLifetimeWithNewData()
flushRemovesOnlyOwnEntries()
findIdentifiersByTagFindsSetEntries()
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]
itIsPossibleToSetAndCheckExistenceInCache()
collectGarbageReallyRemovesAllExpiredCacheEntries()
hasReturnsFalseIfTheEntryDoesntExist()