bug #24814 [Intl] Make intl-data tests pass and save language aliases again (jakzal)

This PR was squashed before being merged into the 2.7 branch (closes #24814).

Discussion
----------

[Intl] Make intl-data tests pass and save language aliases again

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Due to changes in ICU 5.5 aliases were not being saved since that version.

Commits
-------

661a4b6 [Intl] Make intl-data tests pass and save language aliases again
This commit is contained in:
Nicolas Grekas 2017-11-05 16:10:08 +01:00
commit 5a3db6781c
8 changed files with 1270 additions and 976 deletions

View File

@ -157,20 +157,20 @@ class LanguageDataGenerator extends AbstractDataGenerator
return array(
'Version' => $rootBundle['Version'],
'Languages' => $this->languageCodes,
'Aliases' => $metadataBundle['languageAlias'],
'Aliases' => array_map(function (\ResourceBundle $bundle) {
return $bundle['replacement'];
}, iterator_to_array($metadataBundle['alias']['language'])),
'Alpha2ToAlpha3' => $this->generateAlpha2ToAlpha3Mapping($metadataBundle),
);
}
private function generateAlpha2ToAlpha3Mapping(ArrayAccessibleResourceBundle $metadataBundle)
{
// Data structure has changed in ICU 5.5 from "languageAlias" to "alias->language"
$aliases = $metadataBundle['languageAlias'] ?: $metadataBundle['alias']['language'];
$aliases = iterator_to_array($metadataBundle['alias']['language']);
$alpha2ToAlpha3 = array();
foreach ($aliases as $alias => $language) {
// $language is a string before ICU 5.5
$language = is_string($language) ? $language : $language['replacement'];
$language = $language['replacement'];
if (2 === strlen($language) && 3 === strlen($alias)) {
if (isset(self::$preferredAlpha2ToAlpha3Mapping[$language])) {
// Validate to prevent typos
@ -184,7 +184,7 @@ class LanguageDataGenerator extends AbstractDataGenerator
}
$alpha3 = self::$preferredAlpha2ToAlpha3Mapping[$language];
$alpha2 = is_string($aliases[$alpha3]) ? $aliases[$alpha3] : $aliases[$alpha3]['replacement'];
$alpha2 = $aliases[$alpha3]['replacement'];
if ($language !== $alpha2) {
throw new RuntimeException(

View File

@ -619,7 +619,344 @@
"zxx",
"zza"
],
"Aliases": null,
"Aliases": {
"aa_SAAHO": "ssy",
"aar": "aa",
"abk": "ab",
"afr": "af",
"aju": "jrb",
"aka": "ak",
"alb": "sq",
"als": "sq",
"amh": "am",
"ara": "ar",
"arb": "ar",
"arg": "an",
"arm": "hy",
"art_lojban": "jbo",
"asm": "as",
"ava": "av",
"ave": "ae",
"aym": "ay",
"ayr": "ay",
"az_AZ": "az_Latn_AZ",
"aze": "az",
"azj": "az",
"bak": "ba",
"bam": "bm",
"baq": "eu",
"bcc": "bal",
"bcl": "bik",
"bel": "be",
"ben": "bn",
"bh": "bho",
"bih": "bho",
"bis": "bi",
"bod": "bo",
"bos": "bs",
"bre": "br",
"bs_BA": "bs_Latn_BA",
"bul": "bg",
"bur": "my",
"bxk": "luy",
"bxr": "bua",
"cat": "ca",
"ces": "cs",
"cha": "ch",
"che": "ce",
"chi": "zh",
"chu": "cu",
"chv": "cv",
"cld": "syr",
"cmn": "zh",
"cor": "kw",
"cos": "co",
"cre": "cr",
"cwd": "cr",
"cym": "cy",
"cze": "cs",
"dan": "da",
"deu": "de",
"dgo": "doi",
"dhd": "mwr",
"dik": "din",
"diq": "zza",
"div": "dv",
"dut": "nl",
"dzo": "dz",
"ekk": "et",
"ell": "el",
"emk": "man",
"eng": "en",
"epo": "eo",
"esk": "ik",
"est": "et",
"eus": "eu",
"ewe": "ee",
"fao": "fo",
"fas": "fa",
"fat": "ak",
"fij": "fj",
"fin": "fi",
"fra": "fr",
"fre": "fr",
"fry": "fy",
"fuc": "ff",
"ful": "ff",
"gaz": "om",
"gbo": "grb",
"geo": "ka",
"ger": "de",
"gla": "gd",
"gle": "ga",
"glg": "gl",
"glv": "gv",
"gno": "gon",
"gre": "el",
"grn": "gn",
"gug": "gn",
"guj": "gu",
"gya": "gba",
"ha_Latn_GH": "ha_GH",
"ha_Latn_NE": "ha_NE",
"ha_Latn_NG": "ha_NG",
"hat": "ht",
"hau": "ha",
"hbs": "sr_Latn",
"hdn": "hai",
"hea": "hmn",
"heb": "he",
"her": "hz",
"him": "srx",
"hin": "hi",
"hmo": "ho",
"hrv": "hr",
"hun": "hu",
"hye": "hy",
"i_ami": "ami",
"i_bnn": "bnn",
"i_hak": "hak",
"i_klingon": "tlh",
"i_lux": "lb",
"i_navajo": "nv",
"i_pwn": "pwn",
"i_tao": "tao",
"i_tay": "tay",
"i_tsu": "tsu",
"ibo": "ig",
"ice": "is",
"ido": "io",
"iii": "ii",
"ike": "iu",
"iku": "iu",
"ile": "ie",
"in": "id",
"ina": "ia",
"ind": "id",
"ipk": "ik",
"isl": "is",
"ita": "it",
"iw": "he",
"jav": "jv",
"ji": "yi",
"jpn": "ja",
"jw": "jv",
"kal": "kl",
"kan": "kn",
"kas": "ks",
"kat": "ka",
"kau": "kr",
"kaz": "kk",
"khk": "mn",
"khm": "km",
"kik": "ki",
"kin": "rw",
"kir": "ky",
"kk_Cyrl_KZ": "kk_KZ",
"kmr": "ku",
"knc": "kr",
"kng": "kg",
"knn": "kok",
"kom": "kv",
"kon": "kg",
"kor": "ko",
"kpv": "kv",
"ks_Arab_IN": "ks_IN",
"kua": "kj",
"kur": "ku",
"ky_Cyrl_KG": "ky_KG",
"lao": "lo",
"lat": "la",
"lav": "lv",
"lbk": "bnc",
"lim": "li",
"lin": "ln",
"lit": "lt",
"ltz": "lb",
"lub": "lu",
"lug": "lg",
"lvs": "lv",
"mac": "mk",
"mah": "mh",
"mal": "ml",
"mao": "mi",
"mar": "mr",
"may": "ms",
"mhr": "chm",
"mkd": "mk",
"mlg": "mg",
"mlt": "mt",
"mn_Cyrl_MN": "mn_MN",
"mnk": "man",
"mo": "ro_MD",
"mol": "ro_MD",
"mon": "mn",
"mri": "mi",
"ms_Latn_BN": "ms_BN",
"ms_Latn_MY": "ms_MY",
"ms_Latn_SG": "ms_SG",
"msa": "ms",
"mup": "raj",
"mya": "my",
"nau": "na",
"nav": "nv",
"nbl": "nr",
"nde": "nd",
"ndo": "ng",
"nep": "ne",
"nld": "nl",
"nno": "nn",
"no": "nb",
"no_BOKMAL": "nb",
"no_NYNORSK": "nn",
"no_bok": "nb",
"no_nyn": "nn",
"nob": "nb",
"nor": "nb",
"npi": "ne",
"nya": "ny",
"oci": "oc",
"ojg": "oj",
"oji": "oj",
"ori": "or",
"orm": "om",
"ory": "or",
"oss": "os",
"pa_IN": "pa_Guru_IN",
"pa_PK": "pa_Arab_PK",
"pan": "pa",
"pbu": "ps",
"per": "fa",
"pes": "fa",
"pli": "pi",
"plt": "mg",
"pnb": "lah",
"pol": "pl",
"por": "pt",
"prs": "fa_AF",
"pus": "ps",
"que": "qu",
"quz": "qu",
"rmy": "rom",
"roh": "rm",
"ron": "ro",
"rum": "ro",
"run": "rn",
"rus": "ru",
"sag": "sg",
"san": "sa",
"scc": "sr",
"scr": "hr",
"sgn_BE_FR": "sfb",
"sgn_BE_NL": "vgt",
"sgn_CH_DE": "sgg",
"sh": "sr_Latn",
"shi_MA": "shi_Tfng_MA",
"sin": "si",
"slk": "sk",
"slo": "sk",
"slv": "sl",
"sme": "se",
"smo": "sm",
"sna": "sn",
"snd": "sd",
"som": "so",
"sot": "st",
"spa": "es",
"spy": "kln",
"sqi": "sq",
"sr_BA": "sr_Cyrl_BA",
"sr_ME": "sr_Latn_ME",
"sr_RS": "sr_Cyrl_RS",
"sr_XK": "sr_Cyrl_XK",
"src": "sc",
"srd": "sc",
"srp": "sr",
"ssw": "ss",
"sun": "su",
"swa": "sw",
"swc": "sw_CD",
"swe": "sv",
"swh": "sw",
"tah": "ty",
"tam": "ta",
"tat": "tt",
"tel": "te",
"tgk": "tg",
"tgl": "fil",
"tha": "th",
"tib": "bo",
"tir": "ti",
"tl": "fil",
"ton": "to",
"tsn": "tn",
"tso": "ts",
"ttq": "tmh",
"tuk": "tk",
"tur": "tr",
"tw": "ak",
"twi": "ak",
"tzm_Latn_MA": "tzm_MA",
"ug_Arab_CN": "ug_CN",
"uig": "ug",
"ukr": "uk",
"umu": "del",
"urd": "ur",
"uz_AF": "uz_Arab_AF",
"uz_UZ": "uz_Latn_UZ",
"uzb": "uz",
"uzn": "uz",
"vai_LR": "vai_Vaii_LR",
"ven": "ve",
"vie": "vi",
"vol": "vo",
"wel": "cy",
"wln": "wa",
"wol": "wo",
"xho": "xh",
"xpe": "kpe",
"xsl": "den",
"ydd": "yi",
"yid": "yi",
"yor": "yo",
"yue_CN": "yue_Hans_CN",
"yue_HK": "yue_Hant_HK",
"zai": "zap",
"zh_CN": "zh_Hans_CN",
"zh_HK": "zh_Hant_HK",
"zh_MO": "zh_Hant_MO",
"zh_SG": "zh_Hans_SG",
"zh_TW": "zh_Hant_TW",
"zh_guoyu": "zh",
"zh_hakka": "hak",
"zh_min_nan": "nan",
"zh_xiang": "hsn",
"zha": "za",
"zho": "zh",
"zsm": "ms",
"zul": "zu",
"zyb": "za"
},
"Alpha2ToAlpha3": {
"aa": "aar",
"ab": "abk",

View File

@ -77,6 +77,7 @@ abstract class AbstractCurrencyDataProviderTest extends AbstractDataProviderTest
'BUK',
'BWP',
'BYB',
'BYN',
'BYR',
'BZD',
'CAD',
@ -310,249 +311,250 @@ abstract class AbstractCurrencyDataProviderTest extends AbstractDataProviderTest
);
protected static $alpha3ToNumeric = array(
'ADP' => 20,
'AED' => 784,
'AFA' => 4,
'AFN' => 971,
'ALL' => 8,
'AMD' => 51,
'ANG' => 532,
'AOA' => 973,
'DZD' => 12,
'ADP' => 20,
'AON' => 24,
'AOR' => 982,
'ARA' => 32,
'ARP' => 32,
'ARS' => 32,
'ATS' => 40,
'AUD' => 36,
'AWG' => 533,
'AZM' => 31,
'AZN' => 944,
'BAD' => 70,
'BAM' => 977,
'BBD' => 52,
'BDT' => 50,
'BEC' => 993,
'BEF' => 56,
'BEL' => 992,
'BGL' => 100,
'BGN' => 975,
'BHD' => 48,
'BIF' => 108,
'BMD' => 60,
'BND' => 96,
'BOB' => 68,
'BOV' => 984,
'BRC' => 76,
'BRE' => 76,
'BRL' => 986,
'BRN' => 76,
'BRR' => 987,
'ARS' => 32,
'ARP' => 32,
'ARA' => 32,
'AUD' => 36,
'ATS' => 40,
'BSD' => 44,
'BHD' => 48,
'BDT' => 50,
'AMD' => 51,
'BBD' => 52,
'BEF' => 56,
'BMD' => 60,
'BTN' => 64,
'BOB' => 68,
'BAD' => 70,
'BWP' => 72,
'BYB' => 112,
'BYR' => 974,
'BRN' => 76,
'BRE' => 76,
'BRC' => 76,
'BZD' => 84,
'SBD' => 90,
'BND' => 96,
'BGL' => 100,
'MMK' => 104,
'BIF' => 108,
'BYB' => 112,
'KHR' => 116,
'CAD' => 124,
'CDF' => 976,
'CHE' => 947,
'CHF' => 756,
'CHW' => 948,
'CLF' => 990,
'CVE' => 132,
'KYD' => 136,
'LKR' => 144,
'CLP' => 152,
'CNY' => 156,
'COP' => 170,
'COU' => 970,
'KMF' => 174,
'ZRN' => 180,
'ZRZ' => 180,
'CRC' => 188,
'CSD' => 891,
'CSK' => 200,
'CUC' => 931,
'HRK' => 191,
'HRD' => 191,
'CUP' => 192,
'CVE' => 132,
'CYP' => 196,
'CSK' => 200,
'CZK' => 203,
'DDM' => 278,
'DEM' => 276,
'DJF' => 262,
'DKK' => 208,
'DOP' => 214,
'DZD' => 12,
'ECS' => 218,
'ECV' => 983,
'EEK' => 233,
'EGP' => 818,
'ERN' => 232,
'ESA' => 996,
'ESB' => 995,
'ESP' => 724,
'ETB' => 230,
'EUR' => 978,
'FIM' => 246,
'FJD' => 242,
'FKP' => 238,
'FRF' => 250,
'GBP' => 826,
'GEK' => 268,
'GEL' => 981,
'GHC' => 288,
'GHS' => 936,
'GIP' => 292,
'GMD' => 270,
'GNF' => 324,
'SVC' => 222,
'GQE' => 226,
'ETB' => 230,
'ERN' => 232,
'EEK' => 233,
'FKP' => 238,
'FJD' => 242,
'FIM' => 246,
'FRF' => 250,
'DJF' => 262,
'GEK' => 268,
'GMD' => 270,
'DEM' => 276,
'DDM' => 278,
'GHC' => 288,
'GIP' => 292,
'GRD' => 300,
'GTQ' => 320,
'GWP' => 624,
'GNF' => 324,
'GYD' => 328,
'HKD' => 344,
'HNL' => 340,
'HRD' => 191,
'HRK' => 191,
'HTG' => 332,
'HNL' => 340,
'HKD' => 344,
'HUF' => 348,
'ISK' => 352,
'INR' => 356,
'IDR' => 360,
'IRR' => 364,
'IQD' => 368,
'IEP' => 372,
'ILS' => 376,
'INR' => 356,
'IQD' => 368,
'IRR' => 364,
'ISK' => 352,
'ITL' => 380,
'JMD' => 388,
'JOD' => 400,
'JPY' => 392,
'KZT' => 398,
'JOD' => 400,
'KES' => 404,
'KGS' => 417,
'KHR' => 116,
'KMF' => 174,
'KPW' => 408,
'KRW' => 410,
'KWD' => 414,
'KYD' => 136,
'KZT' => 398,
'KGS' => 417,
'LAK' => 418,
'LBP' => 422,
'LKR' => 144,
'LRD' => 430,
'LSL' => 426,
'LTL' => 440,
'LTT' => 440,
'LUC' => 989,
'LUF' => 442,
'LUL' => 988,
'LVL' => 428,
'LVR' => 428,
'LRD' => 430,
'LYD' => 434,
'MAD' => 504,
'MDL' => 498,
'MGA' => 969,
'MGF' => 450,
'MKD' => 807,
'MLF' => 466,
'MMK' => 104,
'MNT' => 496,
'LTT' => 440,
'LTL' => 440,
'LUF' => 442,
'MOP' => 446,
'MRO' => 478,
'MTL' => 470,
'MUR' => 480,
'MVR' => 462,
'MGF' => 450,
'MWK' => 454,
'MXN' => 484,
'MXV' => 979,
'MYR' => 458,
'MVR' => 462,
'MLF' => 466,
'MTL' => 470,
'MRO' => 478,
'MUR' => 480,
'MXN' => 484,
'MNT' => 496,
'MDL' => 498,
'MAD' => 504,
'MZM' => 508,
'MZN' => 943,
'NAD' => 516,
'NGN' => 566,
'NIO' => 558,
'NLG' => 528,
'NOK' => 578,
'NPR' => 524,
'NZD' => 554,
'OMR' => 512,
'NAD' => 516,
'NPR' => 524,
'NLG' => 528,
'ANG' => 532,
'AWG' => 533,
'VUV' => 548,
'NZD' => 554,
'NIO' => 558,
'NGN' => 566,
'NOK' => 578,
'PKR' => 586,
'PAB' => 590,
'PGK' => 598,
'PYG' => 600,
'PEI' => 604,
'PEN' => 604,
'PES' => 604,
'PGK' => 598,
'PHP' => 608,
'PKR' => 586,
'PLN' => 985,
'PLZ' => 616,
'PTE' => 620,
'PYG' => 600,
'GWP' => 624,
'TPE' => 626,
'QAR' => 634,
'ROL' => 642,
'RON' => 946,
'RSD' => 941,
'RUB' => 643,
'RUR' => 810,
'RWF' => 646,
'SAR' => 682,
'SBD' => 90,
'SCR' => 690,
'SDD' => 736,
'SDG' => 938,
'SEK' => 752,
'SGD' => 702,
'SHP' => 654,
'SIT' => 705,
'SKK' => 703,
'SLL' => 694,
'SOS' => 706,
'SRD' => 968,
'SRG' => 740,
'SSP' => 728,
'STD' => 678,
'SVC' => 222,
'SYP' => 760,
'SAR' => 682,
'SCR' => 690,
'SLL' => 694,
'SGD' => 702,
'SKK' => 703,
'VND' => 704,
'SIT' => 705,
'SOS' => 706,
'ZAR' => 710,
'ZWD' => 716,
'YDD' => 720,
'ESP' => 724,
'SSP' => 728,
'SDD' => 736,
'SRG' => 740,
'SZL' => 748,
'THB' => 764,
'SEK' => 752,
'CHF' => 756,
'SYP' => 760,
'TJR' => 762,
'TJS' => 972,
'TMM' => 795,
'TMT' => 934,
'TND' => 788,
'THB' => 764,
'TOP' => 776,
'TPE' => 626,
'TRL' => 792,
'TRY' => 949,
'TTD' => 780,
'TWD' => 901,
'TZS' => 834,
'UAH' => 980,
'UAK' => 804,
'AED' => 784,
'TND' => 788,
'TRL' => 792,
'TMM' => 795,
'UGX' => 800,
'UAK' => 804,
'MKD' => 807,
'RUR' => 810,
'EGP' => 818,
'GBP' => 826,
'TZS' => 834,
'USD' => 840,
'USN' => 997,
'USS' => 998,
'UYI' => 940,
'UYU' => 858,
'UZS' => 860,
'VEB' => 862,
'VEF' => 937,
'VND' => 704,
'VUV' => 548,
'WST' => 882,
'YER' => 886,
'YUN' => 890,
'CSD' => 891,
'YUM' => 891,
'ZMK' => 894,
'TWD' => 901,
'CUC' => 931,
'ZWL' => 932,
'BYN' => 933,
'TMT' => 934,
'ZWR' => 935,
'GHS' => 936,
'VEF' => 937,
'SDG' => 938,
'UYI' => 940,
'RSD' => 941,
'MZN' => 943,
'AZN' => 944,
'RON' => 946,
'CHE' => 947,
'CHW' => 948,
'TRY' => 949,
'XAF' => 950,
'XCD' => 951,
'XEU' => 954,
'XOF' => 952,
'XPF' => 953,
'YDD' => 720,
'YER' => 886,
'YUM' => 891,
'YUN' => 890,
'ZAL' => 991,
'ZAR' => 710,
'ZMK' => 894,
'XEU' => 954,
'ZMW' => 967,
'ZRN' => 180,
'ZRZ' => 180,
'ZWD' => 716,
'ZWL' => 932,
'ZWR' => 935,
'SRD' => 968,
'MGA' => 969,
'COU' => 970,
'AFN' => 971,
'TJS' => 972,
'AOA' => 973,
'BYR' => 974,
'BGN' => 975,
'CDF' => 976,
'BAM' => 977,
'EUR' => 978,
'MXV' => 979,
'UAH' => 980,
'GEL' => 981,
'AOR' => 982,
'ECV' => 983,
'BOV' => 984,
'PLN' => 985,
'BRL' => 986,
'BRR' => 987,
'LUL' => 988,
'LUC' => 989,
'CLF' => 990,
'ZAL' => 991,
'BEL' => 992,
'BEC' => 993,
'ESB' => 995,
'ESA' => 996,
'USN' => 997,
'USS' => 998,
);
/**
@ -595,7 +597,7 @@ abstract class AbstractCurrencyDataProviderTest extends AbstractDataProviderTest
$collator = new \Collator($displayLocale);
$collator->asort($names);
$this->assertSame($sortedNames, $names);
$this->assertEquals($sortedNames, $names);
}
public function testGetNamesDefaultLocale()

View File

@ -52,6 +52,7 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
'aro',
'arp',
'arq',
'ars',
'arw',
'ary',
'arz',
@ -64,7 +65,7 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
'awa',
'ay',
'az',
'azb',
'az_Arab',
'ba',
'bal',
'ban',
@ -81,6 +82,7 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
'bfd',
'bfq',
'bg',
'bgn',
'bho',
'bi',
'bik',
@ -128,6 +130,7 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
'cps',
'cr',
'crh',
'crs',
'cs',
'csb',
'cu',
@ -180,6 +183,7 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
'ewo',
'ext',
'fa',
'fa_AF',
'fan',
'fat',
'ff',
@ -340,6 +344,7 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
'lo',
'lol',
'loz',
'lrc',
'lt',
'ltg',
'lu',
@ -401,6 +406,7 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
'nb',
'nd',
'nds',
'nds_NL',
'ne',
'new',
'ng',
@ -441,6 +447,7 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
'pap',
'pau',
'pcd',
'pcm',
'pdc',
'pdt',
'peo',
@ -494,6 +501,7 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
'sco',
'sd',
'sdc',
'sdh',
'se',
'see',
'seh',
@ -536,8 +544,8 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
'sux',
'sv',
'sw',
'sw_CD',
'swb',
'swc',
'syc',
'syr',
'szl',
@ -604,6 +612,7 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
'wal',
'war',
'was',
'wbp',
'wo',
'wuu',
'xal',
@ -636,170 +645,170 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
protected static $alpha2ToAlpha3 = array(
'aa' => 'aar',
'ab' => 'abk',
'ae' => 'ave',
'af' => 'afr',
'ak' => 'aka',
'sq' => 'sqi',
'am' => 'amh',
'an' => 'arg',
'ar' => 'ara',
'an' => 'arg',
'hy' => 'hye',
'as' => 'asm',
'av' => 'ava',
'ae' => 'ave',
'ay' => 'aym',
'az' => 'aze',
'ba' => 'bak',
'be' => 'bel',
'bg' => 'bul',
'bh' => 'bih',
'bi' => 'bis',
'bm' => 'bam',
'eu' => 'eus',
'be' => 'bel',
'bn' => 'ben',
'bi' => 'bis',
'bo' => 'bod',
'br' => 'bre',
'bs' => 'bos',
'br' => 'bre',
'bg' => 'bul',
'my' => 'mya',
'ca' => 'cat',
'ce' => 'che',
'ch' => 'cha',
'co' => 'cos',
'cr' => 'cre',
'cs' => 'ces',
'ch' => 'cha',
'ce' => 'che',
'zh' => 'zho',
'cu' => 'chu',
'cv' => 'chv',
'kw' => 'cor',
'co' => 'cos',
'cr' => 'cre',
'cy' => 'cym',
'da' => 'dan',
'de' => 'deu',
'dv' => 'div',
'nl' => 'nld',
'dz' => 'dzo',
'ee' => 'ewe',
'et' => 'est',
'el' => 'ell',
'en' => 'eng',
'eo' => 'epo',
'es' => 'spa',
'et' => 'est',
'eu' => 'eus',
'fa' => 'fas',
'ff' => 'ful',
'fi' => 'fin',
'fj' => 'fij',
'ik' => 'ipk',
'ee' => 'ewe',
'fo' => 'fao',
'fa' => 'fas',
'fj' => 'fij',
'fi' => 'fin',
'fr' => 'fra',
'fy' => 'fry',
'ga' => 'gle',
'ff' => 'ful',
'om' => 'orm',
'ka' => 'kat',
'gd' => 'gla',
'ga' => 'gle',
'gl' => 'glg',
'gv' => 'glv',
'gn' => 'grn',
'gu' => 'guj',
'gv' => 'glv',
'ht' => 'hat',
'ha' => 'hau',
'he' => 'heb',
'hz' => 'her',
'hi' => 'hin',
'ho' => 'hmo',
'hr' => 'hrv',
'ht' => 'hat',
'hu' => 'hun',
'hy' => 'hye',
'hz' => 'her',
'ig' => 'ibo',
'is' => 'isl',
'io' => 'ido',
'ii' => 'iii',
'iu' => 'iku',
'ie' => 'ile',
'ia' => 'ina',
'id' => 'ind',
'ie' => 'ile',
'ig' => 'ibo',
'ii' => 'iii',
'ik' => 'ipk',
'io' => 'ido',
'is' => 'isl',
'it' => 'ita',
'iu' => 'iku',
'ja' => 'jpn',
'jv' => 'jav',
'ka' => 'kat',
'kg' => 'kon',
'ki' => 'kik',
'kj' => 'kua',
'kk' => 'kaz',
'ja' => 'jpn',
'kl' => 'kal',
'km' => 'khm',
'kn' => 'kan',
'ko' => 'kor',
'kr' => 'kau',
'ks' => 'kas',
'ku' => 'kur',
'kv' => 'kom',
'kw' => 'cor',
'kr' => 'kau',
'kk' => 'kaz',
'mn' => 'mon',
'km' => 'khm',
'ki' => 'kik',
'rw' => 'kin',
'ky' => 'kir',
'ku' => 'kur',
'kg' => 'kon',
'kv' => 'kom',
'ko' => 'kor',
'kj' => 'kua',
'lo' => 'lao',
'la' => 'lat',
'lb' => 'ltz',
'lg' => 'lug',
'lv' => 'lav',
'li' => 'lim',
'ln' => 'lin',
'lo' => 'lao',
'lt' => 'lit',
'lb' => 'ltz',
'lu' => 'lub',
'lv' => 'lav',
'mg' => 'mlg',
'mh' => 'mah',
'mi' => 'mri',
'lg' => 'lug',
'mk' => 'mkd',
'mh' => 'mah',
'ml' => 'mal',
'mn' => 'mon',
'mi' => 'mri',
'mr' => 'mar',
'ms' => 'msa',
'mg' => 'mlg',
'mt' => 'mlt',
'my' => 'mya',
'na' => 'nau',
'nb' => 'nob',
'nd' => 'nde',
'ne' => 'nep',
'ng' => 'ndo',
'nl' => 'nld',
'nn' => 'nno',
'nr' => 'nbl',
'nv' => 'nav',
'nr' => 'nbl',
'nd' => 'nde',
'ng' => 'ndo',
'ne' => 'nep',
'nn' => 'nno',
'nb' => 'nob',
'ny' => 'nya',
'oc' => 'oci',
'oj' => 'oji',
'om' => 'orm',
'or' => 'ori',
'os' => 'oss',
'pa' => 'pan',
'ps' => 'pus',
'pi' => 'pli',
'pl' => 'pol',
'ps' => 'pus',
'pt' => 'por',
'qu' => 'que',
'rm' => 'roh',
'rn' => 'run',
'ro' => 'ron',
'rn' => 'run',
'ru' => 'rus',
'rw' => 'kin',
'sa' => 'san',
'sc' => 'srd',
'sd' => 'snd',
'se' => 'sme',
'sg' => 'sag',
'sa' => 'san',
'sr' => 'srp',
'si' => 'sin',
'sk' => 'slk',
'sl' => 'slv',
'se' => 'sme',
'sm' => 'smo',
'sn' => 'sna',
'sd' => 'snd',
'so' => 'som',
'sq' => 'sqi',
'sr' => 'srp',
'ss' => 'ssw',
'st' => 'sot',
'es' => 'spa',
'sc' => 'srd',
'ss' => 'ssw',
'su' => 'sun',
'sv' => 'swe',
'sw' => 'swa',
'sv' => 'swe',
'ty' => 'tah',
'ta' => 'tam',
'tt' => 'tat',
'te' => 'tel',
'tg' => 'tgk',
'th' => 'tha',
'ti' => 'tir',
'tk' => 'tuk',
'tn' => 'tsn',
'to' => 'ton',
'tr' => 'tur',
'tn' => 'tsn',
'ts' => 'tso',
'tt' => 'tat',
'ty' => 'tah',
'tk' => 'tuk',
'tr' => 'tur',
'ug' => 'uig',
'uk' => 'ukr',
'ur' => 'urd',
@ -813,7 +822,6 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
'yi' => 'yid',
'yo' => 'yor',
'za' => 'zha',
'zh' => 'zho',
'zu' => 'zul',
);
@ -848,7 +856,8 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
sort($languages);
$this->assertEquals(static::$languages, $languages);
$this->assertNotEmpty($languages);
$this->assertEmpty(array_diff($languages, static::$languages));
}
public function testGetNamesDefaultLocale()

View File

@ -56,7 +56,10 @@ abstract class AbstractLocaleDataProviderTest extends AbstractDataProviderTest
sort($locales);
$this->assertSame($this->getLocales(), $locales);
// We can't assert on exact list of locale, as there's too many variations.
// The best we can do is to make sure getNames() returns a subset of what getLocales() returns.
$this->assertNotEmpty($locales);
$this->assertEmpty(array_diff($locales, $this->getLocales()));
}
public function testGetNamesDefaultLocale()

View File

@ -31,7 +31,6 @@ abstract class AbstractRegionDataProviderTest extends AbstractDataProviderTest
'AI',
'AL',
'AM',
'AN',
'AO',
'AQ',
'AR',
@ -58,7 +57,6 @@ abstract class AbstractRegionDataProviderTest extends AbstractDataProviderTest
'BR',
'BS',
'BT',
'BV',
'BW',
'BY',
'BZ',
@ -74,7 +72,6 @@ abstract class AbstractRegionDataProviderTest extends AbstractDataProviderTest
'CM',
'CN',
'CO',
'CP',
'CR',
'CU',
'CV',
@ -97,7 +94,7 @@ abstract class AbstractRegionDataProviderTest extends AbstractDataProviderTest
'ER',
'ES',
'ET',
'EU',
'EZ',
'FI',
'FJ',
'FK',
@ -124,7 +121,6 @@ abstract class AbstractRegionDataProviderTest extends AbstractDataProviderTest
'GW',
'GY',
'HK',
'HM',
'HN',
'HR',
'HT',
@ -263,6 +259,7 @@ abstract class AbstractRegionDataProviderTest extends AbstractDataProviderTest
'UA',
'UG',
'UM',
'UN',
'US',
'UY',
'UZ',

View File

@ -24,7 +24,10 @@ abstract class AbstractScriptDataProviderTest extends AbstractDataProviderTest
// The below arrays document the state of the ICU data bundled with this package.
protected static $scripts = array(
'Adlm',
'Afak',
'Aghb',
'Ahom',
'Arab',
'Armi',
'Armn',
@ -34,6 +37,7 @@ abstract class AbstractScriptDataProviderTest extends AbstractDataProviderTest
'Bass',
'Batk',
'Beng',
'Bhks',
'Blis',
'Bopo',
'Brah',
@ -56,6 +60,7 @@ abstract class AbstractScriptDataProviderTest extends AbstractDataProviderTest
'Egyd',
'Egyh',
'Egyp',
'Elba',
'Ethi',
'Geok',
'Geor',
@ -65,11 +70,13 @@ abstract class AbstractScriptDataProviderTest extends AbstractDataProviderTest
'Grek',
'Gujr',
'Guru',
'Hanb',
'Hang',
'Hani',
'Hano',
'Hans',
'Hant',
'Hatr',
'Hebr',
'Hira',
'Hluw',
@ -78,6 +85,7 @@ abstract class AbstractScriptDataProviderTest extends AbstractDataProviderTest
'Hung',
'Inds',
'Ital',
'Jamo',
'Java',
'Jpan',
'Jurc',
@ -103,20 +111,25 @@ abstract class AbstractScriptDataProviderTest extends AbstractDataProviderTest
'Loma',
'Lyci',
'Lydi',
'Mahj',
'Mand',
'Mani',
'Marc',
'Maya',
'Mend',
'Merc',
'Mero',
'Mlym',
'Modi',
'Mong',
'Moon',
'Mroo',
'Mtei',
'Mult',
'Mymr',
'Narb',
'Nbat',
'Newa',
'Nkgb',
'Nkoo',
'Nshu',
@ -124,8 +137,10 @@ abstract class AbstractScriptDataProviderTest extends AbstractDataProviderTest
'Olck',
'Orkh',
'Orya',
'Osge',
'Osma',
'Palm',
'Pauc',
'Perm',
'Phag',
'Phli',
@ -134,6 +149,54 @@ abstract class AbstractScriptDataProviderTest extends AbstractDataProviderTest
'Phnx',
'Plrd',
'Prti',
'Qaaa',
'Qaab',
'Qaac',
'Qaad',
'Qaae',
'Qaaf',
'Qaag',
'Qaah',
'Qaak',
'Qaal',
'Qaam',
'Qaan',
'Qaao',
'Qaap',
'Qaaq',
'Qaar',
'Qaas',
'Qaat',
'Qaau',
'Qaav',
'Qaaw',
'Qaax',
'Qaay',
'Qaaz',
'Qaba',
'Qabb',
'Qabc',
'Qabd',
'Qabe',
'Qabf',
'Qabg',
'Qabh',
'Qabi',
'Qabj',
'Qabk',
'Qabl',
'Qabm',
'Qabn',
'Qabo',
'Qabp',
'Qabq',
'Qabr',
'Qabs',
'Qabt',
'Qabu',
'Qabv',
'Qabw',
'Qabx',
'Rjng',
'Roro',
'Runr',
@ -144,6 +207,7 @@ abstract class AbstractScriptDataProviderTest extends AbstractDataProviderTest
'Sgnw',
'Shaw',
'Shrd',
'Sidd',
'Sind',
'Sinh',
'Sora',
@ -178,6 +242,7 @@ abstract class AbstractScriptDataProviderTest extends AbstractDataProviderTest
'Yiii',
'Zinh',
'Zmth',
'Zsye',
'Zsym',
'Zxxx',
'Zyyy',
@ -215,7 +280,10 @@ abstract class AbstractScriptDataProviderTest extends AbstractDataProviderTest
sort($scripts);
$this->assertSame(static::$scripts, $scripts);
// We can't assert on exact list of scripts, as there's too many variations between locales.
// The best we can do is to make sure getNames() returns a subset of what getScripts() returns.
$this->assertNotEmpty($scripts);
$this->assertEmpty(array_diff($scripts, self::$scripts));
}
public function testGetNamesDefaultLocale()