/**
  * Test that the form extension correctly sets default form options.
  */
 public function testFormDefaultOptions()
 {
     $formType = new ModifiableCollectionFormType();
     $mockResolver = $this->getMockBuilder('Symfony\\Component\\OptionsResolver\\OptionsResolverInterface')->getMock();
     $mockResolver->expects($this->once())->method('setRequired')->with(array('mod_collection_prototype_template'));
     $mockResolver->expects($this->once())->method('setOptional')->with(array('prototype_data', 'mod_collection_btn_add_text', 'mod_collection_btn_remove_text', 'mod_collection_item_limit', 'mod_collection_prototype_template'));
     $mockResolver->expects($this->once())->method('setAllowedTypes')->with(array('mod_collection_prototype_template' => 'string', 'mod_collection_btn_add_text' => 'string', 'mod_collection_btn_remove_text' => 'string', 'mod_collection_item_limit' => array('integer', 'null')));
     $mockResolver->expects($this->once())->method('setDefaults')->with(array('prototype_data' => null, 'mod_collection_btn_add_text' => 'Add item', 'mod_collection_btn_remove_text' => 'Remove item', 'mod_collection_item_limit' => null));
     $formType->setDefaultOptions($mockResolver);
 }
 /**
  * This method loads all basic system wide form types and extensions that are used in various forms and returns
  * them as a simple array.
  *
  * @return array
  */
 protected function getBaseExtensions()
 {
     $modifiableCollectionFormType = new ModifiableCollectionFormType();
     return array($modifiableCollectionFormType->getName() => $modifiableCollectionFormType);
 }