locale_lookup_variant3.phpt 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. --TEST--
  2. locale_lookup.phpt()
  3. --EXTENSIONS--
  4. intl
  5. --SKIPIF--
  6. <?php if (version_compare(INTL_ICU_VERSION, '67.1') < 0) die('skip for ICU >= 67.1'); ?>
  7. --FILE--
  8. <?php
  9. /*
  10. * Try parsing different Locales
  11. * with Procedural and Object methods.
  12. */
  13. function ut_main()
  14. {
  15. $loc_ranges = array(
  16. 'de-de',
  17. 'sl_IT',
  18. 'sl_IT_Nedis',
  19. 'jbo',
  20. 'art-lojban'
  21. );
  22. $lang_tags = array(
  23. 'de-DEVA',
  24. 'de-DE-1996',
  25. 'de-DE',
  26. 'zh_Hans',
  27. 'de-CH-1996',
  28. 'sl_IT',
  29. 'sl_IT_nedis-a-kirti-x-xyz',
  30. 'sl_IT_rozaj',
  31. 'sl_IT_NEDIS_ROJAZ_1901',
  32. 'i-enochian',
  33. 'sgn-CH-de',
  34. 'art-lojban',
  35. 'i-lux',
  36. 'art-lojban',
  37. 'jbo',
  38. 'en_sl_IT',
  39. 'zh-Hant-CN-x-prv1-prv2'
  40. );
  41. $res_str = '';
  42. $isCanonical = false;
  43. foreach($loc_ranges as $loc_range){
  44. $res_str .="--------------\n";
  45. $result= ut_loc_locale_lookup( $lang_tags , $loc_range,$isCanonical,"en_US");
  46. $comma_arr =implode(",",$lang_tags);
  47. $res_str .= "loc_range:$loc_range \nlang_tags: $comma_arr\n";
  48. $res_str .= "\nlookup result:$result\n";
  49. //canonicalized version
  50. $result= ut_loc_locale_lookup( $lang_tags , $loc_range,!($isCanonical),"en_US");
  51. $can_loc_range = ut_loc_canonicalize($loc_range);
  52. $res_str .= "Canonical lookup result:$result\n";
  53. }
  54. $res_str .= "\n";
  55. return $res_str;
  56. }
  57. include_once( 'ut_common.inc' );
  58. ut_run();
  59. ?>
  60. --EXPECT--
  61. --------------
  62. loc_range:de-de
  63. lang_tags: de-DEVA,de-DE-1996,de-DE,zh_Hans,de-CH-1996,sl_IT,sl_IT_nedis-a-kirti-x-xyz,sl_IT_rozaj,sl_IT_NEDIS_ROJAZ_1901,i-enochian,sgn-CH-de,art-lojban,i-lux,art-lojban,jbo,en_sl_IT,zh-Hant-CN-x-prv1-prv2
  64. lookup result:de-DE
  65. Canonical lookup result:de_de
  66. --------------
  67. loc_range:sl_IT
  68. lang_tags: de-DEVA,de-DE-1996,de-DE,zh_Hans,de-CH-1996,sl_IT,sl_IT_nedis-a-kirti-x-xyz,sl_IT_rozaj,sl_IT_NEDIS_ROJAZ_1901,i-enochian,sgn-CH-de,art-lojban,i-lux,art-lojban,jbo,en_sl_IT,zh-Hant-CN-x-prv1-prv2
  69. lookup result:sl_IT
  70. Canonical lookup result:sl_it
  71. --------------
  72. loc_range:sl_IT_Nedis
  73. lang_tags: de-DEVA,de-DE-1996,de-DE,zh_Hans,de-CH-1996,sl_IT,sl_IT_nedis-a-kirti-x-xyz,sl_IT_rozaj,sl_IT_NEDIS_ROJAZ_1901,i-enochian,sgn-CH-de,art-lojban,i-lux,art-lojban,jbo,en_sl_IT,zh-Hant-CN-x-prv1-prv2
  74. lookup result:sl_IT
  75. Canonical lookup result:sl_it
  76. --------------
  77. loc_range:jbo
  78. lang_tags: de-DEVA,de-DE-1996,de-DE,zh_Hans,de-CH-1996,sl_IT,sl_IT_nedis-a-kirti-x-xyz,sl_IT_rozaj,sl_IT_NEDIS_ROJAZ_1901,i-enochian,sgn-CH-de,art-lojban,i-lux,art-lojban,jbo,en_sl_IT,zh-Hant-CN-x-prv1-prv2
  79. lookup result:jbo
  80. Canonical lookup result:jbo
  81. --------------
  82. loc_range:art-lojban
  83. lang_tags: de-DEVA,de-DE-1996,de-DE,zh_Hans,de-CH-1996,sl_IT,sl_IT_nedis-a-kirti-x-xyz,sl_IT_rozaj,sl_IT_NEDIS_ROJAZ_1901,i-enochian,sgn-CH-de,art-lojban,i-lux,art-lojban,jbo,en_sl_IT,zh-Hant-CN-x-prv1-prv2
  84. lookup result:art-lojban
  85. Canonical lookup result:jbo