TYPO3 CMS  TYPO3_6-2
All Classes Namespaces Files Functions Variables Pages
ViewHelperNodeTest.php
Go to the documentation of this file.
1 <?php
3 
4 /* *
5  * This script is backported from the TYPO3 Flow package "TYPO3.Fluid". *
6  * *
7  * It is free software; you can redistribute it and/or modify it under *
8  * the terms of the GNU Lesser General Public License, either version 3 *
9  * of the License, or (at your option) any later version. *
10  * *
11  * The TYPO3 project - inspiring people to share! *
12  * */
13 
18 
24  protected $renderingContext;
25 
31  protected $mockObjectManager;
32 
39 
43  protected $controllerContext;
44 
49 
53  public function setUp() {
54  $this->renderingContext = $this->getAccessibleMock('TYPO3\\CMS\\Fluid\\Core\\Rendering\\RenderingContext');
55 
56  $this->mockObjectManager = $this->getMock('TYPO3\\CMS\\Extbase\\Object\\ObjectManagerInterface');
57  $this->renderingContext->_set('objectManager', $this->mockObjectManager);
58 
59  $this->templateVariableContainer = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\TemplateVariableContainer');
60  $this->renderingContext->injectTemplateVariableContainer($this->templateVariableContainer);
61 
62  $this->controllerContext = $this->getMock('TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ControllerContext', array(), array(), '', FALSE);
63  $this->renderingContext->setControllerContext($this->controllerContext);
64 
65  $this->viewHelperVariableContainer = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\ViewHelperVariableContainer');
66  $this->renderingContext->_set('viewHelperVariableContainer', $this->viewHelperVariableContainer);
67  }
68 
73  $viewHelper = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper');
74  $arguments = array('foo' => 'bar');
75  $viewHelperNode = $this->getAccessibleMock('TYPO3\\CMS\\Fluid\\Core\\Parser\\SyntaxTree\\ViewHelperNode', array('dummy'), array($viewHelper, $arguments));
76 
77  $this->assertEquals(get_class($viewHelper), $viewHelperNode->getViewHelperClassName());
78  $this->assertEquals($arguments, $viewHelperNode->_get('arguments'));
79  }
80 
85  $childNode = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\Parser\\SyntaxTree\\TextNode', array(), array('foo'));
86 
87  $mockViewHelper = $this->getMock('TYPO3\\CMS\\Fluid\\Tests\\Unit\\Core\\Parser\\Fixtures\\ChildNodeAccessFacetViewHelper', array('setChildNodes', 'initializeArguments', 'render', 'prepareArguments'));
88 
89  $viewHelperNode = new \TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\ViewHelperNode($mockViewHelper, array());
90  $viewHelperNode->addChildNode($childNode);
91 
92  $mockViewHelper->expects($this->once())->method('setChildNodes')->with($this->equalTo(array($childNode)));
93 
94  $viewHelperNode->evaluate($this->renderingContext);
95  }
96 
101  $mockViewHelper = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array('initializeArgumentsAndRender', 'prepareArguments'));
102  $mockViewHelper->expects($this->once())->method('initializeArgumentsAndRender');
103 
104  $viewHelperNode = new \TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\ViewHelperNode($mockViewHelper, array());
105 
106  $viewHelperNode->evaluate($this->renderingContext);
107  }
108 
113  $arguments = array(
114  'param0' => new \TYPO3\CMS\Fluid\Core\ViewHelper\ArgumentDefinition('param1', 'string', 'Hallo', TRUE, NULL, FALSE),
115  'param1' => new \TYPO3\CMS\Fluid\Core\ViewHelper\ArgumentDefinition('param1', 'string', 'Hallo', TRUE, NULL, TRUE),
116  'param2' => new \TYPO3\CMS\Fluid\Core\ViewHelper\ArgumentDefinition('param2', 'string', 'Hallo', TRUE, NULL, TRUE)
117  );
118 
119  $mockViewHelper = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array('initializeArgumentsAndRender', 'prepareArguments'));
120  $mockViewHelper->expects($this->any())->method('prepareArguments')->will($this->returnValue($arguments));
121  $mockViewHelper->expects($this->once())->method('initializeArgumentsAndRender');
122 
123  $viewHelperNode = new \TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\ViewHelperNode($mockViewHelper, array(
124  'param2' => new \TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\TextNode('b'),
125  'param1' => new \TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\TextNode('a')
126  ));
127 
128  $viewHelperNode->evaluate($this->renderingContext);
129  }
130 
135  $mockViewHelper = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array('render', 'validateArguments', 'prepareArguments', 'setRenderingContext'));
136  $mockViewHelper->expects($this->once())->method('setRenderingContext')->with($this->renderingContext);
137 
138  $viewHelperNode = new \TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\ViewHelperNode($mockViewHelper, array());
139 
140  $viewHelperNode->evaluate($this->renderingContext);
141  }
142 
147  $mockViewHelper = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array('render', 'validateArguments', 'prepareArguments', 'setViewHelperVariableContainer'));
148  $mockViewHelper->expects($this->any())->method('render')->will($this->returnValue('String'));
149 
150  $viewHelperNode = new \TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\ViewHelperNode($mockViewHelper, array());
151 
152  $viewHelperNode->evaluate($this->renderingContext);
153  $viewHelperNode->evaluate($this->renderingContext);
154  }
155 }
getAccessibleMock( $originalClassName, array $methods=array(), array $arguments=array(), $mockClassName='', $callOriginalConstructor=TRUE, $callOriginalClone=TRUE, $callAutoload=TRUE)