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