271d17fb8f311bc347ca7c52a488f8758389eb5c
[yaffs-website] / vendor / symfony / translation / Tests / Catalogue / TargetOperationTest.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\Translation\Tests\Catalogue;
13
14 use Symfony\Component\Translation\Catalogue\TargetOperation;
15 use Symfony\Component\Translation\MessageCatalogue;
16 use Symfony\Component\Translation\MessageCatalogueInterface;
17
18 class TargetOperationTest extends AbstractOperationTest
19 {
20     public function testGetMessagesFromSingleDomain()
21     {
22         $operation = $this->createOperation(
23             new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))),
24             new MessageCatalogue('en', array('messages' => array('a' => 'new_a', 'c' => 'new_c')))
25         );
26
27         $this->assertEquals(
28             array('a' => 'old_a', 'c' => 'new_c'),
29             $operation->getMessages('messages')
30         );
31
32         $this->assertEquals(
33             array('c' => 'new_c'),
34             $operation->getNewMessages('messages')
35         );
36
37         $this->assertEquals(
38             array('b' => 'old_b'),
39             $operation->getObsoleteMessages('messages')
40         );
41     }
42
43     public function testGetResultFromSingleDomain()
44     {
45         $this->assertEquals(
46             new MessageCatalogue('en', array(
47                 'messages' => array('a' => 'old_a', 'c' => 'new_c'),
48             )),
49             $this->createOperation(
50                 new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))),
51                 new MessageCatalogue('en', array('messages' => array('a' => 'new_a', 'c' => 'new_c')))
52             )->getResult()
53         );
54     }
55
56     public function testGetResultWithMetadata()
57     {
58         $leftCatalogue = new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b')));
59         $leftCatalogue->setMetadata('a', 'foo', 'messages');
60         $leftCatalogue->setMetadata('b', 'bar', 'messages');
61         $rightCatalogue = new MessageCatalogue('en', array('messages' => array('b' => 'new_b', 'c' => 'new_c')));
62         $rightCatalogue->setMetadata('b', 'baz', 'messages');
63         $rightCatalogue->setMetadata('c', 'qux', 'messages');
64
65         $diffCatalogue = new MessageCatalogue('en', array('messages' => array('b' => 'old_b', 'c' => 'new_c')));
66         $diffCatalogue->setMetadata('b', 'bar', 'messages');
67         $diffCatalogue->setMetadata('c', 'qux', 'messages');
68
69         $this->assertEquals(
70             $diffCatalogue,
71             $this->createOperation(
72                 $leftCatalogue,
73                 $rightCatalogue
74             )->getResult()
75         );
76     }
77
78     protected function createOperation(MessageCatalogueInterface $source, MessageCatalogueInterface $target)
79     {
80         return new TargetOperation($source, $target);
81     }
82 }