49a8b5256d0b6fed6abebfbbaa58e6b8c2d002f7
[yaffs-website] / vendor / symfony / validator / Tests / Mapping / Loader / LoaderChainTest.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\Validator\Tests\Mapping\Loader;
13
14 use PHPUnit\Framework\TestCase;
15 use Symfony\Component\Validator\Mapping\ClassMetadata;
16 use Symfony\Component\Validator\Mapping\Loader\LoaderChain;
17
18 class LoaderChainTest extends TestCase
19 {
20     public function testAllLoadersAreCalled()
21     {
22         $metadata = new ClassMetadata('\stdClass');
23
24         $loader1 = $this->getMockBuilder('Symfony\Component\Validator\Mapping\Loader\LoaderInterface')->getMock();
25         $loader1->expects($this->once())
26                         ->method('loadClassMetadata')
27                         ->with($this->equalTo($metadata));
28
29         $loader2 = $this->getMockBuilder('Symfony\Component\Validator\Mapping\Loader\LoaderInterface')->getMock();
30         $loader2->expects($this->once())
31                         ->method('loadClassMetadata')
32                         ->with($this->equalTo($metadata));
33
34         $chain = new LoaderChain(array(
35             $loader1,
36             $loader2,
37         ));
38
39         $chain->loadClassMetadata($metadata);
40     }
41
42     public function testReturnsTrueIfAnyLoaderReturnedTrue()
43     {
44         $metadata = new ClassMetadata('\stdClass');
45
46         $loader1 = $this->getMockBuilder('Symfony\Component\Validator\Mapping\Loader\LoaderInterface')->getMock();
47         $loader1->expects($this->any())
48                         ->method('loadClassMetadata')
49                         ->will($this->returnValue(true));
50
51         $loader2 = $this->getMockBuilder('Symfony\Component\Validator\Mapping\Loader\LoaderInterface')->getMock();
52         $loader2->expects($this->any())
53                         ->method('loadClassMetadata')
54                         ->will($this->returnValue(false));
55
56         $chain = new LoaderChain(array(
57             $loader1,
58             $loader2,
59         ));
60
61         $this->assertTrue($chain->loadClassMetadata($metadata));
62     }
63
64     public function testReturnsFalseIfNoLoaderReturnedTrue()
65     {
66         $metadata = new ClassMetadata('\stdClass');
67
68         $loader1 = $this->getMockBuilder('Symfony\Component\Validator\Mapping\Loader\LoaderInterface')->getMock();
69         $loader1->expects($this->any())
70                         ->method('loadClassMetadata')
71                         ->will($this->returnValue(false));
72
73         $loader2 = $this->getMockBuilder('Symfony\Component\Validator\Mapping\Loader\LoaderInterface')->getMock();
74         $loader2->expects($this->any())
75                         ->method('loadClassMetadata')
76                         ->will($this->returnValue(false));
77
78         $chain = new LoaderChain(array(
79             $loader1,
80             $loader2,
81         ));
82
83         $this->assertFalse($chain->loadClassMetadata($metadata));
84     }
85 }