Return to is_callable_variation1.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / general_functions |
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===