Example #1
0
 /**
  * @covers Acreage::Form::add_field
  */
 public function test_add_field_adds_a_field_with_a_default_if_default_set_on_form()
 {
     $mock_config = array('validator' => 'config.validator');
     $subject = new Form($mock_config);
     $resp = $subject->set_defaults(array('name' => 'default'))->add_field('name', 'text');
     $this->assertSame($subject, $resp);
     $this->assertInstanceOf('Acreage\\Fields\\Input', $subject->fields[0]);
     $this->assertSame($subject->defaults, array('name' => 'default'));
     $field = $subject->fields[0];
     $this->assertSame('name', $field->name);
     $this->assertSame('text', $field->type);
     $this->assertSame('default', $field->value);
 }
Example #2
0
 /**
  *  create the form from an array of data
  */
 public static function create_from_data($config, $data)
 {
     $form = new Form($config);
     if (array_key_exists('attributes', $data)) {
         $form->set_attributes($data['attributes']);
     }
     if (array_key_exists('defaults', $data)) {
         $form->set_defaults($data['defaults']);
     }
     foreach ($data['fields'] as $field_src) {
         $field = array_merge(array('options' => array(), 'constraints' => array()), $field_src);
         $form->add_field($field['name'], $field['type'], $field['options'], $field['constraints']);
     }
     return $form;
 }