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