public function testSetDataMapsViewDataToChildren()
{
$mapper = $this->getDataMapper();
$form = $this->getBuilder()
->setCompound(true)
->setDataMapper($mapper)
->addViewTransformer(new FixedDataTransformer(array(
'' => '',
'foo' => 'bar',
)))
->getForm();
$form->add($child1 = $this->getBuilder('firstName')->getForm());
$form->add($child2 = $this->getBuilder('lastName')->getForm());
$mapper->expects($this->once())
->method('mapDataToForms')
->with('bar', $this->isInstanceOf('\RecursiveIteratorIterator'))
->will($this->returnCallback(function ($data, \RecursiveIteratorIterator $iterator) use ($child1, $child2) {
$this->assertInstanceOf('Symfony\Component\Form\Util\InheritDataAwareIterator', $iterator->getInnerIterator());
$this->assertSame(array('firstName' => $child1, 'lastName' => $child2), iterator_to_array($iterator));
}));
$form->setData('foo');
}