public function validateConstraints($constraints)
{
$validationErrors = array();
foreach ($constraints as $name => $value) {
switch ($name) {
case 'minFloatValue':
case 'maxFloatValue':
if ($value !== null && !is_numeric($value)) {
$validationErrors[] = new ValidationError("Validator parameter '%parameter%' value must be of numeric type", null, array('%parameter%' => $name));
}
break;
default:
$validationErrors[] = new ValidationError("Validator parameter '%parameter%' is unknown", null, array('%parameter%' => $name));
}
}
return $validationErrors;
}
/** * Tests validation of constraints. * * @dataProvider providerForValidateConstraintsKO * @covers \eZ\Publish\Core\FieldType\Validator\FileSizeValidator::validateConstraints */ public function testValidateConstraintsWrongValues($constraints, $expectedMessages, $values) { $validator = new FloatValueValidator(); $messages = $validator->validateConstraints($constraints); foreach ($expectedMessages as $index => $expectedMessage) { $this->assertInstanceOf('eZ\\Publish\\API\\Repository\\Values\\Translation\\Message', $messages[0]->getTranslatableMessage()); $this->assertEquals($expectedMessage, $messages[$index]->getTranslatableMessage()->message); $this->assertEquals($values[$index], $messages[$index]->getTranslatableMessage()->values); } }