Annotation of embedaddon/php/ext/intl/tests/collator_asort_variant2.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: asort()
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: /*
10: * Sort associative arrays using various locales.
11: */
12:
13:
14: $test_num = 1;
15:
16: /*
17: * Sort various arrays in specified locale.
18: */
19: function sort_arrays( $locale, $test_arrays, $sort_flag = Collator::SORT_REGULAR )
20: {
21: $res_str = '';
22:
23: $coll = ut_coll_create( $locale );
24:
25: foreach( $test_arrays as $test_array )
26: {
27: // Try to sort test data.
28: $res_val = ut_coll_asort( $coll, $test_array, $sort_flag );
29:
30: // Return output data.
31: $res_dump = "\n" . dump( $test_array ) .
32: "\n Result: " . dump( $res_val );
33:
34: // Preppend test signature to output string
35: $md5 = md5( $res_dump );
36:
37: global $test_num;
38:
39: $res_str .= "\n\n".
40: "Test $test_num.$md5:" .
41: $res_dump;
42: ++$test_num;
43: }
44:
45: return $res_str;
46: }
47:
48: /*
49: * Test main function.
50: */
51: function ut_main()
52: {
53: global $test_num;
54: $test_num = 1;
55: $res_str = '';
56:
57: // Sort an array in SORT_REGULAR mode using en_US locale.
58: $test_params = array(
59: array( 'd' => 'y' ,
60: 'c' => 'i' ,
61: 'a' => 'k' ),
62:
63: array( 'a' => 'a' ,
64: 'b' => 'aaa',
65: 'c' => 'aa' ),
66:
67: array( 'a' => 'a' ,
68: 'aaa'=> 'a' ,
69: 'aa' => 'a' ),
70:
71: array( '1' => 'abc',
72: '5' => '!' ,
73: '2' => null ,
74: '7' => '' ),
75:
76: array( '1' => '100',
77: '2' => '25' ,
78: '3' => '36' ),
79:
80: array( '1' => 5 ,
81: '2' => '30' ,
82: '3' => 2 )
83: );
84:
85: $res_str .= sort_arrays( 'en_US', $test_params );
86:
87: // Sort an array in SORT_STRING mode using en_US locale.
88: $test_params = array(
89: array( '1' => '100',
90: '2' => '25' ,
91: '3' => '36' ),
92:
93: array( '1' => 5 ,
94: '2' => '30' ,
95: '3' => 2 ),
96:
97: array( '1' => 'd' ,
98: '2' => '' ,
99: '3' => ' a' ),
100:
101: array( '1' => 'y' ,
102: '2' => 'k' ,
103: '3' => 'i' )
104: );
105:
106: $res_str .= sort_arrays( 'en_US', $test_params, Collator::SORT_STRING );
107:
108: // Sort a non-ASCII array using ru_RU locale.
109: $test_params = array(
110: array( 'п' => 'у',
111: 'б' => 'в',
112: 'е' => 'а' ),
113:
114: array( '1' => 'п',
115: '4' => '',
116: '7' => 'd',
117: '2' => 'пп' )
118: );
119:
120: $res_str .= sort_arrays( 'ru_RU', $test_params );
121:
122:
123: // Sort an array using Lithuanian locale.
124: $test_params = array(
125: array( 'd' => 'y',
126: 'c' => 'i',
127: 'a' => 'k' )
128: );
129:
130: $res_str .= sort_arrays( 'lt_LT', $test_params );
131:
132: return $res_str . "\n";
133: }
134:
135: include_once( 'ut_common.inc' );
136: ut_run();
137: ?>
138: --EXPECT--
139: Test 1.162b81ac12878b817fc39063097e45b5:
140: array (
141: 'c' => 'i',
142: 'a' => 'k',
143: 'd' => 'y',
144: )
145: Result: true
146:
147: Test 2.93d96e22f692d8a281b0a389f01f8d1e:
148: array (
149: 'a' => 'a',
150: 'c' => 'aa',
151: 'b' => 'aaa',
152: )
153: Result: true
154:
155: Test 3.9f25de4482bc7b58de508e278113317c:
156: array (
157: 'aa' => 'a',
158: 'aaa' => 'a',
159: 'a' => 'a',
160: )
161: Result: true
162:
163: Test 4.a85a41ea78e45b651080cfd98c0b431d:
164: array (
165: 7 => '',
166: 2 => NULL,
167: 5 => '!',
168: 1 => 'abc',
169: )
170: Result: true
171:
172: Test 5.99dc71f405b286e03d489061b36e6900:
173: array (
174: 2 => '25',
175: 3 => '36',
176: 1 => '100',
177: )
178: Result: true
179:
180: Test 6.bf5bba243307c9d12934e756ad4be190:
181: array (
182: 3 => 2,
183: 1 => 5,
184: 2 => '30',
185: )
186: Result: true
187:
188: Test 7.e4ee7024c61476e9e7a6c28b5e47df6f:
189: array (
190: 1 => '100',
191: 2 => '25',
192: 3 => '36',
193: )
194: Result: true
195:
196: Test 8.5fa7033dd43784be0db1474eb48b83c8:
197: array (
198: 3 => 2,
199: 2 => '30',
200: 1 => 5,
201: )
202: Result: true
203:
204: Test 9.588cdf4692bc09aa92ffe7e48f9e4579:
205: array (
206: 2 => '',
207: 3 => ' a',
208: 1 => 'd',
209: )
210: Result: true
211:
212: Test 10.be02641a47ebcccd23e4183ca3a415f7:
213: array (
214: 3 => 'i',
215: 2 => 'k',
216: 1 => 'y',
217: )
218: Result: true
219:
220: Test 11.153d9b11d1e5936afc917a94a4e11f34:
221: array (
222: 'е' => 'а',
223: 'б' => 'в',
224: 'п' => 'у',
225: )
226: Result: true
227:
228: Test 12.e1f5cb037b564dce39ffbd0a61562d59:
229: array (
230: 4 => '',
231: 1 => 'п',
232: 2 => 'пп',
233: 7 => 'd',
234: )
235: Result: true
236:
237: Test 13.8800d48abb960a59002eef77f1d73ae0:
238: array (
239: 'c' => 'i',
240: 'd' => 'y',
241: 'a' => 'k',
242: )
243: Result: true
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>