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) { 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'); $this->addNameTag($aLangPrefOrder, 'brand');
foreach ($aLanguages as $sLanguage => $fLanguagePref) { foreach ($aLanguages as $sLanguage => $fLanguagePref) {
$this->addNameTag($aLangPrefOrder, 'official_name:'.$sLanguage); $this->addNameTag($aLangPrefOrder, 'official_name:'.$sLanguage);
$this->addNameTag($aLangPrefOrder, 'short_name:'.$sLanguage); $this->addNameTag($aLangPrefOrder, 'short_name:'.$sLanguage);

View File

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