1--TEST--
2Test get_class_methods() function : usage variations  - unexpected types
3--FILE--
4<?php
5/* Prototype  : proto array get_class_methods(mixed class)
6 * Description: Returns an array of method names for class or class instance.
7 * Source code: Zend/zend_builtin_functions.c
8 * Alias to functions:
9 */
10
11
12function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
13	echo "Error: $err_no - $err_msg, $filename($linenum)\n";
14}
15set_error_handler('test_error_handler');
16
17echo "*** Testing get_class_methods() : usage variations ***\n";
18
19// Initialise function arguments not being substituted (if any)
20
21//get an unset variable
22$unset_var = 10;
23unset ($unset_var);
24
25//array of values to iterate over
26$values = array(
27
28      // int data
29      0,
30      1,
31      12345,
32      -2345,
33
34      // float data
35      10.5,
36      -10.5,
37      10.1234567e10,
38      10.7654321E-10,
39      .5,
40
41      // array data
42      array(),
43      array(0),
44      array(1),
45      array(1, 2),
46      array('color' => 'red', 'item' => 'pen'),
47
48      // null data
49      NULL,
50      null,
51
52      // boolean data
53      true,
54      false,
55      TRUE,
56      FALSE,
57
58      // empty data
59      "",
60      '',
61
62      // string data
63      "string",
64      'string',
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 class
77
78foreach($values as $value) {
79      echo "\nArg value " . (is_object($value) ? get_class($value) : $value) . " \n";
80      var_dump( get_class_methods($value) );
81};
82echo "Done";
83?>
84--EXPECTF--
85*** Testing get_class_methods() : usage variations ***
86Error: 8 - Undefined variable: undefined_var, %s(67)
87Error: 8 - Undefined variable: unset_var, %s(70)
88
89Arg value 0
90NULL
91
92Arg value 1
93NULL
94
95Arg value 12345
96NULL
97
98Arg value -2345
99NULL
100
101Arg value 10.5
102NULL
103
104Arg value -10.5
105NULL
106
107Arg value 101234567000
108NULL
109
110Arg value 1.07654321E-9
111NULL
112
113Arg value 0.5
114NULL
115Error: 8 - Array to string conversion, %sget_class_methods_variation_001.php(%d)
116
117Arg value Array
118NULL
119Error: 8 - Array to string conversion, %sget_class_methods_variation_001.php(%d)
120
121Arg value Array
122NULL
123Error: 8 - Array to string conversion, %sget_class_methods_variation_001.php(%d)
124
125Arg value Array
126NULL
127Error: 8 - Array to string conversion, %sget_class_methods_variation_001.php(%d)
128
129Arg value Array
130NULL
131Error: 8 - Array to string conversion, %sget_class_methods_variation_001.php(%d)
132
133Arg value Array
134NULL
135
136Arg value
137NULL
138
139Arg value
140NULL
141
142Arg value 1
143NULL
144
145Arg value
146NULL
147
148Arg value 1
149NULL
150
151Arg value
152NULL
153
154Arg value
155NULL
156
157Arg value
158NULL
159
160Arg value string
161NULL
162
163Arg value string
164NULL
165
166Arg value stdClass
167array(0) {
168}
169
170Arg value
171NULL
172
173Arg value
174NULL
175Done
176