LoaderChainTest.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace Symfony\Tests\Component\Validator\Mapping\Loader;
  3. use Symfony\Component\Validator\Mapping\ClassMetadata;
  4. use Symfony\Component\Validator\Mapping\Loader\LoaderChain;
  5. class LoaderChainTest extends \PHPUnit_Framework_TestCase
  6. {
  7. public function testAllLoadersAreCalled()
  8. {
  9. $metadata = new ClassMetadata('\stdClass');
  10. $loader1 = $this->getMock('Symfony\Component\Validator\Mapping\Loader\LoaderInterface');
  11. $loader1->expects($this->once())
  12. ->method('loadClassMetadata')
  13. ->with($this->equalTo($metadata));
  14. $loader2 = $this->getMock('Symfony\Component\Validator\Mapping\Loader\LoaderInterface');
  15. $loader2->expects($this->once())
  16. ->method('loadClassMetadata')
  17. ->with($this->equalTo($metadata));
  18. $chain = new LoaderChain(array(
  19. $loader1,
  20. $loader2,
  21. ));
  22. $chain->loadClassMetadata($metadata);
  23. }
  24. public function testReturnsTrueIfAnyLoaderReturnedTrue()
  25. {
  26. $metadata = new ClassMetadata('\stdClass');
  27. $loader1 = $this->getMock('Symfony\Component\Validator\Mapping\Loader\LoaderInterface');
  28. $loader1->expects($this->any())
  29. ->method('loadClassMetadata')
  30. ->will($this->returnValue(true));
  31. $loader2 = $this->getMock('Symfony\Component\Validator\Mapping\Loader\LoaderInterface');
  32. $loader2->expects($this->any())
  33. ->method('loadClassMetadata')
  34. ->will($this->returnValue(false));
  35. $chain = new LoaderChain(array(
  36. $loader1,
  37. $loader2,
  38. ));
  39. $this->assertTrue($chain->loadClassMetadata($metadata));
  40. }
  41. public function testReturnsFalseIfNoLoaderReturnedTrue()
  42. {
  43. $metadata = new ClassMetadata('\stdClass');
  44. $loader1 = $this->getMock('Symfony\Component\Validator\Mapping\Loader\LoaderInterface');
  45. $loader1->expects($this->any())
  46. ->method('loadClassMetadata')
  47. ->will($this->returnValue(false));
  48. $loader2 = $this->getMock('Symfony\Component\Validator\Mapping\Loader\LoaderInterface');
  49. $loader2->expects($this->any())
  50. ->method('loadClassMetadata')
  51. ->will($this->returnValue(false));
  52. $chain = new LoaderChain(array(
  53. $loader1,
  54. $loader2,
  55. ));
  56. $this->assertFalse($chain->loadClassMetadata($metadata));
  57. }
  58. }