/** * @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(); }