function it_passes_locale_from_request_to_translatable_listener(TranslatableListener $translatableListener, GetResponseEvent $event, Request $request) { $event->getRequest()->willReturn($request); $request->getLocale()->willReturn('some_locale'); $translatableListener->setLocale('some_locale')->shouldBeCalled(); $this->onKernelRequest($event); }
function let(ManagerRegistry $managerRegistry, TranslatableListener $translatableListener, ObjectManager $manager, ClassMetadata $translatableMetadata) { $managerRegistry->getManagerForClass(Argument::type('string'))->willReturn($manager); $translatableListener->getExtendedMetadata($manager, Argument::type('string'))->willReturn($translatableMetadata); $translatableListener->getLocale()->willReturn('en'); $this->beConstructedWith($managerRegistry, $translatableListener, new PropertyAccessor()); }
function it_should_return_map_in_current_locale(TranslatableListener $translatableListener) { $translatableListener->getLocale()->willReturn('en'); $map = $this->getMap(); $map['resource_group']['resource_block']['resource_a']->shouldHaveType('FSi\\Bundle\\ResourceRepositoryBundle\\Repository\\Resource\\Type\\TextType'); $map['resource_group']['resource_block']['resource_a']->getName()->shouldReturn('resource_group.resource_block.resource_a.en'); $map['resource_group']['resource_block']['resource_b']->shouldHaveType('FSi\\Bundle\\ResourceRepositoryBundle\\Repository\\Resource\\Type\\TextType'); $map['resource_group']['resource_block']['resource_b']->getName()->shouldReturn('resource_group.resource_block.resource_b'); }
public function let(ManagerRegistry $managerRegistry, ObjectManager $objectManager, ClassMetadataFactory $metadataFactory, ClassMetadata $classMetadata, TranslatableListener $translatableListener, TranslatableMetadata $translatableMetadata, EntityRepository $entityRepository, TranslatableRepository $translatableRepository, ParamConverter $paramConverter) { $managerRegistry->getManagerForClass(Argument::type('string'))->willReturn($objectManager); $metadataFactory->isTransient(Argument::type('string'))->willReturn(false); $objectManager->getMetadataFactory()->willReturn($metadataFactory); $objectManager->getClassMetadata(Argument::type('string'))->willReturn($classMetadata); $objectManager->getRepository('NonTranslatableEntity')->willReturn($entityRepository); $objectManager->getRepository('TranslatableEntity')->willReturn($translatableRepository); $translatableListener->getExtendedMetadata($objectManager, Argument::type('string'))->willReturn($translatableMetadata); $paramConverter->getOptions()->willReturn(array()); $paramConverter->getName()->willReturn('object'); $this->beConstructedWith($managerRegistry, $translatableListener); }
/** * @param \FSi\Component\DataGrid\Column\CellViewInterface $view * @param string $propertyPath * @return bool */ private function isPropertyPathTranslated(CellViewInterface $view, $propertyPath) { if (!($propertyPath = $this->validatePropertyPath($propertyPath))) { return false; } return $this->getObjectLocale($view, $propertyPath) !== $this->translatableListener->getLocale(); }
function it_does_nothing_if_forms_property_is_not_translatable_in_first_translatable_parent(ManagerRegistry $managerRegistry, ObjectManager $manager, TranslatableListener $translatableListener, ClassMetadata $translatableMetadata, PropertyPath $propertyPath, FormView $view, FormInterface $form, FormConfigInterface $formConfig, FormInterface $parentForm, FormConfigInterface $parentFormConfig, FormInterface $grandParentForm, FormConfigInterface $grandParentFormConfig) { $propertyPath->__toString()->willReturn('translatable_property'); $form->getPropertyPath()->willReturn($propertyPath); $form->getConfig()->willReturn($formConfig); $form->getParent()->willReturn($parentForm); $parentForm->getConfig()->willReturn($parentFormConfig); $parentFormConfig->getInheritData()->willReturn(true); $parentForm->getParent()->willReturn($grandParentForm); $grandParentForm->getConfig()->willReturn($grandParentFormConfig); $grandParentFormConfig->getInheritData()->willReturn(false); $grandParentFormConfig->getDataClass()->willReturn('translatable_class'); $managerRegistry->getManagerForClass('translatable_class')->willReturn($manager); $translatableListener->getExtendedMetadata($manager, 'translatable_class')->willReturn($translatableMetadata); $translatableMetadata->hasTranslatableProperties()->willReturn(true); $translatableMetadata->getTranslatableProperties()->willReturn(array()); $this->finishView($view, $form, array()); expect($view->vars['translatable'])->toBe(false); expect($view->vars['not_translated'])->toBe(false); }
function it_does_nothing_when_form_data_has_no_translatable_properties(ManagerRegistry $managerRegistry, ObjectManager $objectManager, TranslatableListener $translatableListener, FormEvent $event, FormInterface $form, FormConfigInterface $formConfig, ClassMetadata $translatableClassMetadata) { $translatableListener->getLocale()->willReturn('en'); $event->getForm()->willReturn($form); $form->getConfig()->willReturn($formConfig); $formConfig->getOption('data_class')->willReturn('TranslatableEntity'); $managerRegistry->getManagerForClass('TranslatableEntity')->willReturn($objectManager); $translatableListener->getExtendedMetadata($objectManager, 'TranslatableEntity')->willReturn($translatableClassMetadata); $translatableClassMetadata->hasTranslatableProperties()->willReturn(false); $event->getData()->shouldNotBeCalled(); $this->setTranslatableLocale($event); }
/** * @return string */ private function getCurrentLocale() { return $this->translatableListener->getLocale() ?: $this->translatableListener->getDefaultLocale(); }
/** * @param \Symfony\Component\HttpKernel\Event\GetResponseEvent $event */ public function onKernelRequest(GetResponseEvent $event) { $this->translatableListener->setLocale($event->getRequest()->getLocale()); }
/** * @param string $class * @return ClassMetadata */ private function getTranslatableMetadata($class) { return $this->translatableListener->getExtendedMetadata($this->getManagerForClass($class), $class); }
/** * @param FormEvent $event * @return ClassMetadata */ private function getFormDataTranslatableMetadata(FormEvent $event) { return $this->translatableListener->getExtendedMetadata($this->getManagerForDataClass($event), $this->getFormDataClass($event)); }
/** * @param \Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter $configuration * @return \FSi\DoctrineExtensions\Translatable\Mapping\ClassMetadata $translatableMetadata */ private function getTranslatableMetadata(ParamConverter $configuration) { return $this->translatableListener->getExtendedMetadata($this->getManager($configuration), $configuration->getClass()); }
function it_gets_deafult_locale(TranslatableListener $translatableListener) { $translatableListener->getDefaultLocale()->willReturn('en'); $this->getDefaultLocale()->shouldReturn('en'); }