Annotation of embedaddon/php/ext/standard/tests/class_object/method_exists_variation_002.phpt, revision 1.1.1.2
1.1 misho 1: --TEST--
2: Test method_exists() function : usage variations - unexpected type for arg 2
3: --FILE--
4: <?php
5: /* Prototype : proto bool method_exists(object object, string method)
6: * Description: Checks if the class method exists
7: * Source code: Zend/zend_builtin_functions.c
8: * Alias to functions:
9: */
10:
11: function __autoload($className) {
12: echo "In __autoload($className)\n";
13: }
14:
15: function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
16: echo "Error: $err_no - $err_msg, $filename($linenum)\n";
17: }
18: set_error_handler('test_error_handler');
19:
20: echo "*** Testing method_exists() : usage variations ***\n";
21:
22: // Initialise function arguments not being substituted (if any)
23: $object = new stdclass();
24:
25: //get an unset variable
26: $unset_var = 10;
27: unset ($unset_var);
28:
29: //array of values to iterate over
30: $values = array(
31:
32: // int data
33: 0,
34: 1,
35: 12345,
36: -2345,
37:
38: // float data
39: 10.5,
40: -10.5,
41: 10.1234567e10,
42: 10.7654321E-10,
43: .5,
44:
45: // array data
46: array(),
47: array(0),
48: array(1),
49: array(1, 2),
50: array('color' => 'red', 'item' => 'pen'),
51:
52: // null data
53: NULL,
54: null,
55:
56: // boolean data
57: true,
58: false,
59: TRUE,
60: FALSE,
61:
62: // empty data
63: "",
64: '',
65:
66: // object data
67: new stdclass(),
68:
69: // undefined data
70: $undefined_var,
71:
72: // unset data
73: $unset_var,
74: );
75:
76: // loop through each element of the array for method
77:
78: foreach($values as $value) {
79: echo "\nArg value $value \n";
80: var_dump( method_exists($object, $value) );
81: };
82:
83: echo "Done";
84: ?>
85: --EXPECTF--
86: *** Testing method_exists() : usage variations ***
87: Error: 8 - Undefined variable: undefined_var, %s(67)
88: Error: 8 - Undefined variable: unset_var, %s(70)
89:
90: Arg value 0
91: bool(false)
92:
93: Arg value 1
94: bool(false)
95:
96: Arg value 12345
97: bool(false)
98:
99: Arg value -2345
100: bool(false)
101:
102: Arg value 10.5
103: bool(false)
104:
105: Arg value -10.5
106: bool(false)
107:
108: Arg value 101234567000
109: bool(false)
110:
111: Arg value 1.07654321E-9
112: bool(false)
113:
114: Arg value 0.5
115: bool(false)
1.1.1.2 ! misho 116: Error: 8 - Array to string conversion, %smethod_exists_variation_002.php(%d)
1.1 misho 117:
118: Arg value Array
119: Error: 2 - method_exists() expects parameter 2 to be string, array given, %s(77)
120: NULL
1.1.1.2 ! misho 121: Error: 8 - Array to string conversion, %smethod_exists_variation_002.php(%d)
1.1 misho 122:
123: Arg value Array
124: Error: 2 - method_exists() expects parameter 2 to be string, array given, %s(77)
125: NULL
1.1.1.2 ! misho 126: Error: 8 - Array to string conversion, %smethod_exists_variation_002.php(%d)
1.1 misho 127:
128: Arg value Array
129: Error: 2 - method_exists() expects parameter 2 to be string, array given, %s(77)
130: NULL
1.1.1.2 ! misho 131: Error: 8 - Array to string conversion, %smethod_exists_variation_002.php(%d)
1.1 misho 132:
133: Arg value Array
134: Error: 2 - method_exists() expects parameter 2 to be string, array given, %s(77)
135: NULL
1.1.1.2 ! misho 136: Error: 8 - Array to string conversion, %smethod_exists_variation_002.php(%d)
1.1 misho 137:
138: Arg value Array
139: Error: 2 - method_exists() expects parameter 2 to be string, array given, %s(77)
140: NULL
141:
142: Arg value
143: bool(false)
144:
145: Arg value
146: bool(false)
147:
148: Arg value 1
149: bool(false)
150:
151: Arg value
152: bool(false)
153:
154: Arg value 1
155: bool(false)
156:
157: Arg value
158: bool(false)
159:
160: Arg value
161: bool(false)
162:
163: Arg value
164: bool(false)
165: Error: 4096 - Object of class stdClass could not be converted to string, %s(76)
166:
167: Arg value
168: Error: 2 - method_exists() expects parameter 2 to be string, object given, %s(77)
169: NULL
170:
171: Arg value
172: bool(false)
173:
174: Arg value
175: bool(false)
176: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>