You are here

public function TranslationDataCollectorTest::testCollect in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/translation/Tests/DataCollector/TranslationDataCollectorTest.php \Symfony\Component\Translation\Tests\DataCollector\TranslationDataCollectorTest::testCollect()

File

vendor/symfony/translation/Tests/DataCollector/TranslationDataCollectorTest.php, line 40

Class

TranslationDataCollectorTest

Namespace

Symfony\Component\Translation\Tests\DataCollector

Code

public function testCollect() {
  $collectedMessages = array(
    array(
      'id' => 'foo',
      'translation' => 'foo (en)',
      'locale' => 'en',
      'domain' => 'messages',
      'state' => DataCollectorTranslator::MESSAGE_DEFINED,
    ),
    array(
      'id' => 'bar',
      'translation' => 'bar (fr)',
      'locale' => 'fr',
      'domain' => 'messages',
      'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK,
    ),
    array(
      'id' => 'choice',
      'translation' => 'choice',
      'locale' => 'en',
      'domain' => 'messages',
      'state' => DataCollectorTranslator::MESSAGE_MISSING,
    ),
    array(
      'id' => 'choice',
      'translation' => 'choice',
      'locale' => 'en',
      'domain' => 'messages',
      'state' => DataCollectorTranslator::MESSAGE_MISSING,
    ),
  );
  $expectedMessages = array(
    array(
      'id' => 'foo',
      'translation' => 'foo (en)',
      'locale' => 'en',
      'domain' => 'messages',
      'state' => DataCollectorTranslator::MESSAGE_DEFINED,
      'count' => 1,
    ),
    array(
      'id' => 'bar',
      'translation' => 'bar (fr)',
      'locale' => 'fr',
      'domain' => 'messages',
      'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK,
      'count' => 1,
    ),
    array(
      'id' => 'choice',
      'translation' => 'choice',
      'locale' => 'en',
      'domain' => 'messages',
      'state' => DataCollectorTranslator::MESSAGE_MISSING,
      'count' => 2,
    ),
  );
  $translator = $this
    ->getTranslator();
  $translator
    ->expects($this
    ->any())
    ->method('getCollectedMessages')
    ->will($this
    ->returnValue($collectedMessages));
  $dataCollector = new TranslationDataCollector($translator);
  $dataCollector
    ->lateCollect();
  $this
    ->assertEquals(1, $dataCollector
    ->getCountMissings());
  $this
    ->assertEquals(1, $dataCollector
    ->getCountFallbacks());
  $this
    ->assertEquals(1, $dataCollector
    ->getCountDefines());
  $this
    ->assertEquals($expectedMessages, array_values($dataCollector
    ->getMessages()));
}