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