[Translation][Profiler] fixed infiinite loop when collect msg from fallback.

This commit is contained in:
Abdellatif Ait boudad 2015-04-03 08:53:14 +01:00
parent ce3b8fd91d
commit 59f2172c01
2 changed files with 12 additions and 1 deletions

View File

@ -137,6 +137,8 @@ class DataCollectorTranslator implements TranslatorInterface, TranslatorBagInter
$locale = $fallbackCatalogue->getLocale();
break;
}
$fallbackCatalogue = $fallbackCatalogue->getFallBackCatalogue();
}
} else {
$state = self::MESSAGE_MISSING;

View File

@ -26,11 +26,12 @@ class DataCollectorTranslatorTest extends \PHPUnit_Framework_TestCase
public function testCollectMessages()
{
$collector = $this->createCollector();
$collector->setFallbackLocales(array('fr'));
$collector->setFallbackLocales(array('fr', 'ru'));
$collector->trans('foo');
$collector->trans('bar');
$collector->transChoice('choice', 0);
$collector->trans('bar_ru');
$expectedMessages = array();
$expectedMessages[] = array(
@ -54,6 +55,13 @@ class DataCollectorTranslatorTest extends \PHPUnit_Framework_TestCase
'domain' => 'messages',
'state' => DataCollectorTranslator::MESSAGE_MISSING,
);
$expectedMessages[] = array(
'id' => 'bar_ru',
'translation' => 'bar (ru)',
'locale' => 'ru',
'domain' => 'messages',
'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK,
);
$this->assertEquals($expectedMessages, $collector->getCollectedMessages());
}
@ -64,6 +72,7 @@ class DataCollectorTranslatorTest extends \PHPUnit_Framework_TestCase
$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');
$collector = new DataCollectorTranslator($translator);