1--TEST-- 2locale_get_display_script() icu >= 4.8 3--SKIPIF-- 4<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?> 5<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0 || version_compare(INTL_ICU_VERSION, '49') >= 0) print 'skip'; ?> 6--FILE-- 7<?php 8 9/* 10 * Try getting the display_script for different locales 11 * with Procedural and Object methods. 12 */ 13 14function ut_main() 15{ 16 $res_str = ''; 17 18 $disp_locales=array('en','fr','de'); 19 20 $locales = array( 21 'uk-ua_CALIFORNIA@currency=;currency=GRN', 22 'root', 23 'uk@currency=EURO', 24 'Hindi', 25//Simple language subtag 26 'de', 27 'fr', 28 'ja', 29 'i-enochian', //(example of a grandfathered tag) 30//Language subtag plus Script subtag: 31 'zh-Hant', 32 'zh-Hans', 33 'sr-Cyrl', 34 'sr-Latn', 35//Language-Script-Region 36 'zh-Hans-CN', 37 'sr-Latn-CS', 38//Language-Variant 39 'sl-rozaj', 40 'sl-nedis', 41//Language-Region-Variant 42 'de-CH-1901', 43 'sl-IT-nedis', 44//Language-Script-Region-Variant 45 'sl-Latn-IT-nedis', 46//Language-Region: 47 'de-DE', 48 'en-US', 49 'es-419', 50//Private use subtags: 51 'de-CH-x-phonebk', 52 'az-Arab-x-AZE-derbend', 53//Extended language subtags 54 'zh-min', 55 'zh-min-nan-Hant-CN', 56//Private use registry values 57 'x-whatever', 58 'qaa-Qaaa-QM-x-southern', 59 'sr-Latn-QM', 60 'sr-Qaaa-CS', 61/*Tags that use extensions (examples ONLY: extensions MUST be defined 62 by revision or update to this document or by RFC): */ 63 'en-US-u-islamCal', 64 'zh-CN-a-myExt-x-private', 65 'en-a-myExt-b-another', 66//Some Invalid Tags: 67 'de-419-DE', 68 'a-DE', 69 'ar-a-aaa-b-bbb-a-ccc' 70 ); 71 72 73 $res_str = ''; 74 75 foreach( $locales as $locale ) 76 { 77 $res_str .= "locale='$locale'\n"; 78 foreach( $disp_locales as $disp_locale ) 79 { 80 $scr = ut_loc_get_display_script( $locale ,$disp_locale ); 81 $res_str .= "disp_locale=$disp_locale : display_script=$scr"; 82 $res_str .= "\n"; 83 } 84 $res_str .= "-----------------\n"; 85 } 86 87 return $res_str; 88 89} 90 91include_once( 'ut_common.inc' ); 92ut_run(); 93 94?> 95--EXPECTREGEX-- 96locale='uk-ua_CALIFORNIA@currency=;currency=GRN' 97disp_locale=en : display_script= 98disp_locale=fr : display_script= 99disp_locale=de : display_script= 100----------------- 101locale='root' 102disp_locale=en : display_script= 103disp_locale=fr : display_script= 104disp_locale=de : display_script= 105----------------- 106locale='uk@currency=EURO' 107disp_locale=en : display_script= 108disp_locale=fr : display_script= 109disp_locale=de : display_script= 110----------------- 111locale='Hindi' 112disp_locale=en : display_script= 113disp_locale=fr : display_script= 114disp_locale=de : display_script= 115----------------- 116locale='de' 117disp_locale=en : display_script= 118disp_locale=fr : display_script= 119disp_locale=de : display_script= 120----------------- 121locale='fr' 122disp_locale=en : display_script= 123disp_locale=fr : display_script= 124disp_locale=de : display_script= 125----------------- 126locale='ja' 127disp_locale=en : display_script= 128disp_locale=fr : display_script= 129disp_locale=de : display_script= 130----------------- 131locale='i-enochian' 132disp_locale=en : display_script= 133disp_locale=fr : display_script= 134disp_locale=de : display_script= 135----------------- 136locale='zh-Hant' 137disp_locale=en : display_script=Traditional 138disp_locale=fr : display_script=idéogrammes han (\(variante traditionnelle\)|traditionnels) 139disp_locale=de : display_script=Traditionell 140----------------- 141locale='zh-Hans' 142disp_locale=en : display_script=Simplified 143disp_locale=fr : display_script=idéogrammes han (\(variante simplifiée\)|simplifiés) 144disp_locale=de : display_script=Vereinfacht 145----------------- 146locale='sr-Cyrl' 147disp_locale=en : display_script=Cyrillic 148disp_locale=fr : display_script=cyrillique 149disp_locale=de : display_script=Kyrillisch 150----------------- 151locale='sr-Latn' 152disp_locale=en : display_script=Latin 153disp_locale=fr : display_script=latin 154disp_locale=de : display_script=Lateinisch 155----------------- 156locale='zh-Hans-CN' 157disp_locale=en : display_script=Simplified 158disp_locale=fr : display_script=idéogrammes han (\(variante simplifiée\)|simplifiés) 159disp_locale=de : display_script=Vereinfacht 160----------------- 161locale='sr-Latn-CS' 162disp_locale=en : display_script=Latin 163disp_locale=fr : display_script=latin 164disp_locale=de : display_script=Lateinisch 165----------------- 166locale='sl-rozaj' 167disp_locale=en : display_script= 168disp_locale=fr : display_script= 169disp_locale=de : display_script= 170----------------- 171locale='sl-nedis' 172disp_locale=en : display_script= 173disp_locale=fr : display_script= 174disp_locale=de : display_script= 175----------------- 176locale='de-CH-1901' 177disp_locale=en : display_script= 178disp_locale=fr : display_script= 179disp_locale=de : display_script= 180----------------- 181locale='sl-IT-nedis' 182disp_locale=en : display_script= 183disp_locale=fr : display_script= 184disp_locale=de : display_script= 185----------------- 186locale='sl-Latn-IT-nedis' 187disp_locale=en : display_script=Latin 188disp_locale=fr : display_script=latin 189disp_locale=de : display_script=Lateinisch 190----------------- 191locale='de-DE' 192disp_locale=en : display_script= 193disp_locale=fr : display_script= 194disp_locale=de : display_script= 195----------------- 196locale='en-US' 197disp_locale=en : display_script= 198disp_locale=fr : display_script= 199disp_locale=de : display_script= 200----------------- 201locale='es-419' 202disp_locale=en : display_script= 203disp_locale=fr : display_script= 204disp_locale=de : display_script= 205----------------- 206locale='de-CH-x-phonebk' 207disp_locale=en : display_script= 208disp_locale=fr : display_script= 209disp_locale=de : display_script= 210----------------- 211locale='az-Arab-x-AZE-derbend' 212disp_locale=en : display_script=Arabic 213disp_locale=fr : display_script=arabe 214disp_locale=de : display_script=Arabisch 215----------------- 216locale='zh-min' 217disp_locale=en : display_script= 218disp_locale=fr : display_script= 219disp_locale=de : display_script= 220----------------- 221locale='zh-min-nan-Hant-CN' 222disp_locale=en : display_script= 223disp_locale=fr : display_script= 224disp_locale=de : display_script= 225----------------- 226locale='x-whatever' 227disp_locale=en : display_script= 228disp_locale=fr : display_script= 229disp_locale=de : display_script= 230----------------- 231locale='qaa-Qaaa-QM-x-southern' 232disp_locale=en : display_script=Qaaa 233disp_locale=fr : display_script=Qaaa 234disp_locale=de : display_script=Qaaa 235----------------- 236locale='sr-Latn-QM' 237disp_locale=en : display_script=Latin 238disp_locale=fr : display_script=latin 239disp_locale=de : display_script=Lateinisch 240----------------- 241locale='sr-Qaaa-CS' 242disp_locale=en : display_script=Qaaa 243disp_locale=fr : display_script=Qaaa 244disp_locale=de : display_script=Qaaa 245----------------- 246locale='en-US-u-islamCal' 247disp_locale=en : display_script= 248disp_locale=fr : display_script= 249disp_locale=de : display_script= 250----------------- 251locale='zh-CN-a-myExt-x-private' 252disp_locale=en : display_script= 253disp_locale=fr : display_script= 254disp_locale=de : display_script= 255----------------- 256locale='en-a-myExt-b-another' 257disp_locale=en : display_script= 258disp_locale=fr : display_script= 259disp_locale=de : display_script= 260----------------- 261locale='de-419-DE' 262disp_locale=en : display_script= 263disp_locale=fr : display_script= 264disp_locale=de : display_script= 265----------------- 266locale='a-DE' 267disp_locale=en : display_script= 268disp_locale=fr : display_script= 269disp_locale=de : display_script= 270----------------- 271locale='ar-a-aaa-b-bbb-a-ccc' 272disp_locale=en : display_script= 273disp_locale=fr : display_script= 274disp_locale=de : display_script= 275----------------- 276