Ejemplo n.º 1
0
 /**
  * @param ConfigProvider $provider
  * @param ConfigInterface $config
  * @param array $data
  * @param string $state
  * @return array
  */
 protected function processData(ConfigProvider $provider, ConfigInterface $config, array $data, $state)
 {
     if ($provider->getScope() === 'enum' && $config->get('enum_code')) {
         return [];
     }
     $translatable = $provider->getPropertyConfig()->getTranslatableValues($config->getId());
     $translations = [];
     foreach ($data as $code => $value) {
         if (in_array($code, $translatable, true)) {
             // check if a label text was changed
             $labelKey = $config->get($code);
             if ($state === ExtendScope::STATE_NEW || !$this->translationHelper->isTranslationEqual($labelKey, $value)) {
                 $translations[$labelKey] = $value;
             }
             // replace label text with label name in $value variable
             $value = $labelKey;
         }
         $config->set($code, $value);
     }
     $this->configManager->persist($config);
     return $translations;
 }
 /**
  * @dataProvider isTranslationEqualDataProvider
  *
  * @param string $translation
  * @param string $key
  * @param string $value
  * @param bool $expected
  */
 public function testIsTranslationEqual($translation, $key, $value, $expected)
 {
     $this->translator->expects($this->once())->method('trans')->with($key)->willReturn($translation);
     $this->assertEquals($expected, $this->helper->isTranslationEqual($key, $value));
 }