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; } } }