/** * Method to test create(). * * @return void * * @covers Windwalker\Form\FieldHelper::create */ public function testCreate() { $xml = <<<XML <field \tname="flower" \ttype="text" \tlabel="Flower" \tdescription="" \tclass="stub-flower" \tdefault="default-value" \t/> XML; $field = FieldHelper::create($xml); $this->assertInstanceOf('Windwalker\\Form\\Field\\TextField', $field); // Add namespace $xml = <<<XML <field \tname="flower" \ttype="stub" \tlabel="Flower" \tdescription="" \tclass="stub-flower" \tdefault="default-value" \t/> XML; // Get default $field = FieldHelper::create($xml); $this->assertInstanceOf('Windwalker\\Form\\Field\\TextField', $field); // Get custom FieldHelper::addNamespace('Windwalker\\Form\\Test\\Stub'); $field = FieldHelper::create($xml); $this->assertInstanceOf('Windwalker\\Form\\Test\\Stub\\StubField', $field); }
/** * addField * * @param string|AbstractField|\SimpleXMLElement $field * @param string $fieldset * @param string $group * * @return AbstractField|ListField */ public function addField($field, $fieldset = null, $group = null) { $field = FieldHelper::create($field); // B/C $group = str_replace('.', '/', $group); $fieldset = $fieldset ?: $this->wrap['fieldset']; $group = $group ?: $this->wrap['group']; if ($fieldset) { $field->setFieldset($fieldset); } if ($group) { $field->setGroup($group); } $group = $field->getGroup(); $fieldset = $field->getFieldset(); if ($group && !in_array($group, $this->groups)) { $this->groups[] = $group; } if ($fieldset && !in_array($fieldset, $this->fieldsets)) { $this->fieldsets[] = $fieldset; } $field->setControl($this->control); $this->fields[$field->getName(true)] = $field; return $field; }
/** * addField * * @param string|AbstractField|\SimpleXMLElement $field * @param string $fieldset * @param string $group * * @return AbstractField|ListField */ public function addField($field, $fieldset = null, $group = null) { $field = FieldHelper::create($field); if ($fieldset) { $field->setFieldset($fieldset); } if ($group) { $field->setGroup($group); } $group = $field->getGroup(); $fieldset = $field->getFieldset(); if ($group && !in_array($group, $this->groups)) { $this->groups[] = $group; } if ($fieldset && !in_array($fieldset, $this->fieldsets)) { $this->fieldsets[] = $fieldset; } $field->setControl($this->control); $this->fields[$field->getName(true)] = $field; return $field; }