32 'defaultValue' => NULL
39 'defaultValue' => NULL
46 'defaultValue' =>
'default' 55 'integer $param1 P1 Stuff',
56 'array $param2 P2 Stuff',
57 'string $param3 P3 Stuff' 62 $this->mockReflectionService = $this->getMock(
'TYPO3\\CMS\\Extbase\\Reflection\\ReflectionService', array(), array(),
'', FALSE);
69 $viewHelper = $this->
getAccessibleMock(
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array(
'render'), array(),
'', FALSE);
70 $viewHelper->injectReflectionService($this->mockReflectionService);
72 $name =
'This is a name';
73 $description =
'Example desc';
76 $expected = new \TYPO3\CMS\Fluid\Core\ViewHelper\ArgumentDefinition($name, $type, $description, $isRequired);
78 $viewHelper->_call(
'registerArgument', $name, $type, $description, $isRequired);
79 $this->assertEquals(array($name => $expected), $viewHelper->prepareArguments(),
'Argument definitions not returned correctly.');
87 $viewHelper = $this->
getAccessibleMock(
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array(
'render'), array(),
'', FALSE);
90 $description =
'Example desc';
94 $viewHelper->_call(
'registerArgument', $name, $type, $description, $isRequired);
95 $viewHelper->_call(
'registerArgument', $name,
'integer', $description, $isRequired);
102 $viewHelper = $this->
getAccessibleMock(
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array(
'render'), array(),
'', FALSE);
103 $viewHelper->injectReflectionService($this->mockReflectionService);
105 $name =
'argumentName';
106 $description =
'argument description';
107 $overriddenDescription =
'overwritten argument description';
109 $overriddenType =
'integer';
111 $expected = new \TYPO3\CMS\Fluid\Core\ViewHelper\ArgumentDefinition($name, $overriddenType, $overriddenDescription, $isRequired);
113 $viewHelper->_call(
'registerArgument', $name, $type, $description, $isRequired);
114 $viewHelper->_call(
'overrideArgument', $name, $overriddenType, $overriddenDescription, $isRequired);
115 $this->assertEquals($viewHelper->prepareArguments(), array($name => $expected),
'Argument definitions not returned correctly. The original ArgumentDefinition could not be overridden.');
123 $viewHelper = $this->
getAccessibleMock(
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array(
'render'), array(),
'', FALSE);
124 $viewHelper->injectReflectionService($this->mockReflectionService);
126 $viewHelper->_call(
'overrideArgument',
'argumentName',
'string',
'description', TRUE);
133 $viewHelper = $this->
getAccessibleMock(
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array(
'render',
'initializeArguments'), array(),
'', FALSE);
134 $viewHelper->injectReflectionService($this->mockReflectionService);
136 $viewHelper->expects($this->once())->method(
'initializeArguments');
138 $viewHelper->prepareArguments();
148 $dataCacheMock = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\VariableFrontend', array(), array(),
'', FALSE);
149 $dataCacheMock->expects($this->any())->method(
'has')->will($this->returnValue(TRUE));
150 $dataCacheMock->expects($this->any())->method(
'get')->will($this->returnValue(array()));
152 $viewHelper = new \TYPO3\CMS\Fluid\Tests\Unit\Core\Fixtures\TestViewHelper();
154 $this->mockReflectionService->expects($this->once())->method(
'getMethodParameters')->with(
'TYPO3\\CMS\\Fluid\\Tests\\Unit\\Core\\Fixtures\\TestViewHelper',
'render')->will($this->returnValue($this->fixtureMethodParameters));
155 $this->mockReflectionService->expects($this->once())->method(
'getMethodTagsValues')->with(
'TYPO3\\CMS\\Fluid\\Tests\\Unit\\Core\\Fixtures\\TestViewHelper',
'render')->will($this->returnValue($this->fixtureMethodTags));
156 $viewHelper->injectReflectionService($this->mockReflectionService);
159 'param1' =>
new \
TYPO3\CMS\
Fluid\Core\ViewHelper\ArgumentDefinition(
'param1',
'integer',
'P1 Stuff', TRUE, null, TRUE),
160 'param2' =>
new \
TYPO3\CMS\
Fluid\Core\ViewHelper\ArgumentDefinition(
'param2',
'array',
'P2 Stuff', TRUE, null, TRUE),
161 'param3' =>
new \
TYPO3\CMS\
Fluid\Core\ViewHelper\ArgumentDefinition(
'param3',
'string',
'P3 Stuff', FALSE,
'default', TRUE),
164 $this->assertEquals($expected, $viewHelper->prepareArguments(),
'Annotation based arguments were not registered.');
176 $dataCacheMock = $this->getMock(
'TYPO3\\CMS\\Core\\Cache\\Frontend\\VariableFrontend', array(), array(),
'', FALSE);
177 $dataCacheMock->expects($this->any())->method(
'has')->will($this->returnValue(TRUE));
178 $dataCacheMock->expects($this->any())->method(
'get')->will($this->returnValue(array()));
180 $viewHelper = new \TYPO3\CMS\Fluid\Tests\Unit\Core\Fixtures\TestViewHelper2();
182 $this->mockReflectionService->expects($this->once())->method(
'getMethodParameters')->with(
'TYPO3\\CMS\\Fluid\\Tests\\Unit\\Core\\Fixtures\\TestViewHelper2',
'render')->will($this->returnValue($this->fixtureMethodParameters));
183 $this->mockReflectionService->expects($this->never())->method(
'getMethodTagsValues');
184 $viewHelper->injectReflectionService($this->mockReflectionService);
187 'param1' =>
new \
TYPO3\CMS\
Fluid\Core\ViewHelper\ArgumentDefinition(
'param1',
'integer',
'', TRUE, NULL, TRUE),
188 'param2' =>
new \
TYPO3\CMS\
Fluid\Core\ViewHelper\ArgumentDefinition(
'param2',
'array',
'', TRUE, NULL, TRUE),
189 'param3' =>
new \
TYPO3\CMS\
Fluid\Core\ViewHelper\ArgumentDefinition(
'param3',
'string',
'', FALSE,
'default', TRUE)
192 $this->assertEquals($expected, $viewHelper->prepareArguments(),
'Annotation based arguments were not registered.');
199 $viewHelper = $this->
getAccessibleMock(
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array(
'render',
'prepareArguments'), array(),
'', FALSE);
200 $viewHelper->injectReflectionService($this->mockReflectionService);
202 $viewHelper->expects($this->once())->method(
'prepareArguments')->will($this->returnValue(array()));
204 $viewHelper->validateArguments();
211 $viewHelper = $this->
getAccessibleMock(
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array(
'render',
'prepareArguments'), array(),
'', FALSE);
213 $viewHelper->setArguments(array(
'test' =>
new \ArrayObject));
214 $viewHelper->expects($this->once())->method(
'prepareArguments')->will($this->returnValue(array(
'test' =>
new \
TYPO3\CMS\
Fluid\Core\ViewHelper\ArgumentDefinition(
'test',
'array', FALSE,
'documentation'))));
215 $viewHelper->validateArguments();
222 $viewHelper = $this->
getAccessibleMock(
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array(
'render',
'prepareArguments'), array(),
'', FALSE);
223 $viewHelper->injectReflectionService($this->mockReflectionService);
225 $viewHelper->setArguments(array(
'test' =>
'Value of argument'));
227 $viewHelper->expects($this->once())->method(
'prepareArguments')->will($this->returnValue(array(
228 'test' =>
new \
TYPO3\CMS\
Fluid\Core\ViewHelper\ArgumentDefinition(
'test',
'string', FALSE,
'documentation')
231 $viewHelper->validateArguments();
239 $viewHelper = $this->
getAccessibleMock(
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array(
'render',
'prepareArguments'), array(),
'', FALSE);
240 $viewHelper->injectReflectionService($this->mockReflectionService);
242 $viewHelper->setArguments(array(
'test' =>
'test'));
244 $viewHelper->expects($this->once())->method(
'prepareArguments')->will($this->returnValue(array(
245 'test' =>
new \
TYPO3\CMS\
Fluid\Core\ViewHelper\ArgumentDefinition(
'test',
'stdClass', FALSE,
'documentation')
248 $viewHelper->validateArguments();
255 $viewHelper = $this->
getAccessibleMock(
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array(
'validateArguments',
'initialize',
'callRenderMethod'));
256 $viewHelper->expects($this->at(0))->method(
'validateArguments');
257 $viewHelper->expects($this->at(1))->method(
'initialize');
258 $viewHelper->expects($this->at(2))->method(
'callRenderMethod')->will($this->returnValue(
'Output'));
260 $expectedOutput =
'Output';
261 $actualOutput = $viewHelper->initializeArgumentsAndRender(array(
'argument1' =>
'value1'));
262 $this->assertEquals($expectedOutput, $actualOutput);
269 $templateVariableContainer = $this->getMock(
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\TemplateVariableContainer');
270 $viewHelperVariableContainer = $this->getMock(
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\ViewHelperVariableContainer');
271 $controllerContext = $this->getMock(
'TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ControllerContext', array(), array(),
'', FALSE);
273 $renderingContext = $this->
getAccessibleMock(
'TYPO3\\CMS\\Fluid\\Core\\Rendering\\RenderingContext', array(
'dummy'));
274 $renderingContext->injectTemplateVariableContainer($templateVariableContainer);
275 $renderingContext->_set(
'viewHelperVariableContainer', $viewHelperVariableContainer);
276 $renderingContext->setControllerContext($controllerContext);
278 $viewHelper = $this->
getAccessibleMock(
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array(
'render',
'prepareArguments'), array(),
'', FALSE);
280 $viewHelper->setRenderingContext($renderingContext);
282 $this->assertSame($viewHelper->_get(
'templateVariableContainer'), $templateVariableContainer);
283 $this->assertSame($viewHelper->_get(
'viewHelperVariableContainer'), $viewHelperVariableContainer);
284 $this->assertSame($viewHelper->_get(
'controllerContext'), $controllerContext);
validateArgumentsCallsPrepareArguments()
prepareArgumentsRegistersAnnotationBasedArgumentsWithDescriptionIfDebugModeIsEnabled()
registeringTheSameArgumentNameAgainThrowsException()
prepareArgumentsRegistersAnnotationBasedArgumentsWithoutDescriptionIfDebugModeIsDisabled()
overrideArgumentThrowsExceptionWhenTryingToOverwriteAnNonexistingArgument()
getAccessibleMock( $originalClassName, array $methods=array(), array $arguments=array(), $mockClassName='', $callOriginalConstructor=TRUE, $callOriginalClone=TRUE, $callAutoload=TRUE)
validateArgumentsCallsTheRightValidators()
validateArgumentsAcceptsAllObjectsImplemtingArrayAccessAsAnArray()
overrideArgumentOverwritesExistingArgumentDefinition()
argumentsCanBeRegistered()
initializeArgumentsAndRenderCallsTheCorrectSequenceOfMethods()
prepareArgumentsCallsInitializeArguments()
validateArgumentsCallsTheRightValidatorsAndThrowsExceptionIfValidationIsWrong()
setRenderingContextShouldSetInnerVariables()