locale_lookup.phpt 2.8 KB

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