30 $mockBackend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\AbstractBackend', array(
'get',
'set',
'has',
'remove',
'findIdentifiersByTag',
'flush',
'flushByTag',
'collectGarbage'), array(),
'', FALSE);
31 foreach (array(
'x',
'someValue',
'123fivesixseveneight',
'some&',
'ab_cd%', rawurlencode(
'resource://some/äöü$&% sadf'), str_repeat(
'x', 250)) as $identifier) {
32 $abstractCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\StringFrontend', array(
'__construct',
'get',
'set',
'has',
'remove',
'getByTag',
'flush',
'flushByTag',
'collectGarbage'), array($identifier, $mockBackend));
40 $mockBackend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\AbstractBackend', array(
'get',
'set',
'has',
'remove',
'findIdentifiersByTag',
'flush',
'flushByTag',
'collectGarbage'), array(),
'', FALSE);
41 foreach (array(
'',
'abc def',
'foo!',
'bar:',
'some/',
'bla*',
'one+',
'äöü', str_repeat(
'x', 251),
'x$',
'\\a',
'b#') as $identifier) {
43 $abstractCache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\StringFrontend', array(
'__construct',
'get',
'set',
'has',
'remove',
'getByTag',
'flush',
'flushByTag',
'collectGarbage'), array($identifier, $mockBackend));
44 $this->fail(
'Identifier "' . $identifier .
'" was not rejected.');
45 }
catch (\InvalidArgumentException $exception) {
55 $identifier =
'someCacheIdentifier';
56 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\AbstractBackend', array(
'get',
'set',
'has',
'remove',
'findIdentifiersByTag',
'flush',
'flushByTag',
'collectGarbage'), array(),
'', FALSE);
57 $backend->expects($this->once())->method(
'flush');
58 $cache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\StringFrontend', array(
'__construct',
'get',
'set',
'has',
'remove',
'getByTag'), array($identifier,
$backend));
67 $identifier =
'someCacheIdentifier';
68 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\BackendInterface', array(), array(),
'', FALSE);
69 $backend->expects($this->never())->method(
'flushByTag');
70 $cache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\StringFrontend', array(
'__construct',
'get',
'set',
'has',
'remove',
'getByTag'), array($identifier,
$backend));
71 $cache->flushByTag(
'SomeInvalid\\Tag');
79 $identifier =
'someCacheIdentifier';
80 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\TaggableBackendInterface', array(
'setCache',
'get',
'set',
'has',
'remove',
'findIdentifiersByTag',
'flush',
'flushByTag',
'collectGarbage'), array(),
'', FALSE);
81 $backend->expects($this->once())->method(
'flushByTag')->with($tag);
82 $cache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\StringFrontend', array(
'__construct',
'get',
'set',
'has',
'remove',
'getByTag'), array($identifier,
$backend));
83 $cache->flushByTag($tag);
90 $identifier =
'someCacheIdentifier';
91 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\AbstractBackend', array(
'get',
'set',
'has',
'remove',
'findIdentifiersByTag',
'flush',
'flushByTag',
'collectGarbage'), array(),
'', FALSE);
92 $backend->expects($this->once())->method(
'collectGarbage');
93 $cache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\StringFrontend', array(
'__construct',
'get',
'set',
'has',
'remove',
'getByTag'), array($identifier,
$backend));
94 $cache->collectGarbage();
101 $identifier =
'someCacheIdentifier';
102 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\AbstractBackend', array(
'get',
'set',
'has',
'remove',
'findIdentifiersByTag',
'flush',
'flushByTag',
'collectGarbage'), array(),
'', FALSE);
103 $cache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\StringFrontend', array(
'__construct',
'get',
'set',
'has',
'remove',
'getByTag'), array($identifier,
$backend));
104 $this->assertEquals(
'%CLASS%F3_Foo_Bar_Baz', \
TYPO3\CMS\Core\Cache\CacheManager::getClassTag(
'F3\\Foo\\Bar\\Baz'));
111 $identifier =
'someCacheIdentifier';
112 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\AbstractBackend', array(), array(),
'', FALSE);
113 $cache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\StringFrontend', array(
'__construct',
'get',
'set',
'has',
'remove',
'getByTag'), array($identifier,
$backend));
114 foreach (array(
'',
'abc def',
'foo!',
'bar:',
'some/',
'bla*',
'one+',
'äöü', str_repeat(
'x', 251),
'x$',
'\\a',
'b#') as $entryIdentifier) {
115 $this->assertFalse($cache->isValidEntryIdentifier($entryIdentifier),
'Invalid identifier "' . $entryIdentifier .
'" was not rejected.');
123 $identifier =
'someCacheIdentifier';
124 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\AbstractBackend', array(), array(),
'', FALSE);
125 $cache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\StringFrontend', array(
'__construct',
'get',
'set',
'has',
'remove',
'getByTag'), array($identifier,
$backend));
126 foreach (array(
'_',
'abcdef',
'foo',
'bar123',
'3some',
'_bl_a',
'some&',
'one%TWO', str_repeat(
'x', 250)) as $entryIdentifier) {
127 $this->assertTrue($cache->isValidEntryIdentifier($entryIdentifier),
'Valid identifier "' . $entryIdentifier .
'" was not accepted.');
135 $identifier =
'someCacheIdentifier';
136 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\AbstractBackend', array(), array(),
'', FALSE);
137 $cache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\StringFrontend', array(
'__construct',
'get',
'set',
'has',
'remove',
'getByTag'), array($identifier,
$backend));
138 foreach (array(
'',
'abc def',
'foo!',
'bar:',
'some/',
'bla*',
'one+',
'äöü', str_repeat(
'x', 251),
'x$',
'\\a',
'b#') as $tag) {
139 $this->assertFalse($cache->isValidTag($tag),
'Invalid tag "' . $tag .
'" was not rejected.');
147 $identifier =
'someCacheIdentifier';
148 $backend = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Backend\\AbstractBackend', array(), array(),
'', FALSE);
149 $cache = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\StringFrontend', array(
'__construct',
'get',
'set',
'has',
'remove',
'getByTag'), array($identifier,
$backend));
150 foreach (array(
'abcdef',
'foo-bar',
'foo_baar',
'bar123',
'3some',
'file%Thing',
'some&',
'%x%', str_repeat(
'x', 250)) as $tag) {
151 $this->assertTrue($cache->isValidTag($tag),
'Valid tag "' . $tag .
'" was not accepted.');
invalidTagsAreRecognizedAsInvalid()
validEntryIdentifiersAreRecognizedAsValid()
theConstructorAcceptsValidIdentifiers()
flushByTagRejectsInvalidTags()
collectGarbageCallsBackend()
validTagsAreRecognizedAsValid()
getClassTagRendersTagWhichCanBeUsedToTagACacheEntryWithACertainClass()
flushByTagCallsBackendIfItIsATaggableBackend()
theConstructorRejectsInvalidIdentifiers()
invalidEntryIdentifiersAreRecognizedAsInvalid()