gnu-social/vendor/symfony/validator/Tests/Constraints/IsNullValidatorTest.php
2021-07-16 19:44:40 +01:00

68 lines
1.7 KiB
PHP

<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Validator\Tests\Constraints;
use Symfony\Component\Validator\Constraints\IsNull;
use Symfony\Component\Validator\Constraints\IsNullValidator;
use Symfony\Component\Validator\Validation;
class IsNullValidatorTest extends AbstractConstraintValidatorTest
{
protected function getApiVersion()
{
return Validation::API_VERSION_2_5;
}
protected function createValidator()
{
return new IsNullValidator();
}
public function testNullIsValid()
{
$this->validator->validate(null, new IsNull());
$this->assertNoViolation();
}
/**
* @dataProvider getInvalidValues
*/
public function testInvalidValues($value, $valueAsString)
{
$constraint = new IsNull(array(
'message' => 'myMessage',
));
$this->validator->validate($value, $constraint);
$this->buildViolation('myMessage')
->setParameter('{{ value }}', $valueAsString)
->setCode(IsNull::NOT_NULL_ERROR)
->assertRaised();
}
public function getInvalidValues()
{
return array(
array(0, '0'),
array(false, 'false'),
array(true, 'true'),
array('', '""'),
array('foo bar', '"foo bar"'),
array(new \DateTime(), 'object'),
array(new \stdClass(), 'object'),
array(array(), 'array'),
);
}
}