Fixes message value for objects

This commit is contained in:
Jon Gotlin 2013-12-27 09:25:59 +01:00 committed by Fabien Potencier
parent 2997baae24
commit 78eeba8f01
2 changed files with 15 additions and 6 deletions

View File

@ -27,6 +27,12 @@ class NullValidator extends ConstraintValidator
public function validate($value, Constraint $constraint)
{
if (null !== $value) {
if (is_object($value)) {
$value = get_class($value);
} elseif (is_array($value)) {
$value = 'Array';
}
$this->context->addViolation($constraint->message, array('{{ value }}' => $value));
}
}

View File

@ -43,7 +43,7 @@ class NullValidatorTest extends \PHPUnit_Framework_TestCase
/**
* @dataProvider getInvalidValues
*/
public function testInvalidValues($value)
public function testInvalidValues($value, $readableValue)
{
$constraint = new Null(array(
'message' => 'myMessage'
@ -52,7 +52,7 @@ class NullValidatorTest extends \PHPUnit_Framework_TestCase
$this->context->expects($this->once())
->method('addViolation')
->with('myMessage', array(
'{{ value }}' => $value,
'{{ value }}' => $readableValue,
));
$this->validator->validate($value, $constraint);
@ -61,10 +61,13 @@ class NullValidatorTest extends \PHPUnit_Framework_TestCase
public function getInvalidValues()
{
return array(
array(0),
array(false),
array(true),
array(''),
array(0, 0),
array(false, false),
array(true, true),
array('', ''),
array('foo bar', 'foo bar'),
array(new \DateTime(), 'DateTime'),
array(array(), 'Array'),
);
}
}