Annotation of embedaddon/php/ext/standard/tests/array/natcasesort_object1.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test natcasesort() function : object functionality - array of objects
3: --FILE--
4: <?php
5: /* Prototype : bool natcasesort(array &$array_arg)
6: * Description: Sort an array using case-insensitive natural sort
7: * Source code: ext/standard/array.c
8: */
9:
10: /*
11: * Pass natcasesort() an array of objects to test how it re-orders them
12: */
13:
14: echo "*** Testing natcasesort() : object functionality ***\n";
15:
16: // class declaration for string objects
17: class for_string_natcasesort
18: {
19: public $class_value;
20: // initializing object member value
21: function __construct($value){
22: $this->class_value = $value;
23: }
24:
25: // return string value
26: function __tostring() {
27: return (string)$this->class_value;
28: }
29:
30: }
31:
32:
33:
34: // array of string objects
35: $unsorted_str_obj = array (
36: new for_string_natcasesort("axx"), new for_string_natcasesort("t"),
37: new for_string_natcasesort("w"), new for_string_natcasesort("py"),
38: new for_string_natcasesort("apple"), new for_string_natcasesort("Orange"),
39: new for_string_natcasesort("Lemon"), new for_string_natcasesort("aPPle")
40: );
41:
42:
43: echo "\n-- Testing natcasesort() by supplying various object arrays --\n";
44:
45: // testing natcasesort() function by supplying string object array
46: var_dump(natcasesort($unsorted_str_obj) );
47: var_dump($unsorted_str_obj);
48:
49: echo "Done";
50: ?>
51:
52: --EXPECTF--
53: *** Testing natcasesort() : object functionality ***
54:
55: -- Testing natcasesort() by supplying various object arrays --
56: bool(true)
57: array(8) {
58: [4]=>
59: object(for_string_natcasesort)#%d (1) {
60: ["class_value"]=>
61: string(5) "apple"
62: }
63: [7]=>
64: object(for_string_natcasesort)#%d (1) {
65: ["class_value"]=>
66: string(5) "aPPle"
67: }
68: [0]=>
69: object(for_string_natcasesort)#%d (1) {
70: ["class_value"]=>
71: string(3) "axx"
72: }
73: [6]=>
74: object(for_string_natcasesort)#%d (1) {
75: ["class_value"]=>
76: string(5) "Lemon"
77: }
78: [5]=>
79: object(for_string_natcasesort)#%d (1) {
80: ["class_value"]=>
81: string(6) "Orange"
82: }
83: [3]=>
84: object(for_string_natcasesort)#%d (1) {
85: ["class_value"]=>
86: string(2) "py"
87: }
88: [1]=>
89: object(for_string_natcasesort)#%d (1) {
90: ["class_value"]=>
91: string(1) "t"
92: }
93: [2]=>
94: object(for_string_natcasesort)#%d (1) {
95: ["class_value"]=>
96: string(1) "w"
97: }
98: }
99: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>