/** * {@inheritdoc} */ public function buildForm(FormBuilderInterface $builder, array $options) { $locales = $this->localeProvider->getDefinedLocalesCodes(); $localesWithRequirement = []; foreach ($locales as $locale) { $localesWithRequirement[$locale] = false; if ($this->localeProvider->getDefaultLocaleCode() === $locale) { $localesWithRequirement[$locale] = true; $localesWithRequirement = array_reverse($localesWithRequirement, true); } } $builder->addEventSubscriber(new ResourceTranslationsSubscriber($localesWithRequirement)); }
function it_builds_form(LocaleProviderInterface $localeProvider, FormBuilderInterface $builder) { $localeProvider->getDefinedLocalesCodes()->willReturn(['pl_PL', 'en_EN', 'en_GB']); $localeProvider->getDefaultLocaleCode()->willReturn('en_EN'); $builder->addEventSubscriber(Argument::type(ResourceTranslationsSubscriber::class))->shouldBeCalled()->willReturn($builder); $this->buildForm($builder, ['type' => 'text']); }