/**
  * @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();
 }
Example #2
0
 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));
 }