public function Field($properties = array()) { $source = $this->getSource(); // Default value to best availabel locale $value = $this->Value(); if ($this->config()->default_to_locale && (!$value || !isset($source[$value])) && $this->locale()) { $locale = new Zend_Locale(); $locale->setLocale($this->locale()); $value = $locale->getRegion(); $this->setValue($value); } // Default to default country otherwise if (!$value || !isset($source[$value])) { $this->setValue($this->config()->default_country); } return parent::Field($properties); }
public function testStringOneValueSelectedOptionBehaviour() { $field = new DropdownField('Field', null, array('-1' => 'some negative', '0' => 'none', '1' => 'one', '2+' => 'two or more'), '1'); $selectedOptions = $this->findSelectedOptionElements($field->Field()); $this->assertEquals((string) $selectedOptions[0], 'one', 'The selected option is "one"'); $field = new DropdownField('Field', null, array('-1' => 'some negative', '0' => 'none', '1' => 'one', '2+' => 'two or more'), 1); $selectedOptions = $this->findSelectedOptionElements($field->Field()); $this->assertEquals((string) $selectedOptions[0], 'one', 'The selected option is "one"'); }