NullValidatorTest.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace Symfony\Tests\Components\Validator;
  3. require_once __DIR__.'/../../../../../bootstrap.php';
  4. use Symfony\Components\Validator\Constraints\Null;
  5. use Symfony\Components\Validator\Constraints\NullValidator;
  6. class NullValidatorTest extends \PHPUnit_Framework_TestCase
  7. {
  8. protected $validator;
  9. public function setUp()
  10. {
  11. $this->validator = new NullValidator();
  12. }
  13. public function testNullIsValid()
  14. {
  15. $this->assertTrue($this->validator->isValid(null, new Null()));
  16. }
  17. /**
  18. * @dataProvider getInvalidValues
  19. */
  20. public function testInvalidValues($value)
  21. {
  22. $this->assertFalse($this->validator->isValid($value, new Null()));
  23. }
  24. public function getInvalidValues()
  25. {
  26. return array(
  27. array(0),
  28. array(false),
  29. array(true),
  30. array(''),
  31. );
  32. }
  33. public function testSetMessage()
  34. {
  35. $constraint = new Null(array(
  36. 'message' => 'myMessage'
  37. ));
  38. $this->assertFalse($this->validator->isValid(1, $constraint));
  39. $this->assertEquals($this->validator->getMessageTemplate(), 'myMessage');
  40. $this->assertEquals($this->validator->getMessageParameters(), array(
  41. 'value' => 1,
  42. ));
  43. }
  44. }