|
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 /** 00024 * Testcase for ParsingState 00025 * 00026 * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later 00027 */ 00028 class Tx_Fluid_Tests_Unit_Core_Parser_ParsingStateTest extends Tx_Extbase_Tests_Unit_BaseTestCase { 00029 00030 /** 00031 * Parsing state 00032 * @var Tx_Fluid_Core_Parser_ParsingState 00033 */ 00034 protected $parsingState; 00035 00036 public function setUp() { 00037 $this->parsingState = new Tx_Fluid_Core_Parser_ParsingState(); 00038 } 00039 public function tearDown() { 00040 unset($this->parsingState); 00041 } 00042 00043 /** 00044 * @test 00045 * @author Sebastian Kurfürst <sebastian@typo3.org> 00046 */ 00047 public function setRootNodeCanBeReadOutAgain() { 00048 $rootNode = new Tx_Fluid_Core_Parser_SyntaxTree_RootNode(); 00049 $this->parsingState->setRootNode($rootNode); 00050 $this->assertSame($this->parsingState->getRootNode(), $rootNode, 'Root node could not be read out again.'); 00051 } 00052 00053 /** 00054 * @test 00055 * @author Sebastian Kurfürst <sebastian@typo3.org> 00056 */ 00057 public function pushAndGetFromStackWorks() { 00058 $rootNode = new Tx_Fluid_Core_Parser_SyntaxTree_RootNode(); 00059 $this->parsingState->pushNodeToStack($rootNode); 00060 $this->assertSame($rootNode, $this->parsingState->getNodeFromStack($rootNode), 'Node returned from stack was not the right one.'); 00061 $this->assertSame($rootNode, $this->parsingState->popNodeFromStack($rootNode), 'Node popped from stack was not the right one.'); 00062 } 00063 00064 /** 00065 * @test 00066 * @author Sebastian Kurfürst <sebastian@typo3.org> 00067 */ 00068 public function renderCallsTheRightMethodsOnTheRootNode() { 00069 $renderingContext = $this->getMock('Tx_Fluid_Core_Rendering_RenderingContextInterface'); 00070 00071 $rootNode = $this->getMock('Tx_Fluid_Core_Parser_SyntaxTree_RootNode'); 00072 $rootNode->expects($this->once())->method('evaluate')->with($renderingContext)->will($this->returnValue('T3DD09 Rock!')); 00073 $this->parsingState->setRootNode($rootNode); 00074 $renderedValue = $this->parsingState->render($renderingContext); 00075 $this->assertEquals($renderedValue, 'T3DD09 Rock!', 'The rendered value of the Root Node is not returned by the ParsingState.'); 00076 } 00077 00078 } 00079 00080 ?>
1.8.0