MemberMetadataTest.php in Plug 7
File
lib/Symfony/validator/Symfony/Component/Validator/Tests/Mapping/MemberMetadataTest.php
View source
<?php
namespace Symfony\Component\Validator\Tests\Mapping;
use Symfony\Component\Validator\Constraints\Valid;
use Symfony\Component\Validator\Mapping\MemberMetadata;
use Symfony\Component\Validator\Tests\Fixtures\ClassConstraint;
use Symfony\Component\Validator\Tests\Fixtures\ConstraintA;
use Symfony\Component\Validator\Tests\Fixtures\ConstraintB;
class MemberMetadataTest extends \PHPUnit_Framework_TestCase {
protected $metadata;
protected function setUp() {
$this->metadata = new TestMemberMetadata('Symfony\\Component\\Validator\\Tests\\Fixtures\\Entity', 'getLastName', 'lastName');
}
protected function tearDown() {
$this->metadata = null;
}
public function testAddValidSetsMemberToCascaded() {
$result = $this->metadata
->addConstraint(new Valid());
$this
->assertEquals(array(), $this->metadata
->getConstraints());
$this
->assertEquals($result, $this->metadata);
$this
->assertTrue($this->metadata
->isCascaded());
}
public function testAddOtherConstraintDoesNotSetMemberToCascaded() {
$result = $this->metadata
->addConstraint($constraint = new ConstraintA());
$this
->assertEquals(array(
$constraint,
), $this->metadata
->getConstraints());
$this
->assertEquals($result, $this->metadata);
$this
->assertFalse($this->metadata
->isCascaded());
}
public function testAddConstraintRequiresClassConstraints() {
$this
->setExpectedException('Symfony\\Component\\Validator\\Exception\\ConstraintDefinitionException');
$this->metadata
->addConstraint(new ClassConstraint());
}
public function testSerialize() {
$this->metadata
->addConstraint(new ConstraintA(array(
'property1' => 'A',
)));
$this->metadata
->addConstraint(new ConstraintB(array(
'groups' => 'TestGroup',
)));
$metadata = unserialize(serialize($this->metadata));
$this
->assertEquals($this->metadata, $metadata);
}
public function testSerializeCollectionCascaded() {
$this->metadata
->addConstraint(new Valid(array(
'traverse' => true,
'deep' => false,
)));
$metadata = unserialize(serialize($this->metadata));
$this
->assertEquals($this->metadata, $metadata);
}
public function testSerializeCollectionCascadedDeeply() {
$this->metadata
->addConstraint(new Valid(array(
'traverse' => true,
'deep' => true,
)));
$metadata = unserialize(serialize($this->metadata));
$this
->assertEquals($this->metadata, $metadata);
}
public function testSerializeCollectionNotCascaded() {
$this->metadata
->addConstraint(new Valid(array(
'traverse' => false,
)));
$metadata = unserialize(serialize($this->metadata));
$this
->assertEquals($this->metadata, $metadata);
}
}
class TestMemberMetadata extends MemberMetadata {
public function getPropertyValue($object) {
}
protected function newReflectionMember($object) {
}
}