mirror of
https://github.com/php/php-src.git
synced 2024-09-25 11:57:26 +00:00
Split is_callable test. Test on Windows, Linux and Linux 64 bit
This commit is contained in:
parent
7264697c34
commit
5d1abfce5c
109
ext/standard/tests/general_functions/is_callable_basic1.phpt
Normal file
109
ext/standard/tests/general_functions/is_callable_basic1.phpt
Normal file
@ -0,0 +1,109 @@
|
||||
--TEST--
|
||||
Test is_callable() function : usage variations - defined functions
|
||||
--INI--
|
||||
precision=14
|
||||
error_reporting = E_ALL & ~E_NOTICE | E_STRICT
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype: bool is_callable ( mixed $var [, bool $syntax_only [, string &$callable_name]] );
|
||||
* Description: Verify that the contents of a variable can be called as a function
|
||||
* Source code: ext/imap/php_imap.c
|
||||
*/
|
||||
|
||||
/* Prototype: void check_iscallable( $functions );
|
||||
Description: use iscallable() on given string to check for valid function name
|
||||
returns true if valid function name, false otherwise
|
||||
*/
|
||||
function check_iscallable( $functions ) {
|
||||
$counter = 1;
|
||||
foreach($functions as $func) {
|
||||
echo "-- Iteration $counter --\n";
|
||||
var_dump( is_callable($func) ); //given only $var argument
|
||||
var_dump( is_callable($func, TRUE) ); //given $var and $syntax argument
|
||||
var_dump( is_callable($func, TRUE, $callable_name) );
|
||||
echo $callable_name, "\n";
|
||||
var_dump( is_callable($func, FALSE) ); //given $var and $syntax argument
|
||||
var_dump( is_callable($func, FALSE, $callable_name) );
|
||||
echo $callable_name, "\n";
|
||||
$counter++;
|
||||
}
|
||||
}
|
||||
|
||||
echo "\n*** Testing is_callable() on defined functions ***\n";
|
||||
/* function name with simple string */
|
||||
function someFunction() {
|
||||
}
|
||||
|
||||
/* function name with mixed string and integer */
|
||||
function x123() {
|
||||
}
|
||||
|
||||
/* function name as NULL */
|
||||
function NULL() {
|
||||
}
|
||||
|
||||
/* function name with boolean name */
|
||||
function false() {
|
||||
}
|
||||
|
||||
/* function name with string and special character */
|
||||
function Hello_World() {
|
||||
}
|
||||
|
||||
$defined_functions = array (
|
||||
$functionVar1 = 'someFunction',
|
||||
$functionVar2 = 'x123',
|
||||
$functionVar3 = 'NULL',
|
||||
$functionVar4 = 'false',
|
||||
$functionVar5 = "Hello_World"
|
||||
);
|
||||
/* use check_iscallable() to check whether given string is valid function name
|
||||
* expected: true as it is valid callback
|
||||
*/
|
||||
check_iscallable($defined_functions);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT---
|
||||
*** Testing is_callable() on defined functions ***
|
||||
-- Iteration 1 --
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
someFunction
|
||||
bool(true)
|
||||
bool(true)
|
||||
someFunction
|
||||
-- Iteration 2 --
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
x123
|
||||
bool(true)
|
||||
bool(true)
|
||||
x123
|
||||
-- Iteration 3 --
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
NULL
|
||||
bool(true)
|
||||
bool(true)
|
||||
NULL
|
||||
-- Iteration 4 --
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
false
|
||||
bool(true)
|
||||
bool(true)
|
||||
false
|
||||
-- Iteration 5 --
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
Hello_World
|
||||
bool(true)
|
||||
bool(true)
|
||||
Hello_World
|
||||
===DONE===
|
Binary file not shown.
35
ext/standard/tests/general_functions/is_callable_error.phpt
Normal file
35
ext/standard/tests/general_functions/is_callable_error.phpt
Normal file
@ -0,0 +1,35 @@
|
||||
--TEST--
|
||||
Test is_callable() function
|
||||
--INI--
|
||||
precision=14
|
||||
error_reporting = E_ALL & ~E_NOTICE | E_STRICT
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype: bool is_callable ( mixed $var [, bool $syntax_only [, string &$callable_name]] );
|
||||
Description: Verify that the contents of a variable can be called as a function
|
||||
In case of objects, $var = array($SomeObject, 'MethodName')
|
||||
*/
|
||||
|
||||
echo "\n*** Testing error conditions ***\n";
|
||||
|
||||
echo "\n-- Testing is_callable() function with less than expected no. of arguments --\n";
|
||||
var_dump( is_callable() );
|
||||
|
||||
echo "\n-- Testing is_callable() function with more than expected no. of arguments --\n";
|
||||
var_dump( is_callable("string", TRUE, $callable_name, "EXTRA") );
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing error conditions ***
|
||||
|
||||
-- Testing is_callable() function with less than expected no. of arguments --
|
||||
|
||||
Warning: is_callable() expects at least 1 parameter, 0 given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing is_callable() function with more than expected no. of arguments --
|
||||
|
||||
Warning: is_callable() expects at most 3 parameters, 4 given in %s on line %d
|
||||
NULL
|
||||
===DONE===
|
208
ext/standard/tests/general_functions/is_callable_variation1.phpt
Normal file
208
ext/standard/tests/general_functions/is_callable_variation1.phpt
Normal file
@ -0,0 +1,208 @@
|
||||
--TEST--
|
||||
Test is_callable() function : usage variations - undefined functions
|
||||
--INI--
|
||||
precision=14
|
||||
error_reporting = E_ALL & ~E_NOTICE | E_STRICT
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype: bool is_callable ( mixed $var [, bool $syntax_only [, string &$callable_name]] );
|
||||
Description: Verify that the contents of a variable can be called as a function
|
||||
In case of objects, $var = array($SomeObject, 'MethodName')
|
||||
*/
|
||||
|
||||
/* Prototype: void check_iscallable( $functions );
|
||||
Description: use iscallable() on given string to check for valid function name
|
||||
returns true if valid function name, false otherwise
|
||||
*/
|
||||
function check_iscallable( $functions ) {
|
||||
$counter = 1;
|
||||
foreach($functions as $func) {
|
||||
echo "-- Iteration $counter --\n";
|
||||
var_dump( is_callable($func) ); //given only $var argument
|
||||
var_dump( is_callable($func, TRUE) ); //given $var and $syntax argument
|
||||
var_dump( is_callable($func, TRUE, $callable_name) );
|
||||
echo $callable_name, "\n";
|
||||
var_dump( is_callable($func, FALSE) ); //given $var and $syntax argument
|
||||
var_dump( is_callable($func, FALSE, $callable_name) );
|
||||
echo $callable_name, "\n";
|
||||
$counter++;
|
||||
}
|
||||
}
|
||||
|
||||
echo "\n*** Testing is_callable() on undefined functions ***\n";
|
||||
$undef_functions = array (
|
||||
"", //empty string
|
||||
'',
|
||||
" ", //string with a space
|
||||
' ',
|
||||
"12356",
|
||||
"\0",
|
||||
'\0',
|
||||
"hello world",
|
||||
'hello world',
|
||||
"welcome\0",
|
||||
'welcome\0',
|
||||
"==%%%***$$$@@@!!",
|
||||
"false",
|
||||
"\070",
|
||||
'\t', //escape character
|
||||
'\007',
|
||||
'123',
|
||||
'echo()'
|
||||
);
|
||||
|
||||
/* use check_iscallable() to check whether given string is valid function name
|
||||
* expected: true with $syntax = TRUE
|
||||
* false with $syntax = FALSE
|
||||
*/
|
||||
check_iscallable($undef_functions);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing is_callable() on undefined functions ***
|
||||
-- Iteration 1 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
|
||||
bool(false)
|
||||
bool(false)
|
||||
|
||||
-- Iteration 2 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
|
||||
bool(false)
|
||||
bool(false)
|
||||
|
||||
-- Iteration 3 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
|
||||
bool(false)
|
||||
bool(false)
|
||||
|
||||
-- Iteration 4 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
|
||||
bool(false)
|
||||
bool(false)
|
||||
|
||||
-- Iteration 5 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
12356
|
||||
bool(false)
|
||||
bool(false)
|
||||
12356
|
||||
-- Iteration 6 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
%c
|
||||
bool(false)
|
||||
bool(false)
|
||||
%c
|
||||
-- Iteration 7 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
\0
|
||||
bool(false)
|
||||
bool(false)
|
||||
\0
|
||||
-- Iteration 8 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
hello world
|
||||
bool(false)
|
||||
bool(false)
|
||||
hello world
|
||||
-- Iteration 9 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
hello world
|
||||
bool(false)
|
||||
bool(false)
|
||||
hello world
|
||||
-- Iteration 10 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
welcome%c
|
||||
bool(false)
|
||||
bool(false)
|
||||
welcome%c
|
||||
-- Iteration 11 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
welcome\0
|
||||
bool(false)
|
||||
bool(false)
|
||||
welcome\0
|
||||
-- Iteration 12 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
==%%%***$$$@@@!!
|
||||
bool(false)
|
||||
bool(false)
|
||||
==%%%***$$$@@@!!
|
||||
-- Iteration 13 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
false
|
||||
bool(false)
|
||||
bool(false)
|
||||
false
|
||||
-- Iteration 14 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
8
|
||||
bool(false)
|
||||
bool(false)
|
||||
8
|
||||
-- Iteration 15 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
\t
|
||||
bool(false)
|
||||
bool(false)
|
||||
\t
|
||||
-- Iteration 16 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
\007
|
||||
bool(false)
|
||||
bool(false)
|
||||
\007
|
||||
-- Iteration 17 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
123
|
||||
bool(false)
|
||||
bool(false)
|
||||
123
|
||||
-- Iteration 18 --
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
||||
echo()
|
||||
bool(false)
|
||||
bool(false)
|
||||
echo()
|
||||
===DONE===
|
154
ext/standard/tests/general_functions/is_callable_variation2.phpt
Normal file
154
ext/standard/tests/general_functions/is_callable_variation2.phpt
Normal file
@ -0,0 +1,154 @@
|
||||
--TEST--
|
||||
Test is_callable() function : usage variations - on invalid function names
|
||||
--INI--
|
||||
precision=14
|
||||
error_reporting = E_ALL & ~E_NOTICE | E_STRICT
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype: bool is_callable ( mixed $var [, bool $syntax_only [, string &$callable_name]] );
|
||||
Description: Verify that the contents of a variable can be called as a function
|
||||
In case of objects, $var = array($SomeObject, 'MethodName')
|
||||
*/
|
||||
|
||||
/* Prototype: void check_iscallable( $functions );
|
||||
Description: use iscallable() on given string to check for valid function name
|
||||
returns true if valid function name, false otherwise
|
||||
*/
|
||||
function check_iscallable( $functions ) {
|
||||
$counter = 1;
|
||||
foreach($functions as $func) {
|
||||
echo "-- Iteration $counter --\n";
|
||||
var_dump( is_callable($func) ); //given only $var argument
|
||||
var_dump( is_callable($func, TRUE) ); //given $var and $syntax argument
|
||||
var_dump( is_callable($func, TRUE, $callable_name) );
|
||||
echo $callable_name, "\n";
|
||||
var_dump( is_callable($func, FALSE) ); //given $var and $syntax argument
|
||||
var_dump( is_callable($func, FALSE, $callable_name) );
|
||||
echo $callable_name, "\n";
|
||||
$counter++;
|
||||
}
|
||||
}
|
||||
|
||||
echo "\n*** Testing is_callable() on invalid function names ***\n";
|
||||
/* check on unset variables */
|
||||
$unset_var = 10;
|
||||
unset ($unset_var);
|
||||
|
||||
/* opening file resource type */
|
||||
$file_handle = fopen (__FILE__, "r");
|
||||
|
||||
$variants = array (
|
||||
NULL, // NULL as argument
|
||||
0, // zero as argument
|
||||
1234567890, // positive value
|
||||
-100123456782, // negative value
|
||||
-2.000000, // negative float value
|
||||
.567, // positive float value
|
||||
FALSE, // boolean value
|
||||
array(1, 2, 3), // array
|
||||
@$unset_var,
|
||||
@$undef_var, //undefined variable
|
||||
$file_handle
|
||||
);
|
||||
|
||||
/* use check_iscallable() to check whether given variable is valid function name
|
||||
* expected: false
|
||||
*/
|
||||
check_iscallable($variants);
|
||||
|
||||
/* closing resources used */
|
||||
fclose($file_handle);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing is_callable() on invalid function names ***
|
||||
-- Iteration 1 --
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(false)
|
||||
|
||||
bool(false)
|
||||
bool(false)
|
||||
|
||||
-- Iteration 2 --
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(false)
|
||||
0
|
||||
bool(false)
|
||||
bool(false)
|
||||
0
|
||||
-- Iteration 3 --
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(false)
|
||||
1234567890
|
||||
bool(false)
|
||||
bool(false)
|
||||
1234567890
|
||||
-- Iteration 4 --
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(false)
|
||||
-100123456782
|
||||
bool(false)
|
||||
bool(false)
|
||||
-100123456782
|
||||
-- Iteration 5 --
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(false)
|
||||
-2
|
||||
bool(false)
|
||||
bool(false)
|
||||
-2
|
||||
-- Iteration 6 --
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(false)
|
||||
0.567
|
||||
bool(false)
|
||||
bool(false)
|
||||
0.567
|
||||
-- Iteration 7 --
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(false)
|
||||
|
||||
bool(false)
|
||||
bool(false)
|
||||
|
||||
-- Iteration 8 --
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(false)
|
||||
Array
|
||||
bool(false)
|
||||
bool(false)
|
||||
Array
|
||||
-- Iteration 9 --
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(false)
|
||||
|
||||
bool(false)
|
||||
bool(false)
|
||||
|
||||
-- Iteration 10 --
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(false)
|
||||
|
||||
bool(false)
|
||||
bool(false)
|
||||
|
||||
-- Iteration 11 --
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(false)
|
||||
Resource id #%d
|
||||
bool(false)
|
||||
bool(false)
|
||||
Resource id #%d
|
||||
===DONE===
|
Loading…
Reference in New Issue
Block a user