Annotation of embedaddon/php/ext/standard/tests/array/sort_variation5.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test sort() function : usage variations - sort strings
3: --SKIPIF--
4: <?php
5: if (substr(PHP_OS, 0, 3) == 'WIN') {
6: die("skip Output tested contains chars that are not shown the same on windows concole (ESC and co)");
7: }
8: --FILE--
9: <?php
10: /* Prototype : bool sort ( array &$array [, int $sort_flags] )
11: * Description: This function sorts an array.
12: Elements will be arranged from lowest to highest when this function has completed.
13: * Source code: ext/standard/array.c
14: */
15:
16: /*
17: * testing sort() by providing different string arrays for $array argument with following flag values
18: * flag value as defualt
19: * SORT_REGULAR - compare items normally
20: * SORT_STRING - compare items as strings
21: */
22:
23: echo "*** Testing sort() : usage variations ***\n";
24:
25: $various_arrays = array (
26: // group of escape sequences
27: array(null, NULL, "\a", "\cx", "\e", "\f", "\n", "\r", "\t", "\xhh", "\ddd", "\v"),
28:
29: // array contains combination of capital/small letters
30: array("lemoN", "Orange", "banana", "apple", "Test", "TTTT", "ttt", "ww", "x", "X", "oraNGe", "BANANA")
31: );
32:
33: $flags = array("SORT_REGULAR" => SORT_REGULAR, "SORT_STRING" => SORT_STRING);
34:
35: $count = 1;
36: echo "\n-- Testing sort() by supplying various string arrays --\n";
37:
38: // loop through to test sort() with different arrays
39: foreach ($various_arrays as $array) {
40: echo "\n-- Iteration $count --\n";
41:
42: echo "- With Default sort flag -\n";
43: $temp_array = $array;
44: var_dump(sort($temp_array) ); // expecting : bool(true)
45: var_dump($temp_array);
46:
47: // loop through $flags array and setting all possible flag values
48: foreach($flags as $key => $flag){
49: echo "- Sort flag = $key -\n";
50: $temp_array = $array;
51: var_dump(sort($temp_array, $flag) ); // expecting : bool(true)
52: var_dump($temp_array);
53: }
54: $count++;
55: }
56:
57: echo "Done\n";
58: ?>
59: --EXPECTF--
60: *** Testing sort() : usage variations ***
61:
62: -- Testing sort() by supplying various string arrays --
63:
64: -- Iteration 1 --
65: - With Default sort flag -
66: bool(true)
67: array(12) {
68: [0]=>
69: NULL
70: [1]=>
71: NULL
72: [2]=>
73: string(1) " "
74: [3]=>
75: string(1) "
76: "
77: [4]=>
78: string(1) ""
79: [5]=>
80: string(1) ""
81: [6]=>
82: string(1) "
83: "
84: [7]=>
85: string(2) "\a"
86: [8]=>
87: string(3) "\cx"
88: [9]=>
89: string(4) "\ddd"
90: [10]=>
91: string(2) "\e"
92: [11]=>
93: string(4) "\xhh"
94: }
95: - Sort flag = SORT_REGULAR -
96: bool(true)
97: array(12) {
98: [0]=>
99: NULL
100: [1]=>
101: NULL
102: [2]=>
103: string(1) " "
104: [3]=>
105: string(1) "
106: "
107: [4]=>
108: string(1) ""
109: [5]=>
110: string(1) ""
111: [6]=>
112: string(1) "
113: "
114: [7]=>
115: string(2) "\a"
116: [8]=>
117: string(3) "\cx"
118: [9]=>
119: string(4) "\ddd"
120: [10]=>
121: string(2) "\e"
122: [11]=>
123: string(4) "\xhh"
124: }
125: - Sort flag = SORT_STRING -
126: bool(true)
127: array(12) {
128: [0]=>
129: NULL
130: [1]=>
131: NULL
132: [2]=>
133: string(1) " "
134: [3]=>
135: string(1) "
136: "
137: [4]=>
138: string(1) ""
139: [5]=>
140: string(1) ""
141: [6]=>
142: string(1) "
143: "
144: [7]=>
145: string(2) "\a"
146: [8]=>
147: string(3) "\cx"
148: [9]=>
149: string(4) "\ddd"
150: [10]=>
151: string(2) "\e"
152: [11]=>
153: string(4) "\xhh"
154: }
155:
156: -- Iteration 2 --
157: - With Default sort flag -
158: bool(true)
159: array(12) {
160: [0]=>
161: string(6) "BANANA"
162: [1]=>
163: string(6) "Orange"
164: [2]=>
165: string(4) "TTTT"
166: [3]=>
167: string(4) "Test"
168: [4]=>
169: string(1) "X"
170: [5]=>
171: string(5) "apple"
172: [6]=>
173: string(6) "banana"
174: [7]=>
175: string(5) "lemoN"
176: [8]=>
177: string(6) "oraNGe"
178: [9]=>
179: string(3) "ttt"
180: [10]=>
181: string(2) "ww"
182: [11]=>
183: string(1) "x"
184: }
185: - Sort flag = SORT_REGULAR -
186: bool(true)
187: array(12) {
188: [0]=>
189: string(6) "BANANA"
190: [1]=>
191: string(6) "Orange"
192: [2]=>
193: string(4) "TTTT"
194: [3]=>
195: string(4) "Test"
196: [4]=>
197: string(1) "X"
198: [5]=>
199: string(5) "apple"
200: [6]=>
201: string(6) "banana"
202: [7]=>
203: string(5) "lemoN"
204: [8]=>
205: string(6) "oraNGe"
206: [9]=>
207: string(3) "ttt"
208: [10]=>
209: string(2) "ww"
210: [11]=>
211: string(1) "x"
212: }
213: - Sort flag = SORT_STRING -
214: bool(true)
215: array(12) {
216: [0]=>
217: string(6) "BANANA"
218: [1]=>
219: string(6) "Orange"
220: [2]=>
221: string(4) "TTTT"
222: [3]=>
223: string(4) "Test"
224: [4]=>
225: string(1) "X"
226: [5]=>
227: string(5) "apple"
228: [6]=>
229: string(6) "banana"
230: [7]=>
231: string(5) "lemoN"
232: [8]=>
233: string(6) "oraNGe"
234: [9]=>
235: string(3) "ttt"
236: [10]=>
237: string(2) "ww"
238: [11]=>
239: string(1) "x"
240: }
241: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>