/** * Prepare locale system settings default values. * * @param array $config * @param ContainerBuilder $container */ protected function prepareSettings(array $config, ContainerBuilder $container) { $locale = LocaleSettings::getValidLocale($this->getFinalizedParameter($config['settings']['locale']['value'], $container)); $config['settings']['locale']['value'] = $locale; if (empty($config['settings']['language']['value'])) { $config['settings']['language']['value'] = $locale; } if (empty($config['settings']['country']['value'])) { $config['settings']['country']['value'] = LocaleSettings::getCountryByLocale($locale); } $country = $config['settings']['country']['value']; if (empty($config['settings']['currency']['value']) && isset($config['locale_data'][$country]['currency_code'])) { $config['settings']['currency']['value'] = $config['locale_data'][$country]['currency_code']; } $container->prependExtensionConfig('oro_locale', $config); }
/** * @dataProvider getValidLocaleDataProvider */ public function testGetValidLocale($locale, $expectedLocale) { $this->assertEquals($expectedLocale, LocaleSettings::getValidLocale($locale)); }