/** * Add element to the form. * * @param string $name * @param \Rapid\Form\Element $element * * @return Form */ public function addElement($name, \Rapid\Form\Element $element) { $element->setAttribute('name', $this->elementName($name)); $element->setAttribute('id', $this->elementId($name)); if ($this->model && $this->model->property($name)) { $element->setValue($this->model->property($name)); } $this->elements[$name] = $element; return $this; }
/** * @depends testCreate */ public function testSetProperties() { $model = new \Rapid\Model(); $this->assertEquals(array(), $model->properties(), 'Properties of new model are not empty'); $properties = array('my' => 1, 'another' => 'string'); $model->setProperties($properties, true); $this->assertEquals($properties, $model->properties(), 'Properties don\\t match'); $this->assertEquals(array(), $model->modifiedProperties(), 'Modified properties are incorrect'); $modifiedProperties = array('my' => 2); $model->setProperties($modifiedProperties); $this->assertEquals(array_merge($properties, $modifiedProperties), $model->properties(), 'Properties don\\t match'); $this->assertEquals($modifiedProperties, $model->modifiedProperties(), 'Modified properties are incorrect'); $model->setProperty('new', 1); $this->assertEquals(1, $model->property('new'), 'Property not set'); $this->assertEquals(array_merge($modifiedProperties, array('new' => 1)), $model->modifiedProperties(), 'Modified properties are incorrect'); }