Annotation of embedaddon/php/ext/standard/tests/array/rsort_object2.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test rsort() function : object functionality - different visibilities
3: --FILE--
4: <?php
5: /* Prototype : bool rsort(array &$array_arg [, int $sort_flags])
6: * Description: Sort an array in reverse order
7: * Source code: ext/standard/array.c
8: */
9:
10: /*
11: * Test functionality of rsort() with objects where properties have different visibilities
12: */
13:
14: echo "*** Testing rsort() : object functionality ***\n";
15:
16: // class declaration for integer objects
17: class for_integer_rsort
18: {
19: public $public_class_value;
20: private $private_class_value;
21: protected $protected_class_value;
22:
23: // initializing object member value
24: function __construct($value1, $value2,$value3){
25: $this->public_class_value = $value1;
26: $this->private_class_value = $value2;
27: $this->protected_class_value = $value3;
28: }
29:
30: }
31:
32: // class declaration for string objects
33: class for_string_rsort
34: {
35: public $public_class_value;
36: private $private_class_value;
37: protected $protected_class_value;
38: // initializing object member value
39: function __construct($value1, $value2,$value3){
40: $this->public_class_value = $value1;
41: $this->private_class_value = $value2;
42: $this->protected_class_value = $value3;
43: }
44:
45: // return string value
46: function __tostring() {
47: return (string)$this->value;
48: }
49:
50: }
51:
52: // array of integer objects
53:
54: $unsorted_int_obj = array(
55: new for_integer_rsort(11,33,30),
56: new for_integer_rsort(66,44,4),
57: new for_integer_rsort(-88,-5,5),
58: new for_integer_rsort(0.001,99.5,0.1)
59: );
60:
61: // array of string objects
62: $unsorted_str_obj = array (
63: new for_string_rsort("axx","AXX","ass"),
64: new for_string_rsort("t","eee","abb"),
65: new for_string_rsort("w","W", "c"),
66: new for_string_rsort("py","PY", "pt"),
67: );
68:
69:
70: echo "\n-- Sort flag = default --\n";
71:
72: // testing rsort() function by supplying integer object array, flag value is defualt
73: $temp_array = $unsorted_int_obj;
74: var_dump(rsort($temp_array) );
75: var_dump($temp_array);
76:
77: // testing rsort() function by supplying string object array, flag value is defualt
78: $temp_array = $unsorted_str_obj;
79: var_dump(rsort($temp_array) );
80: var_dump($temp_array);
81:
82: echo "\n-- Sort flag = SORT_REGULAR --\n";
83: // testing rsort() function by supplying integer object array, flag value = SORT_REGULAR
84: $temp_array = $unsorted_int_obj;
85: var_dump(rsort($temp_array, SORT_REGULAR) );
86: var_dump($temp_array);
87:
88: // testing rsort() function by supplying string object array, flag value = SORT_REGULAR
89: $temp_array = $unsorted_str_obj;
90: var_dump(rsort($temp_array, SORT_REGULAR) );
91: var_dump($temp_array);
92:
93: echo "Done";
94: ?>
95:
96: --EXPECTF--
97: *** Testing rsort() : object functionality ***
98:
99: -- Sort flag = default --
100: bool(true)
101: array(4) {
102: [0]=>
103: object(for_integer_rsort)#%d (3) {
104: ["public_class_value"]=>
105: int(66)
106: ["private_class_value":"for_integer_rsort":private]=>
107: int(44)
108: ["protected_class_value":protected]=>
109: int(4)
110: }
111: [1]=>
112: object(for_integer_rsort)#%d (3) {
113: ["public_class_value"]=>
114: int(11)
115: ["private_class_value":"for_integer_rsort":private]=>
116: int(33)
117: ["protected_class_value":protected]=>
118: int(30)
119: }
120: [2]=>
121: object(for_integer_rsort)#%d (3) {
122: ["public_class_value"]=>
123: float(0.001)
124: ["private_class_value":"for_integer_rsort":private]=>
125: float(99.5)
126: ["protected_class_value":protected]=>
127: float(0.1)
128: }
129: [3]=>
130: object(for_integer_rsort)#%d (3) {
131: ["public_class_value"]=>
132: int(-88)
133: ["private_class_value":"for_integer_rsort":private]=>
134: int(-5)
135: ["protected_class_value":protected]=>
136: int(5)
137: }
138: }
139: bool(true)
140: array(4) {
141: [0]=>
142: object(for_string_rsort)#%d (3) {
143: ["public_class_value"]=>
144: string(1) "w"
145: ["private_class_value":"for_string_rsort":private]=>
146: string(1) "W"
147: ["protected_class_value":protected]=>
148: string(1) "c"
149: }
150: [1]=>
151: object(for_string_rsort)#%d (3) {
152: ["public_class_value"]=>
153: string(1) "t"
154: ["private_class_value":"for_string_rsort":private]=>
155: string(3) "eee"
156: ["protected_class_value":protected]=>
157: string(3) "abb"
158: }
159: [2]=>
160: object(for_string_rsort)#%d (3) {
161: ["public_class_value"]=>
162: string(2) "py"
163: ["private_class_value":"for_string_rsort":private]=>
164: string(2) "PY"
165: ["protected_class_value":protected]=>
166: string(2) "pt"
167: }
168: [3]=>
169: object(for_string_rsort)#%d (3) {
170: ["public_class_value"]=>
171: string(3) "axx"
172: ["private_class_value":"for_string_rsort":private]=>
173: string(3) "AXX"
174: ["protected_class_value":protected]=>
175: string(3) "ass"
176: }
177: }
178:
179: -- Sort flag = SORT_REGULAR --
180: bool(true)
181: array(4) {
182: [0]=>
183: object(for_integer_rsort)#%d (3) {
184: ["public_class_value"]=>
185: int(66)
186: ["private_class_value":"for_integer_rsort":private]=>
187: int(44)
188: ["protected_class_value":protected]=>
189: int(4)
190: }
191: [1]=>
192: object(for_integer_rsort)#%d (3) {
193: ["public_class_value"]=>
194: int(11)
195: ["private_class_value":"for_integer_rsort":private]=>
196: int(33)
197: ["protected_class_value":protected]=>
198: int(30)
199: }
200: [2]=>
201: object(for_integer_rsort)#%d (3) {
202: ["public_class_value"]=>
203: float(0.001)
204: ["private_class_value":"for_integer_rsort":private]=>
205: float(99.5)
206: ["protected_class_value":protected]=>
207: float(0.1)
208: }
209: [3]=>
210: object(for_integer_rsort)#%d (3) {
211: ["public_class_value"]=>
212: int(-88)
213: ["private_class_value":"for_integer_rsort":private]=>
214: int(-5)
215: ["protected_class_value":protected]=>
216: int(5)
217: }
218: }
219: bool(true)
220: array(4) {
221: [0]=>
222: object(for_string_rsort)#%d (3) {
223: ["public_class_value"]=>
224: string(1) "w"
225: ["private_class_value":"for_string_rsort":private]=>
226: string(1) "W"
227: ["protected_class_value":protected]=>
228: string(1) "c"
229: }
230: [1]=>
231: object(for_string_rsort)#%d (3) {
232: ["public_class_value"]=>
233: string(1) "t"
234: ["private_class_value":"for_string_rsort":private]=>
235: string(3) "eee"
236: ["protected_class_value":protected]=>
237: string(3) "abb"
238: }
239: [2]=>
240: object(for_string_rsort)#%d (3) {
241: ["public_class_value"]=>
242: string(2) "py"
243: ["private_class_value":"for_string_rsort":private]=>
244: string(2) "PY"
245: ["protected_class_value":protected]=>
246: string(2) "pt"
247: }
248: [3]=>
249: object(for_string_rsort)#%d (3) {
250: ["public_class_value"]=>
251: string(3) "axx"
252: ["private_class_value":"for_string_rsort":private]=>
253: string(3) "AXX"
254: ["protected_class_value":protected]=>
255: string(3) "ass"
256: }
257: }
258: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>