[Serializer] Fix MaxDepth annotation exceptions
This commit is contained in:
parent
05e83f5a4e
commit
999f769ba5
@ -30,8 +30,8 @@ class MaxDepth
|
|||||||
|
|
||||||
public function __construct(array $data)
|
public function __construct(array $data)
|
||||||
{
|
{
|
||||||
if (!isset($data['value']) || !$data['value']) {
|
if (!isset($data['value'])) {
|
||||||
throw new InvalidArgumentException(sprintf('Parameter of annotation "%s" cannot be empty.', get_class($this)));
|
throw new InvalidArgumentException(sprintf('Parameter of annotation "%s" should be set.', get_class($this)));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_int($data['value']) || $data['value'] <= 0) {
|
if (!is_int($data['value']) || $data['value'] <= 0) {
|
||||||
|
@ -20,26 +20,32 @@ class MaxDepthTest extends \PHPUnit_Framework_TestCase
|
|||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @expectedException \Symfony\Component\Serializer\Exception\InvalidArgumentException
|
* @expectedException \Symfony\Component\Serializer\Exception\InvalidArgumentException
|
||||||
|
* @expectedExceptionMessage Parameter of annotation "Symfony\Component\Serializer\Annotation\MaxDepth" should be set.
|
||||||
*/
|
*/
|
||||||
public function testNotSetMaxDepthParameter()
|
public function testNotSetMaxDepthParameter()
|
||||||
{
|
{
|
||||||
new MaxDepth(array());
|
new MaxDepth(array());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public function provideInvalidValues()
|
||||||
* @expectedException \Symfony\Component\Serializer\Exception\InvalidArgumentException
|
|
||||||
*/
|
|
||||||
public function testEmptyMaxDepthParameter()
|
|
||||||
{
|
{
|
||||||
new MaxDepth(array('value' => ''));
|
return array(
|
||||||
|
array(''),
|
||||||
|
array('foo'),
|
||||||
|
array('1'),
|
||||||
|
array(0),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @dataProvider provideInvalidValues
|
||||||
|
*
|
||||||
* @expectedException \Symfony\Component\Serializer\Exception\InvalidArgumentException
|
* @expectedException \Symfony\Component\Serializer\Exception\InvalidArgumentException
|
||||||
|
* @expectedExceptionMessage Parameter of annotation "Symfony\Component\Serializer\Annotation\MaxDepth" must be a positive integer.
|
||||||
*/
|
*/
|
||||||
public function testNotAnIntMaxDepthParameter()
|
public function testNotAnIntMaxDepthParameter($value)
|
||||||
{
|
{
|
||||||
new MaxDepth(array('value' => 'foo'));
|
new MaxDepth(array('value' => $value));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testMaxDepthParameters()
|
public function testMaxDepthParameters()
|
||||||
|
Reference in New Issue
Block a user