/** * * @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)); }
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); }
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); }
/** * 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)); }
/** * 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; }
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); }