public function testTranslatableMetadata()
 {
     $meta = $this->em->getClassMetadata('Mapping\\Fixture\\Xml\\Translatable');
     $config = $this->translatable->getConfiguration($this->em, $meta->name);
     $this->assertArrayHasKey('translationClass', $config);
     $this->assertEquals('Gedmo\\Translatable\\Entity\\Translation', $config['translationClass']);
     $this->assertArrayHasKey('locale', $config);
     $this->assertEquals('locale', $config['locale']);
     $this->assertArrayHasKey('fields', $config);
     $this->assertEquals(2, count($config['fields']));
     $this->assertTrue(in_array('title', $config['fields']));
     $this->assertTrue(in_array('content', $config['fields']));
 }
 /**
  * Search for translated components in the select clause
  *
  * @param array $queryComponents
  * @return void
  */
 private function extractTranslatedComponents(array $queryComponents)
 {
     $em = $this->getEntityManager();
     foreach ($queryComponents as $alias => $comp) {
         if (!isset($comp['metadata'])) {
             continue;
         }
         $meta = $comp['metadata'];
         $config = $this->listener->getConfiguration($em, $meta->name);
         if ($config && isset($config['fields'])) {
             $this->translatedComponents[$alias] = $comp;
         }
     }
 }