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