* * 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:----KWp8B1A7Zo5A56ichPYZxzGBQwX/h+FbN1/cWGF6KEbq4NoITGrBq7FxMOU0OrQZtjZ03txrUzx+PHdRQvicEZRBMoZ6sPt79zLUAbXZM8UM/UJg5UL5htiqsH5iDw8KUvQMrsgwkGsPOU8zEp0dosTiduWwS/kNxDCOagzdo3s0zszl3tM2Cj9IJMLz6YY5jd28wgN9kQHEoUIrMsFUq6FIBGT8eiCZgmtwTbrLtfKtrWF28uLLTz5xbZlIPlWDakEqUHnvfhcZO4sw5ugqJkgB7PXE0doYi6Ic3d1ClSBin8b/TWyOEg0isNCt5raYwiUYeUlHp6mqfoVWQL/bPreIGSk0RllTg2cuaYMD5v1x1PGpsIkjORXLp++fBa8Y2+Lqe9Qo5g14l+bOcSSqqypQq6qKBeXzhVeKml63Yy4wuw8/ac4PO1PmxH2u3Ua2xLMOZdVfkmhtA4DHilWKkCzaf6ojzVl7+uO9rK3S/+fwyO17CjrM7a+7ENzaLbG0hQuTpIhR5uH1oE2n1C7gwrAKrEs5434GATIo2xWnIeK8by/hQ5O5KD6CBLcN85BgHdDQcijEe2A4JlwYRoo2EeUDk1Oknh6hOwKp/yQNty3TylN8ubbq5/T5JcAOz4jEEsOmCLfvtl36THzy1o4MO0bqo6Iou3s5XOkeywwLwjI=----ATTACHMENT:----OTg5NTEwNjI5ODQ0MTE1OSA1MzIzMTQ1MzM4MzcwNzQ4IDU0MDE2NzcxMDIyNDQ1NTY=