reattach 'name:' prefix to keys

This commit is contained in:
Tareq Al-Ahdal 2022-03-18 05:46:23 +08:00
parent d32a7c1888
commit 83b4b8d9c1
3 changed files with 35 additions and 20 deletions

View File

@ -114,11 +114,10 @@ class ParameterParser
}
foreach ($aLanguages as $sLanguage => $fLanguagePref) {
$this->addNameTag($aLangPrefOrder, $sLanguage);
$this->addNameTag($aLangPrefOrder, 'name:'.$sLanguage);
}
$this->addNameTag($aLangPrefOrder, 'default');
$this->addNameTag($aLangPrefOrder, 'name');
$this->addNameTag($aLangPrefOrder, 'brand');
foreach ($aLanguages as $sLanguage => $fLanguagePref) {
$this->addNameTag($aLangPrefOrder, 'official_name:'.$sLanguage);
$this->addNameTag($aLangPrefOrder, 'short_name:'.$sLanguage);
@ -146,4 +145,4 @@ class ParameterParser
return false;
}
}
}

View File

@ -325,4 +325,4 @@ BEGIN
RETURN;
END;
$$
LANGUAGE plpgsql STABLE;
LANGUAGE plpgsql STABLE;

View File

@ -183,32 +183,48 @@ class ParameterParserTest extends \PHPUnit\Framework\TestCase
{
$oParams = new ParameterParser(array('accept-language' => ''));
$this->assertSame(array(
'default' => 'default',
'name:default' => 'name:default',
'_place_name:default' => '_place_name:default',
'name' => 'name',
'_place_name' => '_place_name'
), array_slice($oParams->getPreferredLanguages('default'), 0, 4));
$oParams = new ParameterParser(array('accept-language' => 'de,en'));
$this->assertSame(array(
'de' => 'de',
'en' => 'en',
'default' => 'default',
'name:de' => 'name:de',
'_place_name:de' => '_place_name:de',
'name:en' => 'name:en',
'_place_name:en' => '_place_name:en',
'name' => 'name',
'_place_name' => '_place_name'
), array_slice($oParams->getPreferredLanguages('default'), 0, 6));
$oParams = new ParameterParser(array('accept-language' => 'fr-ca,fr;q=0.8,en-ca;q=0.5,en;q=0.3'));
$this->assertSame(array(
'fr-ca' => 'fr-ca',
'fr' => 'fr',
'en-ca' => 'en-ca',
'en' => 'en',
'default' => 'default',
'name:fr-ca' => 'name:fr-ca',
'_place_name:fr-ca' => '_place_name:fr-ca',
'name:fr' => 'name:fr',
'_place_name:fr' => '_place_name:fr',
'name:en-ca' => 'name:en-ca',
'_place_name:en-ca' => '_place_name:en-ca',
'name:en' => 'name:en',
'_place_name:en' => '_place_name:en',
'name' => 'name',
'_place_name' => '_place_name'
), array_slice($oParams->getPreferredLanguages('default'), 0, 10));
$oParams = new ParameterParser(array('accept-language' => 'ja_rm,zh_pinyin'));
$this->assertSame(array(
'ja_rm' => 'ja_rm',
'zh_pinyin' => 'zh_pinyin',
'ja' => 'ja',
'zh' => 'zh',
'default' => 'default',
'name:ja_rm' => 'name:ja_rm',
'_place_name:ja_rm' => '_place_name:ja_rm',
'name:zh_pinyin' => 'name:zh_pinyin',
'_place_name:zh_pinyin' => '_place_name:zh_pinyin',
'name:ja' => 'name:ja',
'_place_name:ja' => '_place_name:ja',
'name:zh' => 'name:zh',
'_place_name:zh' => '_place_name:zh',
'name' => 'name',
'_place_name' => '_place_name'
), array_slice($oParams->getPreferredLanguages('default'), 0, 10));
}
@ -229,4 +245,4 @@ class ParameterParserTest extends \PHPUnit\Framework\TestCase
$this->assertTrue($oParams->hasSetAny(array('four')));
$this->assertTrue($oParams->hasSetAny(array('five')));
}
}
}