public function testValidatingTemperatureInFahrenheit() { Configuration::General()->temperatureUnit()->set(TemperatureUnit::FAHRENHEIT); $_POST = array('empty' => '', 'negative' => '-10', 'comma' => '13,5', 'point' => '13.5', 'zero' => '0', 'large' => '33'); foreach (array_keys($_POST) as $key) { $this->object->validatePost($key, FormularValueParser::$PARSER_TEMPERATURE); } $this->assertEquals(null, $_POST['empty']); $this->assertEquals(-23.3, $_POST['negative'], '', 0.1); $this->assertEquals(-10.3, $_POST['comma'], '', 0.1); $this->assertEquals(-10.3, $_POST['point'], '', 0.1); $this->assertEquals(-17.8, $_POST['zero'], '', 0.1); $this->assertEquals(0.5600000000000001, $_POST['large'], '', 0.1); }
/** * @covers FormularValueParser::validatePost */ public function testValidatePost_PARSER_DECIMAL() { // TODO: Uses Helper::CommaToPoint, not testable because of mysql-connection $Parser = FormularValueParser::$PARSER_DECIMAL; $Options = array('precision' => '3,1'); $_POST = array('empty' => '', 'toBig' => '270', 'comma' => '27,5', 'point' => '27.5', 'zero' => '0'); $this->assertTrue(true !== $this->object->validatePost('empty', $Parser, $Options)); $this->assertTrue(true !== $this->object->validatePost('toBig', $Parser, $Options)); $this->assertTrue($this->object->validatePost('comma', $Parser, $Options)); $this->assertTrue($this->object->validatePost('point', $Parser, $Options)); $this->assertTrue($this->object->validatePost('zero', $Parser, $Options)); $this->assertEquals($_POST['comma'], 27.5); $this->assertEquals($_POST['point'], 27.5); $this->assertEquals($_POST['zero'], 0.0); }
/** * Validate value */ public function validate() { $validation = FormularValueParser::validatePost($this->name, $this->parser, $this->parserOptions); if ($validation !== true) { self::setKeyAsFailed($this->name); self::addValidationFailure(is_string($validation) ? $validation : __('Your input is not allowed.') . ' (' . $this->name . ')'); } }
/** * Add time range condition * @param array $conditions */ protected function addTimeRangeCondition(array &$conditions) { if (FormularValueParser::validatePost('date-from', FormularValueParser::$PARSER_DATE) && FormularValueParser::validatePost('date-to', FormularValueParser::$PARSER_DATE) && $_POST['date-to'] > 0) { $conditions[] = '`t`.`time` BETWEEN ' . (int) $_POST['date-from'] . ' AND ' . ((int) $_POST['date-to'] + DAY_IN_S); } }