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>