Exemplo n.º 1
0
 /**
  *
  * @dataProvider getData
  */
 public function testGetValue($valueList, $locale, $fallbackLocale, $return)
 {
     $l10nResource = new L10nResource();
     $l10nResource->setValueList($valueList);
     $l10nResource->setIdResource($this->key);
     $this->assertEquals($return, $l10nResource->getValue($locale, $fallbackLocale));
 }
Exemplo n.º 2
0
 public function testConvertL10nResourceList()
 {
     $l10nResourceList = array();
     $l10nResource = new L10nResource();
     $l10nResource->setIdLocalization('Montpellier');
     $l10nResource->setIdResource('Adress');
     $valueList = array();
     $valueList['fr-FR'] = 'rue';
     $valueList['en-GB'] = 'street';
     $l10nResource->setValueList($valueList);
     $l10nResourceList[] = $l10nResource;
     $l10nResource = new L10nResource();
     $l10nResource->setIdLocalization('Montpellier');
     $l10nResource->setIdResource('tel');
     $l10nResource->setValueList(array('06'));
     $l10nResourceList[] = $l10nResource;
     $expected = '{"@context":{"l10n":"' . L10nJsonLdConverter::NS . '"},"@graph":' . '[{"@id":"_0","l10n:key":[{"@id":"Adress"}],' . '"l10n:localization":[{"@id":"Montpellier"}],' . '"l10n:value":["rue@fr-FR","street@en-GB"]},' . '{"@id":"_1","l10n:key":[{"@id":"tel"}],' . '"l10n:localization":[{"@id":"Montpellier"}],' . '"l10n:value":["06"]}]}';
     // PHP 5.4+
     if (defined('JSON_PRETTY_PRINT')) {
         $expected = json_encode(json_decode($expected, true), JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
     }
     $l10nJsonLdConverter = new L10nJsonLdConverter();
     $result = $l10nJsonLdConverter->convertL10nResourceList($l10nResourceList);
     $this->assertEquals($expected, $result);
 }
Exemplo n.º 3
0
 public function setUp()
 {
     $this->l10nResource = new L10nResource();
     $this->valueList = array('fr-FR' => 'autre value fr', 'en-GB' => 'other value en');
     $this->l10nResource->setIdLocalization($this->idLocalization);
     $this->l10nResource->setIdResource($this->idResource);
     $this->l10nResource->setValueList($this->valueList);
     $this->yamlResourceList = array('key' => array('idLoc' => array('fr-FR' => 'autre value fr', 'en-GB' => 'other value en')));
     $l10nManagerReflection = new \ReflectionClass('L10nBundle\\Manager\\Yaml\\L10nYamlManager');
     $this->l10nManager = $this->getMock('L10nBundle\\Manager\\Yaml\\L10nYamlManager', array('buildCatalogue'), array('fake_path'), 'L10nYamlManager', false);
     $privateProperty = $l10nManagerReflection->getProperty('catalogue');
     $privateProperty->setAccessible(true);
     $privateProperty->setValue($this->l10nManager, $this->yamlResourceList);
 }
Exemplo n.º 4
0
 /**
  * Update a L10nResource
  *
  * @param L10nResource $l10nResource
  *     which valueList is a list of values. array('value') if not internationnalised, array('locale_code' => 'value', …) if internationnalised
  */
 public function setL10nResource(L10nResource $l10nResource)
 {
     $idResource = $l10nResource->getIdResource();
     $idLocalization = $l10nResource->getIdLocalization();
     $valueList = $l10nResource->getValueList();
     $valueMongoList = array();
     foreach ($valueList as $locale => $value) {
         if ($locale) {
             $valueMongoList[] = array('language' => $locale, 'value' => $value);
         } else {
             $valueMongoList[] = array($value);
         }
     }
     $l10nCollection = $this->db->L10nResource;
     $l10nCollection->update(array('id_resource' => (string) $idResource, 'id_localization' => (string) $idLocalization), array('id_resource' => (string) $idResource, 'id_localization' => (string) $idLocalization, 'value_list' => $valueMongoList), array('upsert' => true));
 }
Exemplo n.º 5
0
 /**
  * Build a L10nResource
  * @param $idLocalization
  * @param $idResource
  * @param $valueList
  * @return L10nResource
  */
 protected function hydrate($idLocalization, $idResource, $valueList)
 {
     $l10nResource = new L10nResource();
     $l10nResource->setIdLocalization($idLocalization);
     $l10nResource->setIdResource($idResource);
     $l10nResource->setValueList($valueList);
     return $l10nResource;
 }
Exemplo n.º 6
0
 public function testGetL10nWithNoLocale()
 {
     $key = 'key';
     $localization = 'fr';
     $locale = 'fr-FR';
     $expected = 'my-value';
     $l10nResource = new L10nResource();
     $l10nResource->setValueList(array($expected));
     $this->l10nManager->expects($this->once())->method('getL10nResource')->with($key, $localization)->will($this->returnValue($l10nResource));
     $l10nProvider = new L10nProvider($this->l10nManager, 'xx', 'xx-XX');
     $value = $l10nProvider->getL10n($key, $localization, $locale);
     $this->assertEquals($expected, $value);
 }