Annotation of embedaddon/php/ext/standard/tests/array/rsort_object1.phpt, revision 1.1.1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>