public function testEvaluateFunction() { $this->assertEquals(1, Utils::evaluate(1)); $this->assertEquals(2, Utils::evaluate(function () { return 2; })); }
public function display($value) { if ($this->validPairs && isset($this->validPairs[$value])) { return $this->validPairs[$value]; } if ($this->validValues && ($validValues = Utils::evaluate($this->validValues))) { // search value in validValues array // because we store the validValues in an (label => value) array. if (ArrayUtils::is_assoc_array($validValues)) { if (false !== ($label = array_search($value, $validValues))) { return $label; } return; } elseif (in_array($value, $validValues)) { return $value; } } // Optional Values if ($this->optionValues && ($optionValues = Utils::evaluate($this->optionValues))) { // search value in validValues array // because we store the validValues in an (label => value) array. if (ArrayUtils::is_assoc_array($optionValues)) { if (false !== ($label = array_search($value, $optionValues))) { return $label; } return $value; } elseif (in_array($value, $optionValues)) { return $value; } return $value; } // backward compatible method if ($this->validValueBuilder && ($values = call_user_func($this->validValueBuilder))) { if (ArrayUtils::is_assoc_array($values)) { if (false !== ($label = array_search($value, $values))) { return $label; } return; } elseif (in_array($value, $values)) { return $value; } } if ($this->isa == 'bool') { return $value ? _('Yes') : _('No'); } if ($value) { if (is_string($value)) { return _($value); } elseif ($value instanceof DateTime) { return $value->format(DateTime::ATOM); } } return $value; }