StaticMethodLoaderTest.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace Symfony\Tests\Components\Validator\Mapping\Loader;
  3. require_once __DIR__.'/../../../../../../bootstrap.php';
  4. use Symfony\Components\Validator\Mapping\ClassMetadata;
  5. use Symfony\Components\Validator\Mapping\Loader\StaticMethodLoader;
  6. class StaticMethodLoaderTest extends \PHPUnit_Framework_TestCase
  7. {
  8. public function testLoadClassMetadataReturnsTrueIfSuccessful()
  9. {
  10. $loader = new StaticMethodLoader('loadMetadata');
  11. $metadata = new ClassMetadata(__NAMESPACE__.'\StaticLoaderEntity');
  12. $this->assertTrue($loader->loadClassMetadata($metadata));
  13. }
  14. public function testLoadClassMetadataReturnsFalseIfNotSuccessful()
  15. {
  16. $loader = new StaticMethodLoader('loadMetadata');
  17. $metadata = new ClassMetadata('\stdClass');
  18. $this->assertFalse($loader->loadClassMetadata($metadata));
  19. }
  20. public function testLoadClassMetadata()
  21. {
  22. $loader = new StaticMethodLoader('loadMetadata');
  23. $metadata = new ClassMetadata(__NAMESPACE__.'\StaticLoaderEntity');
  24. $loader->loadClassMetadata($metadata);
  25. $this->assertEquals(StaticLoaderEntity::$invokedWith, $metadata);
  26. }
  27. }
  28. class StaticLoaderEntity
  29. {
  30. static public $invokedWith = null;
  31. public static function loadMetadata(ClassMetadata $metadata)
  32. {
  33. self::$invokedWith = $metadata;
  34. }
  35. }