/**
  * Constructor. Sets $this->abstractViewHelperReflectionClass
  *
  * @author Sebastian Kurfürst <*****@*****.**>
  */
 public function __construct()
 {
     \F3\Fluid\Fluid::$debugMode = TRUE;
     // We want ViewHelper argument documentation
     $this->abstractViewHelperReflectionClass = new \F3\FLOW3\Reflection\ClassReflection('F3\\Fluid\\Core\\ViewHelper\\AbstractViewHelper');
     $this->docCommentParser = new \F3\FLOW3\Reflection\DocCommentParser();
 }
 /**
  * @test
  * @author Sebastian Kurfürst <*****@*****.**>
  */
 public function prepareArgumentsRegistersAnnotationBasedArgumentsWithoutDescriptionIfDebugModeIsDisabled()
 {
     \F3\Fluid\Fluid::$debugMode = FALSE;
     $availableClassNames = array('F3\\Fluid\\Core\\Fixtures\\TestViewHelper');
     $reflectionService = new \F3\FLOW3\Reflection\ReflectionService();
     $reflectionService->setStatusCache($this->getMock('F3\\FLOW3\\Cache\\Frontend\\StringFrontend', array(), array(), '', FALSE));
     $reflectionService->setDataCache($this->getMock('F3\\FLOW3\\Cache\\Frontend\\VariableFrontend', array(), array(), '', FALSE));
     $reflectionService->initialize($availableClassNames);
     $viewHelper = new \F3\Fluid\Core\Fixtures\TestViewHelper();
     $viewHelper->injectReflectionService($reflectionService);
     $expected = array('param1' => new \F3\Fluid\Core\ViewHelper\ArgumentDefinition('param1', 'integer', '', TRUE, null, TRUE), 'param2' => new \F3\Fluid\Core\ViewHelper\ArgumentDefinition('param2', 'array', '', TRUE, null, TRUE), 'param3' => new \F3\Fluid\Core\ViewHelper\ArgumentDefinition('param3', 'string', '', FALSE, 'default', TRUE));
     $this->assertEquals($expected, $viewHelper->prepareArguments(), 'Annotation based arguments were not registered.');
 }