public function addAdditionalIdentityPropertiesIfNeededCallsRenderIdentityFieldWithTheRightParametersWithMoreHierarchyLevels()
{
$className = 'test_' . uniqid();
$mockFormObject = eval('
class ' . $className . ' {
public function getSomething() {
return "MyString";
}
public function getValue() {
return new ' . $className . ';
}
}
return new ' . $className . ';
');
$property = 'value.value.something';
$objectName = 'myObject';
$expectedProperty1 = 'myObject[value]';
$expectedProperty2 = 'myObject[value][value]';
$formFieldViewHelper = $this->getAccessibleMock(\Neos\FluidAdaptor\ViewHelpers\Form\AbstractFormFieldViewHelper::class, array('renderHiddenIdentityField'), array(), '', false);
$this->injectDependenciesIntoViewHelper($formFieldViewHelper);
$arguments = array('property' => $property);
$formFieldViewHelper->_set('arguments', $arguments);
$this->viewHelperVariableContainerData = array(\Neos\FluidAdaptor\ViewHelpers\FormViewHelper::class => array('formObjectName' => $objectName, 'formObject' => $mockFormObject, 'additionalIdentityProperties' => array()));
$formFieldViewHelper->expects($this->at(0))->method('renderHiddenIdentityField')->with($mockFormObject, $expectedProperty1);
$formFieldViewHelper->expects($this->at(1))->method('renderHiddenIdentityField')->with($mockFormObject, $expectedProperty2);
$formFieldViewHelper->_call('addAdditionalIdentityPropertiesIfNeeded');
}