|
TYPO3 API
SVNRelease
|
00001 <?php 00002 00003 /* * 00004 * This script belongs to the FLOW3 package "Fluid". * 00005 * * 00006 * It is free software; you can redistribute it and/or modify it under * 00007 * the terms of the GNU Lesser General Public License as published by the * 00008 * Free Software Foundation, either version 3 of the License, or (at your * 00009 * option) any later version. * 00010 * * 00011 * This script is distributed in the hope that it will be useful, but * 00012 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- * 00013 * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser * 00014 * General Public License for more details. * 00015 * * 00016 * You should have received a copy of the GNU Lesser General Public * 00017 * License along with the script. * 00018 * If not, see http://www.gnu.org/licenses/lgpl.html * 00019 * * 00020 * The TYPO3 project - inspiring people to share! * 00021 * */ 00022 00023 require_once(dirname(__FILE__) . '/ViewHelperBaseTestcase.php'); 00024 00025 /** 00026 * Testcase for AliasViewHelper 00027 * 00028 * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later 00029 */ 00030 class Tx_Fluid_Tests_Unit_ViewHelpers_AliasViewHelperTest extends Tx_Fluid_ViewHelpers_ViewHelperBaseTestcase { 00031 00032 /** 00033 * @test 00034 * @author Bastian Waidelich <bastian@typo3.org> 00035 */ 00036 public function renderAddsSingleValueToTemplateVariableContainerAndRemovesItAfterRendering() { 00037 $viewHelper = new Tx_Fluid_ViewHelpers_AliasViewHelper(); 00038 00039 $mockViewHelperNode = $this->getMock('Tx_Fluid_Core_Parser_SyntaxTree_ViewHelperNode', array('evaluateChildNodes'), array(), '', FALSE); 00040 $mockViewHelperNode->expects($this->once())->method('evaluateChildNodes')->will($this->returnValue('foo')); 00041 00042 $this->templateVariableContainer->expects($this->at(0))->method('add')->with('someAlias', 'someValue'); 00043 $this->templateVariableContainer->expects($this->at(1))->method('remove')->with('someAlias'); 00044 00045 $viewHelper->setTemplateVariableContainer($this->templateVariableContainer); 00046 $viewHelper->setViewHelperNode($mockViewHelperNode); 00047 $viewHelper->setRenderingContext($this->renderingContext); 00048 $viewHelper->render(array('someAlias' => 'someValue')); 00049 } 00050 00051 /** 00052 * @test 00053 * @author Bastian Waidelich <bastian@typo3.org> 00054 */ 00055 public function renderAddsMultipleValuesToTemplateVariableContainerAndRemovesThemAfterRendering() { 00056 $viewHelper = new Tx_Fluid_ViewHelpers_AliasViewHelper(); 00057 00058 $mockViewHelperNode = $this->getMock('Tx_Fluid_Core_Parser_SyntaxTree_ViewHelperNode', array('evaluateChildNodes'), array(), '', FALSE); 00059 $mockViewHelperNode->expects($this->once())->method('evaluateChildNodes')->will($this->returnValue('foo')); 00060 00061 $this->templateVariableContainer->expects($this->at(0))->method('add')->with('someAlias', 'someValue'); 00062 $this->templateVariableContainer->expects($this->at(1))->method('add')->with('someOtherAlias', 'someOtherValue'); 00063 $this->templateVariableContainer->expects($this->at(2))->method('remove')->with('someAlias'); 00064 $this->templateVariableContainer->expects($this->at(3))->method('remove')->with('someOtherAlias'); 00065 00066 $viewHelper->setTemplateVariableContainer($this->templateVariableContainer); 00067 $viewHelper->setViewHelperNode($mockViewHelperNode); 00068 $viewHelper->setRenderingContext($this->renderingContext); 00069 $viewHelper->render(array('someAlias' => 'someValue', 'someOtherAlias' => 'someOtherValue')); 00070 } 00071 00072 /** 00073 * @test 00074 * @author Bastian Waidelich <bastian@typo3.org> 00075 */ 00076 public function renderDoesNotTouchTemplateVariableContainerAndReturnsChildNodesIfMapIsEmpty() { 00077 $viewHelper = new Tx_Fluid_ViewHelpers_AliasViewHelper(); 00078 00079 $mockViewHelperNode = $this->getMock('Tx_Fluid_Core_Parser_SyntaxTree_ViewHelperNode', array('evaluateChildNodes'), array(), '', FALSE); 00080 $mockViewHelperNode->expects($this->once())->method('evaluateChildNodes')->will($this->returnValue('foo')); 00081 00082 $this->templateVariableContainer->expects($this->never())->method('add'); 00083 $this->templateVariableContainer->expects($this->never())->method('remove'); 00084 00085 $viewHelper->setTemplateVariableContainer($this->templateVariableContainer); 00086 $viewHelper->setViewHelperNode($mockViewHelperNode); 00087 $viewHelper->setRenderingContext($this->renderingContext); 00088 00089 $this->assertEquals('foo', $viewHelper->render(array())); 00090 } 00091 } 00092 00093 00094 00095 ?>
1.8.0