/**
  * @param string $locale, e.g. 'en_GB'
  */
 private function addPolyglotListenerToDoctrineWithLocale($locale)
 {
     $annotationReader = new AnnotationReader();
     $defaultLocaleProvider = new DefaultLocaleProvider();
     $defaultLocaleProvider->setDefaultLocale($locale);
     $listener = new PolyglotListener($annotationReader, $defaultLocaleProvider);
     $this->infrastructure->getEntityManager()->getEventManager()->addEventSubscriber($listener);
 }
 /**
  * Creates metadata for testing.
  *
  * @param LoggerInterface|null $logger
  * @return TranslationMetadata
  */
 private function createMetadata(LoggerInterface $logger = null)
 {
     $reader = new AnnotationReader();
     $infrastructure = new ORMInfrastructure(array('\\Webfactory\\Bundle\\PolyglotBundle\\Tests\\TestEntity', '\\Webfactory\\Bundle\\PolyglotBundle\\Tests\\TestEntityTranslation'));
     $metadata = $infrastructure->getEntityManager()->getClassMetadata('Webfactory\\Bundle\\PolyglotBundle\\Tests\\TestEntity');
     $translationMetadata = TranslationMetadata::parseFromClassMetadata($metadata, $reader);
     if ($logger !== null) {
         $translationMetadata->setLogger($logger);
     }
     return $translationMetadata;
 }
 /**
  * Checks if getEntityManager() returns the Doctrine entity manager,
  */
 public function testGetEntityManagerReturnsDoctrineEntityManager()
 {
     $entityManager = $this->infrastructure->getEntityManager();
     $this->assertInstanceOf('Doctrine\\ORM\\EntityManager', $entityManager);
 }
 /**
  * Ensures that entities with non-Doctrine annotations can be used.
  */
 public function testInfrastructureCanUseEntitiesWithNonDoctrineAnnotations()
 {
     $infrastructure = new ORMInfrastructure(array('Webfactory\\Doctrine\\ORMTestInfrastructure\\ORMInfrastructureTest\\AnnotatedTestEntity'));
     $this->setExpectedException(null);
     $infrastructure->getEntityManager();
 }