MemberMetadataTest.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace Symfony\Tests\Component\Validator\Mapping;
  3. require_once __DIR__.'/../Fixtures/ConstraintA.php';
  4. require_once __DIR__.'/../Fixtures/ConstraintB.php';
  5. use Symfony\Tests\Component\Validator\Fixtures\ConstraintA;
  6. use Symfony\Tests\Component\Validator\Fixtures\ConstraintB;
  7. use Symfony\Component\Validator\Constraints\Valid;
  8. use Symfony\Component\Validator\Mapping\MemberMetadata;
  9. class MemberMetadataTest extends \PHPUnit_Framework_TestCase
  10. {
  11. protected $metadata;
  12. protected function setUp()
  13. {
  14. $this->metadata = new TestMemberMetadata(
  15. 'Symfony\Tests\Component\Validator\Fixtures\Entity',
  16. 'getLastName',
  17. 'lastName'
  18. );
  19. }
  20. public function testAddValidSetsMemberToCascaded()
  21. {
  22. $result = $this->metadata->addConstraint(new Valid());
  23. $this->assertEquals(array(), $this->metadata->getConstraints());
  24. $this->assertEquals($result, $this->metadata);
  25. $this->assertTrue($this->metadata->isCascaded());
  26. }
  27. public function testAddOtherConstraintDoesNotSetMemberToCascaded()
  28. {
  29. $result = $this->metadata->addConstraint($constraint = new ConstraintA());
  30. $this->assertEquals(array($constraint), $this->metadata->getConstraints());
  31. $this->assertEquals($result, $this->metadata);
  32. $this->assertFalse($this->metadata->isCascaded());
  33. }
  34. public function testSerialize()
  35. {
  36. $this->metadata->addConstraint(new ConstraintA(array('property1' => 'A')));
  37. $this->metadata->addConstraint(new ConstraintB(array('groups' => 'TestGroup')));
  38. $metadata = unserialize(serialize($this->metadata));
  39. $this->assertEquals($this->metadata, $metadata);
  40. }
  41. }
  42. class TestMemberMetadata extends MemberMetadata
  43. {
  44. public function getValue($object)
  45. {
  46. }
  47. protected function newReflectionMember()
  48. {
  49. }
  50. }