1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- namespace Symfony\Tests\Component\Validator\Mapping\Loader;
- use Symfony\Component\Validator\Mapping\ClassMetadata;
- use Symfony\Component\Validator\Mapping\Loader\StaticMethodLoader;
- use Symfony\Component\Validator\Constraints\NotNull;
- class StaticMethodLoaderTest extends \PHPUnit_Framework_TestCase
- {
- public function testLoadClassMetadataReturnsTrueIfSuccessful()
- {
- $loader = new StaticMethodLoader('loadMetadata');
- $metadata = new ClassMetadata(__NAMESPACE__.'\StaticLoaderEntity');
- $this->assertTrue($loader->loadClassMetadata($metadata));
- }
- public function testLoadClassMetadataReturnsFalseIfNotSuccessful()
- {
- $loader = new StaticMethodLoader('loadMetadata');
- $metadata = new ClassMetadata('\stdClass');
- $this->assertFalse($loader->loadClassMetadata($metadata));
- }
- public function testLoadClassMetadata()
- {
- $loader = new StaticMethodLoader('loadMetadata');
- $metadata = new ClassMetadata(__NAMESPACE__.'\StaticLoaderEntity');
- $loader->loadClassMetadata($metadata);
- $this->assertEquals(StaticLoaderEntity::$invokedWith, $metadata);
- }
- public function testLoadClassMetadataDoesNotRepeatLoadWithParentClasses()
- {
- $loader = new StaticMethodLoader('loadMetadata');
- $metadata = new ClassMetadata(__NAMESPACE__.'\StaticLoaderDocument');
- $loader->loadClassMetadata($metadata);
- $this->assertSame(0, count($metadata->getConstraints()));
- $loader = new StaticMethodLoader('loadMetadata');
- $metadata = new ClassMetadata(__NAMESPACE__.'\BaseStaticLoaderDocument');
- $loader->loadClassMetadata($metadata);
- $this->assertSame(1, count($metadata->getConstraints()));
- }
- }
- class StaticLoaderEntity
- {
- static public $invokedWith = null;
- public static function loadMetadata(ClassMetadata $metadata)
- {
- self::$invokedWith = $metadata;
- }
- }
- class StaticLoaderDocument extends BaseStaticLoaderDocument
- {
- }
- class BaseStaticLoaderDocument
- {
- static public function loadMetadata(ClassMetadata $metadata)
- {
- $metadata->addConstraint(new NotNull());
- }
- }
|