1--TEST--
2Test is_callable() function : usage variations - on invalid function names
3--FILE--
4<?php
5function check_iscallable( $functions ) {
6  $counter = 1;
7  foreach($functions as $func) {
8    echo "-- Iteration  $counter --\n";
9    var_dump( is_callable($func) );  //given only $var argument
10    var_dump( is_callable($func, TRUE) );  //given $var and $syntax argument
11    var_dump( is_callable($func, TRUE, $callable_name) );
12    echo $callable_name, "\n";
13    var_dump( is_callable($func, FALSE) );  //given $var and $syntax argument
14    var_dump( is_callable($func, FALSE, $callable_name) );
15    echo $callable_name, "\n";
16    $counter++;
17  }
18}
19
20echo "\n*** Testing is_callable() on invalid function names ***\n";
21/* check on unset variables */
22$unset_var = 10;
23unset ($unset_var);
24
25/* opening file resource type */
26$file_handle = fopen (__FILE__, "r");
27
28$variants = array (
29  NULL,  // NULL as argument
30  0,  // zero as argument
31  1234567890,  // positive value
32  -100123456782,  // negative value
33  -2.000000,  // negative float value
34  .567,  // positive float value
35  FALSE,  // boolean value
36  array(1, 2, 3),  // array
37  @$unset_var,
38  @$undef_var,  //undefined variable
39  $file_handle
40);
41
42/* use check_iscallable() to check whether given variable is valid function name
43 *  expected: false
44 */
45check_iscallable($variants);
46
47/* closing resources used */
48fclose($file_handle);
49
50?>
51--EXPECTF--
52*** Testing is_callable() on invalid function names ***
53-- Iteration  1 --
54bool(false)
55bool(false)
56bool(false)
57
58bool(false)
59bool(false)
60
61-- Iteration  2 --
62bool(false)
63bool(false)
64bool(false)
650
66bool(false)
67bool(false)
680
69-- Iteration  3 --
70bool(false)
71bool(false)
72bool(false)
731234567890
74bool(false)
75bool(false)
761234567890
77-- Iteration  4 --
78bool(false)
79bool(false)
80bool(false)
81-100123456782
82bool(false)
83bool(false)
84-100123456782
85-- Iteration  5 --
86bool(false)
87bool(false)
88bool(false)
89-2
90bool(false)
91bool(false)
92-2
93-- Iteration  6 --
94bool(false)
95bool(false)
96bool(false)
970.567
98bool(false)
99bool(false)
1000.567
101-- Iteration  7 --
102bool(false)
103bool(false)
104bool(false)
105
106bool(false)
107bool(false)
108
109-- Iteration  8 --
110bool(false)
111bool(false)
112bool(false)
113Array
114bool(false)
115bool(false)
116Array
117-- Iteration  9 --
118bool(false)
119bool(false)
120bool(false)
121
122bool(false)
123bool(false)
124
125-- Iteration  10 --
126bool(false)
127bool(false)
128bool(false)
129
130bool(false)
131bool(false)
132
133-- Iteration  11 --
134bool(false)
135bool(false)
136bool(false)
137Resource id #%d
138bool(false)
139bool(false)
140Resource id #%d
141