/** * @param \Phpro\AnnotatedForms\Event\FormEvent $event * @param \Zend\Form\Form $form * @param \Zend\Form\Element\Collection $collection * @param \Zend\Form\InputFilterProviderFieldset $fieldset * @param \Zend\InputFilter\InputFilter $inputFilter */ public function it_should_configure_collection_input_providers($event, $form, $collection, $fieldset, $inputFilter) { $event->getTarget()->willReturn($form); $form->getFieldsets()->willReturn(array($collection)); $form->getInputFilter()->willReturn($inputFilter); $collection->getName()->willReturn('collection'); $collection->getTargetElement()->willReturn($fieldset); $collection->getFieldsets()->willReturn(array($fieldset)); $fieldset->getFieldsets()->willReturn(array()); $fieldset->getInputFilterSpecification()->willReturn(array('name' => array('required' => true))); $this->configureCollectionInputFilter($event); $inputFilter->remove('collection')->shouldHaveBeenCalled(); $inputFilter->add(Argument::type('Zend\\InputFilter\\CollectionInputFilter'), 'collection')->shouldHaveBeenCalled(); }
public function testPopulateValuesWithFirstKeyGreaterThanZero() { $inputData = array(1 => array('name' => 'black'), 5 => array('name' => 'white')); // Standalone Collection element $collection = new Collection('fieldsets', array('count' => 1, 'target_element' => new \ZendTest\Form\TestAsset\CategoryFieldset())); $form = new Form(); $form->add(array('type' => 'Zend\\Form\\Element\\Collection', 'name' => 'collection', 'options' => array('count' => 1, 'target_element' => new \ZendTest\Form\TestAsset\CategoryFieldset()))); // Collection element attached to a form $formCollection = $form->get('collection'); $collection->populateValues($inputData); $formCollection->populateValues($inputData); $this->assertEquals(count($collection->getFieldsets()), count($inputData)); $this->assertEquals(count($formCollection->getFieldsets()), count($inputData)); }