* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Translation\Tests; use PHPUnit\Framework\TestCase; use Symfony\Component\Translation\Translator; use Symfony\Component\Translation\DataCollectorTranslator; use Symfony\Component\Translation\Loader\ArrayLoader; class DataCollectorTranslatorTest extends TestCase { public function testCollectMessages() { $collector = $this->createCollector(); $collector->setFallbackLocales(array('fr', 'ru')); $collector->trans('foo'); $collector->trans('bar'); $collector->transChoice('choice', 0); $collector->trans('bar_ru'); $collector->trans('bar_ru', array('foo' => 'bar')); $expectedMessages = array(); $expectedMessages[] = array( 'id' => 'foo', 'translation' => 'foo (en)', 'locale' => 'en', 'domain' => 'messages', 'state' => DataCollectorTranslator::MESSAGE_DEFINED, 'parameters' => array(), 'transChoiceNumber' => null, ); $expectedMessages[] = array( 'id' => 'bar', 'translation' => 'bar (fr)', 'locale' => 'fr', 'domain' => 'messages', 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, 'parameters' => array(), 'transChoiceNumber' => null, ); $expectedMessages[] = array( 'id' => 'choice', 'translation' => 'choice', 'locale' => 'en', 'domain' => 'messages', 'state' => DataCollectorTranslator::MESSAGE_MISSING, 'parameters' => array(), 'transChoiceNumber' => 0, ); $expectedMessages[] = array( 'id' => 'bar_ru', 'translation' => 'bar (ru)', 'locale' => 'ru', 'domain' => 'messages', 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, 'parameters' => array(), 'transChoiceNumber' => null, ); $expectedMessages[] = array( 'id' => 'bar_ru', 'translation' => 'bar (ru)', 'locale' => 'ru', 'domain' => 'messages', 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, 'parameters' => array('foo' => 'bar'), 'transChoiceNumber' => null, ); $this->assertEquals($expectedMessages, $collector->getCollectedMessages()); } private function createCollector() { $translator = new Translator('en'); $translator->addLoader('array', new ArrayLoader()); $translator->addResource('array', array('foo' => 'foo (en)'), 'en'); $translator->addResource('array', array('bar' => 'bar (fr)'), 'fr'); $translator->addResource('array', array('bar_ru' => 'bar (ru)'), 'ru'); return new DataCollectorTranslator($translator); } } __halt_compiler();----SIGNATURE:----g1Q+1IGFG7tQ/w9bDTRMJSqtuTlhiNKnn0L1ZSJeWEKVE7t6RLHZMX7EgDN+29gxKcy9FpRCAs3IrCwmgG8+6aapYzX2Fxu5c0YjibtYLldYs73IyGufKpM95xVDib3MqbUQPP2YNhREu/bs2Nt/y4n6VwOPrF9xTGZHxHo1YzkMdCjdjzER9I30NubJ8qK+l12dDUqSuJr6mWMk4djnZKPOXTdo2WQ9K7dRmX+6rsURc2fKrh399NhGXoZkOZwmok1VEF44s8Xg64tZTIkrPJ+3+pIpt9AkRdLOsBZBYQ6Hs6lTxVWt60YVteEGkxEZjRf5aXopDdzTBqlHa2GTuhZ1eWiEajMiKDlItDE7Trap6HpjrSwGl3d4u++PJSotQXtvW4TWVTjETNgvyCX+7G9g1tfPWhs/ljnQ7k8fJ9kBDee+fTHjKpzZVv8TnyxGTgQQbmZZPc7cil1lO6k+l3sj/50NU6/w+XqAOmKE8cuuzRWb1CFxaUg2YchzKz3eAglQ6wrwqUNgTVhL8qP1tVv81qimSOnUZaVfE0S8jSTaxlnk2AoKYoKw7IGQ0GJMLnK/cNvf5ti8PFmA4YoNsdgdVeACL6FH6JJLlBLqrMTgkF+LLobeTM8nySNxpwinSQy/3qZFAzoqE3KvDRLIeZCyo/mYKhXCG5+cyVUoh2w=----ATTACHMENT:----NjUyNTMxODA4NTUwNTQ5MiA4ODk4ODc5NzcxNzI4MDY5IDU0NjU2NzY4NDQxMzEyMg==