Annotation of embedaddon/php/ext/standard/tests/general_functions/is_callable_variation1.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test is_callable() function : usage variations - undefined functions
3: --INI--
4: precision=14
5: error_reporting = E_ALL & ~E_NOTICE | E_STRICT
6: --FILE--
7: <?php
8: /* Prototype: bool is_callable ( mixed $var [, bool $syntax_only [, string &$callable_name]] );
9: Description: Verify that the contents of a variable can be called as a function
10: In case of objects, $var = array($SomeObject, 'MethodName')
11: */
12:
13: /* Prototype: void check_iscallable( $functions );
14: Description: use iscallable() on given string to check for valid function name
15: returns true if valid function name, false otherwise
16: */
17: function check_iscallable( $functions ) {
18: $counter = 1;
19: foreach($functions as $func) {
20: echo "-- Iteration $counter --\n";
21: var_dump( is_callable($func) ); //given only $var argument
22: var_dump( is_callable($func, TRUE) ); //given $var and $syntax argument
23: var_dump( is_callable($func, TRUE, $callable_name) );
24: echo $callable_name, "\n";
25: var_dump( is_callable($func, FALSE) ); //given $var and $syntax argument
26: var_dump( is_callable($func, FALSE, $callable_name) );
27: echo $callable_name, "\n";
28: $counter++;
29: }
30: }
31:
32: echo "\n*** Testing is_callable() on undefined functions ***\n";
33: $undef_functions = array (
34: "", //empty string
35: '',
36: " ", //string with a space
37: ' ',
38: "12356",
39: "\0",
40: '\0',
41: "hello world",
42: 'hello world',
43: "welcome\0",
44: 'welcome\0',
45: "==%%%***$$$@@@!!",
46: "false",
47: "\070",
48: '\t', //escape character
49: '\007',
50: '123',
51: 'echo()'
52: );
53:
54: /* use check_iscallable() to check whether given string is valid function name
55: * expected: true with $syntax = TRUE
56: * false with $syntax = FALSE
57: */
58: check_iscallable($undef_functions);
59:
60: ?>
61: ===DONE===
62: --EXPECTF--
63: *** Testing is_callable() on undefined functions ***
64: -- Iteration 1 --
65: bool(false)
66: bool(true)
67: bool(true)
68:
69: bool(false)
70: bool(false)
71:
72: -- Iteration 2 --
73: bool(false)
74: bool(true)
75: bool(true)
76:
77: bool(false)
78: bool(false)
79:
80: -- Iteration 3 --
81: bool(false)
82: bool(true)
83: bool(true)
84:
85: bool(false)
86: bool(false)
87:
88: -- Iteration 4 --
89: bool(false)
90: bool(true)
91: bool(true)
92:
93: bool(false)
94: bool(false)
95:
96: -- Iteration 5 --
97: bool(false)
98: bool(true)
99: bool(true)
100: 12356
101: bool(false)
102: bool(false)
103: 12356
104: -- Iteration 6 --
105: bool(false)
106: bool(true)
107: bool(true)
108:
109: bool(false)
110: bool(false)
111:
112: -- Iteration 7 --
113: bool(false)
114: bool(true)
115: bool(true)
116: \0
117: bool(false)
118: bool(false)
119: \0
120: -- Iteration 8 --
121: bool(false)
122: bool(true)
123: bool(true)
124: hello world
125: bool(false)
126: bool(false)
127: hello world
128: -- Iteration 9 --
129: bool(false)
130: bool(true)
131: bool(true)
132: hello world
133: bool(false)
134: bool(false)
135: hello world
136: -- Iteration 10 --
137: bool(false)
138: bool(true)
139: bool(true)
140: welcome
141: bool(false)
142: bool(false)
143: welcome
144: -- Iteration 11 --
145: bool(false)
146: bool(true)
147: bool(true)
148: welcome\0
149: bool(false)
150: bool(false)
151: welcome\0
152: -- Iteration 12 --
153: bool(false)
154: bool(true)
155: bool(true)
156: ==%%%***$$$@@@!!
157: bool(false)
158: bool(false)
159: ==%%%***$$$@@@!!
160: -- Iteration 13 --
161: bool(false)
162: bool(true)
163: bool(true)
164: false
165: bool(false)
166: bool(false)
167: false
168: -- Iteration 14 --
169: bool(false)
170: bool(true)
171: bool(true)
172: 8
173: bool(false)
174: bool(false)
175: 8
176: -- Iteration 15 --
177: bool(false)
178: bool(true)
179: bool(true)
180: \t
181: bool(false)
182: bool(false)
183: \t
184: -- Iteration 16 --
185: bool(false)
186: bool(true)
187: bool(true)
188: \007
189: bool(false)
190: bool(false)
191: \007
192: -- Iteration 17 --
193: bool(false)
194: bool(true)
195: bool(true)
196: 123
197: bool(false)
198: bool(false)
199: 123
200: -- Iteration 18 --
201: bool(false)
202: bool(true)
203: bool(true)
204: echo()
205: bool(false)
206: bool(false)
207: echo()
208: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>