TYPO3 CMS  TYPO3_6-2
TextareaViewHelperTest.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 
22  protected $viewHelper;
23 
24  public function setUp() {
25  parent::setUp();
26  $this->viewHelper = $this->getAccessibleMock('TYPO3\\CMS\\Fluid\\ViewHelpers\\Form\\TextareaViewHelper', array('setErrorClassAttribute', 'registerFieldNameForFormTokenGeneration'));
27  $this->arguments['name'] = '';
28  $this->injectDependenciesIntoViewHelper($this->viewHelper);
29  $this->viewHelper->initializeArguments();
30  }
31 
35  public function renderCorrectlySetsTagName() {
36  $mockTagBuilder = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\TagBuilder', array('setTagName'), array(), '', FALSE);
37  $mockTagBuilder->expects($this->once())->method('setTagName')->with('textarea');
38  $this->viewHelper->_set('tag', $mockTagBuilder);
39 
40  $this->viewHelper->initialize();
41  $this->viewHelper->render();
42  }
43 
48  $mockTagBuilder = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\TagBuilder', array('addAttribute', 'setContent', 'render'), array(), '', FALSE);
49  $mockTagBuilder->expects($this->once())->method('addAttribute')->with('name', 'NameOfTextarea');
50  $this->viewHelper->expects($this->once())->method('registerFieldNameForFormTokenGeneration')->with('NameOfTextarea');
51  $mockTagBuilder->expects($this->once())->method('setContent')->with('Current value');
52  $mockTagBuilder->expects($this->once())->method('render');
53  $this->viewHelper->_set('tag', $mockTagBuilder);
54 
55  $arguments = array(
56  'name' => 'NameOfTextarea',
57  'value' => 'Current value'
58  );
59  $this->viewHelper->setArguments($arguments);
60 
61  $this->viewHelper->setViewHelperNode(new \TYPO3\CMS\Fluid\Tests\Unit\ViewHelpers\Form\Fixtures\EmptySyntaxTreeNode());
62  $this->viewHelper->initialize();
63  $this->viewHelper->render();
64  }
65 
70  $this->viewHelper->expects($this->once())->method('setErrorClassAttribute');
71  $this->viewHelper->render();
72  }
73 
77  public function renderEscapesTextareaContent() {
78  $mockTagBuilder = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\TagBuilder', array('addAttribute', 'setContent', 'render'), array(), '', FALSE);
79  $mockTagBuilder->expects($this->once())->method('addAttribute')->with('name', 'NameOfTextarea');
80  $this->viewHelper->expects($this->once())->method('registerFieldNameForFormTokenGeneration')->with('NameOfTextarea');
81  $mockTagBuilder->expects($this->once())->method('setContent')->with('some &lt;tag&gt; &amp; &quot;quotes&quot;');
82  $mockTagBuilder->expects($this->once())->method('render');
83  $this->viewHelper->_set('tag', $mockTagBuilder);
84 
85  $arguments = array(
86  'name' => 'NameOfTextarea',
87  'value' => 'some <tag> & "quotes"'
88  );
89  $this->viewHelper->setArguments($arguments);
90 
91  $this->viewHelper->setViewHelperNode(new \TYPO3\CMS\Fluid\Tests\Unit\ViewHelpers\Form\Fixtures\EmptySyntaxTreeNode());
92  $this->viewHelper->initialize();
93  $this->viewHelper->render();
94  }
95 
99  public function renderAddsPlaceholder() {
100  $mockTagBuilder = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\TagBuilder', array('addAttribute', 'setContent', 'render'), array(), '', FALSE);
101  $mockTagBuilder->expects($this->at(0))->method('addAttribute')->with('placeholder', 'SomePlaceholder');
102  $mockTagBuilder->expects($this->at(1))->method('addAttribute')->with('name', 'NameOfTextarea');
103  $mockTagBuilder->expects($this->once())->method('render');
104  $this->viewHelper->_set('tag', $mockTagBuilder);
105 
106  $arguments = array(
107  'name' => 'NameOfTextarea',
108  'placeholder' => 'SomePlaceholder'
109  );
110  $this->viewHelper->setArguments($arguments);
111 
112  $this->viewHelper->setViewHelperNode(new \TYPO3\CMS\Fluid\Tests\Unit\ViewHelpers\Form\Fixtures\EmptySyntaxTreeNode());
113  $this->viewHelper->initialize();
114  $this->viewHelper->render();
115  }
116 }
getAccessibleMock( $originalClassName, array $methods=array(), array $arguments=array(), $mockClassName='', $callOriginalConstructor=TRUE, $callOriginalClone=TRUE, $callAutoload=TRUE)
injectDependenciesIntoViewHelper(\TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper $viewHelper)