19 use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase;
32 protected function setUp()
36 $this->injectDependenciesIntoViewHelper($this->viewHelper);
44 $this->setArgumentsUnderTest(
50 $expectedResult =
'<input type="hidden" name="foo" value="" /><input type="checkbox" name="foo" value="" />';
51 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
52 $this->assertEquals($expectedResult, $actualResult);
60 $this->setArgumentsUnderTest(
67 $expectedResult =
'<input type="hidden" name="foo" value="" /><input type="checkbox" name="foo" value="" checked="checked" />';
68 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
69 $this->assertEquals($expectedResult, $actualResult);
79 $this->setArgumentsUnderTest(
83 'property' =>
'someProperty',
88 $formObject = new \stdClass();
89 $formObject->someProperty =
false;
91 $this->stubVariableContainer($formObject);
92 $this->stubRequestWithoutMappingErrors();
94 $result = $this->viewHelper->initializeArgumentsAndRender();
96 $this->assertContains(
'<input type="hidden" name="fieldPrefix[objectName][someProperty]" value="" />', $result);
97 $this->assertContains(
'<input type="checkbox" name="fieldPrefix[objectName][someProperty]" value="foo" checked="checked" />', $result);
107 $this->setArgumentsUnderTest(
111 'property' =>
'someProperty',
115 $formObject = new \stdClass();
116 $formObject->someProperty =
true;
118 $this->stubVariableContainer($formObject);
119 $this->stubRequestWithoutMappingErrors();
121 $result = $this->viewHelper->initializeArgumentsAndRender();
123 $this->assertContains(
'<input type="hidden" name="fieldPrefix[objectName][someProperty]" value="" />', $result);
124 $this->assertContains(
125 '<input type="checkbox" name="fieldPrefix[objectName][someProperty]" value="foo" checked="checked" />',
135 $this->setArgumentsUnderTest(
139 'property' =>
'someProperty',
143 $formObject = new \stdClass();
144 $formObject->someProperty = [];
146 $this->stubVariableContainer($formObject);
147 $this->stubRequestWithoutMappingErrors();
149 $result = $this->viewHelper->initializeArgumentsAndRender();
151 $this->assertContains(
152 '<input type="checkbox" name="fieldPrefix[objectName][someProperty][]" value="foo" />',
162 $this->setArgumentsUnderTest(
166 'property' =>
'someProperty',
171 $formObject = new \stdClass();
172 $formObject->someProperty = [
'foo'];
174 $this->stubVariableContainer($formObject);
175 $this->stubRequestWithoutMappingErrors();
177 $result = $this->viewHelper->initializeArgumentsAndRender();
179 $this->assertContains(
180 '<input type="checkbox" name="fieldPrefix[objectName][someProperty]" value="foo" checked="checked" />',
190 $this->setArgumentsUnderTest(
194 'property' =>
'someProperty',
199 $formObject = new \ArrayObject([
'foo',
'bar',
'baz']);
201 $this->stubVariableContainer($formObject);
202 $this->stubRequestWithoutMappingErrors();
204 $result = $this->viewHelper->initializeArgumentsAndRender();
206 $this->assertContains(
207 '<input type="checkbox" name="fieldPrefix[objectName][someProperty]" value="bar" checked="checked" />',
217 $this->setArgumentsUnderTest(
221 'property' =>
'someProperty',
225 $formObject = new \stdClass();
226 $formObject->someProperty =
'bar';
228 $this->stubVariableContainer($formObject);
229 $this->stubRequestWithoutMappingErrors();
231 $result = $this->viewHelper->initializeArgumentsAndRender();
233 $this->assertContains(
234 '<input type="checkbox" name="fieldPrefix[objectName][someProperty]" value="foo" checked="checked" />',
244 $this->setArgumentsUnderTest(
248 'property' =>
'someProperty',
252 $formObject = new \stdClass();
253 $formObject->someProperty =
null;
255 $this->stubVariableContainer($formObject);
256 $this->stubRequestWithoutMappingErrors();
258 $result = $this->viewHelper->initializeArgumentsAndRender();
260 $this->assertContains(
261 '<input type="checkbox" name="fieldPrefix[objectName][someProperty]" value="foo" />',
271 $this->setArgumentsUnderTest(
275 'property' =>
'someProperty',
279 $property1 = new \stdClass();
280 $property2 = new \stdClass();
281 $property3 = new \stdClass();
283 $persistenceManager = $this->prophesize(PersistenceManager::class);
284 $persistenceManager->getIdentifierByObject($property1)->willReturn(1);
285 $persistenceManager->getIdentifierByObject($property2)->willReturn(2);
286 $persistenceManager->getIdentifierByObject($property3)->willReturn(3);
287 $this->viewHelper->injectPersistenceManager($persistenceManager->reveal());
289 $formObject = new \stdClass();
290 $formObject->someProperty = [$property1, $property2, $property3];
292 $this->stubVariableContainer($formObject);
293 $this->stubRequestWithoutMappingErrors();
295 $result = $this->viewHelper->initializeArgumentsAndRender();
297 $this->assertContains(
298 '<input type="checkbox" name="fieldPrefix[objectName][someProperty][]" value="2" />',
308 $this->setArgumentsUnderTest(
312 'property' =>
'someProperty',
313 'errorClass' =>
'error',
317 $formObject = new \stdClass();
318 $formObject->someProperty =
null;
320 $this->stubVariableContainer($formObject);
321 $this->stubRequestWithMappingErrors();
323 $result = $this->viewHelper->initializeArgumentsAndRender();
325 $this->assertContains(
326 '<input type="checkbox" name="fieldPrefix[objectName][someProperty]" value="foo" class="error" />',
336 $this->setArgumentsUnderTest(
340 'property' =>
'someProperty',
344 $formObject = new \stdClass();
345 $formObject->someProperty =
null;
347 $this->stubVariableContainer($formObject);
348 $this->stubRequestWithMappingErrors();
350 $result = $this->viewHelper->initializeArgumentsAndRender();
352 $this->assertContains(
353 '<input type="checkbox" name="fieldPrefix[objectName][someProperty]" value="foo" class="f3-form-error" />',
363 $this->setArgumentsUnderTest(
367 'property' =>
'someProperty',
368 'class' =>
'css_class'
372 $formObject = new \stdClass();
373 $formObject->someProperty =
null;
375 $this->stubVariableContainer($formObject);
376 $this->stubRequestWithMappingErrors();
378 $result = $this->viewHelper->initializeArgumentsAndRender();
380 $this->assertContains(
381 '<input class="css_class f3-form-error" type="checkbox" name="fieldPrefix[objectName][someProperty]" value="foo" />',