|
TYPO3 API
SVNRelease
|
00001 <?php 00002 /*************************************************************** 00003 * Copyright notice 00004 * 00005 * (c) 2010-2011 Christian Kuhn <lolli@schwarzbu.ch> 00006 * All rights reserved 00007 * 00008 * This script is part of the TYPO3 project. The TYPO3 project is 00009 * free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your option) any later version. 00013 * 00014 * The GNU General Public License can be found at 00015 * http://www.gnu.org/copyleft/gpl.html. 00016 * 00017 * This script is distributed in the hope that it will be useful, 00018 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00019 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00020 * GNU General Public License for more details. 00021 * 00022 * This copyright notice MUST APPEAR in all copies of the script! 00023 ***************************************************************/ 00024 00025 00026 /** 00027 * Testcase for the PHP source code cache frontend 00028 * 00029 * This file is a backport from FLOW3 00030 * 00031 * @author Christian Kuhn <lolli@schwarzbu.ch> 00032 * @package TYPO3 00033 * @subpackage tests 00034 * @version $Id$ 00035 */ 00036 class t3lib_cache_frontend_PhpFrontendTest extends tx_phpunit_testcase { 00037 00038 /** 00039 * @test 00040 * @author Robert Lemke <robert@typo3.org> 00041 * @expectedException InvalidArgumentException 00042 */ 00043 public function setChecksIfTheIdentifierIsValid() { 00044 $cache = $this->getMock('t3lib_cache_frontend_StringFrontend', array('isValidEntryIdentifier'), array(), '', FALSE); 00045 $cache->expects($this->once())->method('isValidEntryIdentifier')->with('foo')->will($this->returnValue(FALSE)); 00046 $cache->set('foo', 'bar'); 00047 } 00048 00049 /** 00050 * @test 00051 * @author Robert Lemke <robert@typo3.org> 00052 */ 00053 public function setPassesPhpSourceCodeTagsAndLifetimeToBackend() { 00054 $originalSourceCode = 'return "hello world!";'; 00055 $modifiedSourceCode = '<?php' . chr(10) . $originalSourceCode . chr(10) . '#'; 00056 00057 $mockBackend = $this->getMock('t3lib_cache_backend_PhpCapableBackend', array(), array(), '', FALSE); 00058 $mockBackend->expects($this->once())->method('set')->with('Foo-Bar', $modifiedSourceCode, array('tags'), 1234); 00059 00060 $cache = t3lib_div::makeInstance('t3lib_cache_frontend_PhpFrontend', 'PhpFrontend', $mockBackend); 00061 $cache->set('Foo-Bar', $originalSourceCode, array('tags'), 1234); 00062 } 00063 00064 /** 00065 * @test 00066 * @author Robert Lemke <robert@typo3.org> 00067 * @expectedException t3lib_cache_exception_InvalidData 00068 */ 00069 public function setThrowsInvalidDataExceptionOnNonStringValues() { 00070 $cache = $this->getMock('t3lib_cache_frontend_PhpFrontend', array('dummy'), array(), '', FALSE); 00071 $cache->set('Foo-Bar', array()); 00072 } 00073 00074 /** 00075 * @test 00076 * @author Robert Lemke <robert@typo3.org> 00077 */ 00078 public function requireOnceCallsTheBackendsRequireOnceMethod() { 00079 $mockBackend = $this->getMock('t3lib_cache_backend_PhpCapableBackend', array(), array(), '', FALSE); 00080 $mockBackend->expects($this->once())->method('requireOnce')->with('Foo-Bar')->will($this->returnValue('hello world!')); 00081 00082 $cache = t3lib_div::makeInstance('t3lib_cache_frontend_PhpFrontend', 'PhpFrontend', $mockBackend); 00083 00084 $result = $cache->requireOnce('Foo-Bar'); 00085 $this->assertSame('hello world!', $result); 00086 } 00087 } 00088 ?>
1.8.0