[TASK] Removes extra empty lines
[Packages/TYPO3.CMS.git] / typo3 / sysext / fluid / Tests / Unit / ViewHelpers / Form / TextfieldViewHelperTest.php
1 <?php
2 namespace TYPO3\CMS\Fluid\Tests\Unit\ViewHelpers\Form;
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
14 /**
15 * Test for the "Textfield" Form view helper
16 */
17 class TextfieldViewHelperTest extends \TYPO3\CMS\Fluid\Tests\Unit\ViewHelpers\Form\FormFieldViewHelperBaseTestcase
18 {
19 /**
20 * @var \TYPO3\CMS\Fluid\ViewHelpers\Form\TextfieldViewHelper
21 */
22 protected $viewHelper;
23
24 protected function setUp()
25 {
26 parent::setUp();
27 $this->viewHelper = $this->getAccessibleMock(\TYPO3\CMS\Fluid\ViewHelpers\Form\TextfieldViewHelper::class, array('setErrorClassAttribute', 'registerFieldNameForFormTokenGeneration'));
28 $this->arguments['name'] = '';
29 $this->injectDependenciesIntoViewHelper($this->viewHelper);
30 $this->viewHelper->initializeArguments();
31 }
32
33 /**
34 * @test
35 */
36 public function renderCorrectlySetsTagName()
37 {
38 $mockTagBuilder = $this->getMock(\TYPO3\CMS\Fluid\Core\ViewHelper\TagBuilder::class, array('setTagName'), array(), '', false);
39 $mockTagBuilder->expects($this->once())->method('setTagName')->with('input');
40 $this->viewHelper->_set('tag', $mockTagBuilder);
41
42 $this->viewHelper->initialize();
43 $this->viewHelper->render();
44 }
45
46 /**
47 * @test
48 */
49 public function renderCorrectlySetsTypeNameAndValueAttributes()
50 {
51 $mockTagBuilder = $this->getMock(\TYPO3\CMS\Fluid\Core\ViewHelper\TagBuilder::class, array('addAttribute', 'setContent', 'render'), array(), '', false);
52 $mockTagBuilder->expects($this->at(0))->method('addAttribute')->with('type', 'text');
53 $mockTagBuilder->expects($this->at(1))->method('addAttribute')->with('name', 'NameOfTextfield');
54 $this->viewHelper->expects($this->once())->method('registerFieldNameForFormTokenGeneration')->with('NameOfTextfield');
55 $mockTagBuilder->expects($this->at(2))->method('addAttribute')->with('value', 'Current value');
56 $mockTagBuilder->expects($this->once())->method('render');
57 $this->viewHelper->_set('tag', $mockTagBuilder);
58
59 $arguments = array(
60 'name' => 'NameOfTextfield',
61 'value' => 'Current value'
62 );
63 $this->viewHelper->setArguments($arguments);
64
65 $this->viewHelper->setViewHelperNode(new \TYPO3\CMS\Fluid\Tests\Unit\ViewHelpers\Form\Fixtures\EmptySyntaxTreeNode());
66 $this->viewHelper->initialize();
67 $this->viewHelper->render();
68 }
69
70 /**
71 * @test
72 */
73 public function renderCallsSetErrorClassAttribute()
74 {
75 $this->viewHelper->expects($this->once())->method('setErrorClassAttribute');
76 $this->viewHelper->render();
77 }
78
79 /**
80 * @test
81 */
82 public function renderAddsPlaceholder()
83 {
84 $mockTagBuilder = $this->getMock(\TYPO3\CMS\Fluid\Core\ViewHelper\TagBuilder::class, array('addAttribute', 'setContent', 'render'), array(), '', false);
85 $mockTagBuilder->expects($this->at(0))->method('addAttribute')->with('placeholder', 'SomePlaceholder');
86 $mockTagBuilder->expects($this->at(1))->method('addAttribute')->with('type', 'text');
87 $mockTagBuilder->expects($this->at(2))->method('addAttribute')->with('name', 'NameOfTextfield');
88 $mockTagBuilder->expects($this->once())->method('render');
89 $this->viewHelper->_set('tag', $mockTagBuilder);
90
91 $arguments = array(
92 'name' => 'NameOfTextfield',
93 'placeholder' => 'SomePlaceholder'
94 );
95 $this->viewHelper->setArguments($arguments);
96
97 $this->viewHelper->setViewHelperNode(new \TYPO3\CMS\Fluid\Tests\Unit\ViewHelpers\Form\Fixtures\EmptySyntaxTreeNode());
98 $this->viewHelper->initialize();
99 $this->viewHelper->render();
100 }
101
102 /**
103 * @test
104 */
105 public function renderCorrectlySetsRequiredAttribute()
106 {
107 $mockTagBuilder = $this->getMock(\TYPO3\CMS\Fluid\Core\ViewHelper\TagBuilder::class, array('addAttribute', 'setContent', 'render'), array(), '', false);
108 $mockTagBuilder->expects($this->at(0))->method('addAttribute')->with('type', 'text');
109 $mockTagBuilder->expects($this->at(1))->method('addAttribute')->with('name', 'NameOfTextfield');
110 $this->viewHelper->expects($this->once())->method('registerFieldNameForFormTokenGeneration')->with('NameOfTextfield');
111 $mockTagBuilder->expects($this->at(2))->method('addAttribute')->with('value', 'Current value');
112 $mockTagBuilder->expects($this->at(3))->method('addAttribute')->with('required', 'required');
113 $mockTagBuilder->expects($this->once())->method('render');
114 $this->viewHelper->_set('tag', $mockTagBuilder);
115
116 $arguments = array(
117 'name' => 'NameOfTextfield',
118 'value' => 'Current value'
119 );
120 $this->viewHelper->setArguments($arguments);
121
122 $this->viewHelper->setViewHelperNode(new \TYPO3\CMS\Fluid\Tests\Unit\ViewHelpers\Form\Fixtures\EmptySyntaxTreeNode());
123 $this->viewHelper->initialize();
124 $this->viewHelper->render(true);
125 }
126 }