Return to method_exists_variation_002.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / class_object |
1.1 misho 1: --TEST-- 2: Test method_exists() function : usage variations - unexpected type for arg 2 3: --FILE-- 4: <?php 5: /* Prototype : proto bool method_exists(object object, string method) 6: * Description: Checks if the class method exists 7: * Source code: Zend/zend_builtin_functions.c 8: * Alias to functions: 9: */ 10: 11: function __autoload($className) { 12: echo "In __autoload($className)\n"; 13: } 14: 15: function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) { 16: echo "Error: $err_no - $err_msg, $filename($linenum)\n"; 17: } 18: set_error_handler('test_error_handler'); 19: 20: echo "*** Testing method_exists() : usage variations ***\n"; 21: 22: // Initialise function arguments not being substituted (if any) 23: $object = new stdclass(); 24: 25: //get an unset variable 26: $unset_var = 10; 27: unset ($unset_var); 28: 29: //array of values to iterate over 30: $values = array( 31: 32: // int data 33: 0, 34: 1, 35: 12345, 36: -2345, 37: 38: // float data 39: 10.5, 40: -10.5, 41: 10.1234567e10, 42: 10.7654321E-10, 43: .5, 44: 45: // array data 46: array(), 47: array(0), 48: array(1), 49: array(1, 2), 50: array('color' => 'red', 'item' => 'pen'), 51: 52: // null data 53: NULL, 54: null, 55: 56: // boolean data 57: true, 58: false, 59: TRUE, 60: FALSE, 61: 62: // empty data 63: "", 64: '', 65: 66: // object data 67: new stdclass(), 68: 69: // undefined data 70: $undefined_var, 71: 72: // unset data 73: $unset_var, 74: ); 75: 76: // loop through each element of the array for method 77: 78: foreach($values as $value) { 79: echo "\nArg value $value \n"; 80: var_dump( method_exists($object, $value) ); 81: }; 82: 83: echo "Done"; 84: ?> 85: --EXPECTF-- 86: *** Testing method_exists() : usage variations *** 87: Error: 8 - Undefined variable: undefined_var, %s(67) 88: Error: 8 - Undefined variable: unset_var, %s(70) 89: 90: Arg value 0 91: bool(false) 92: 93: Arg value 1 94: bool(false) 95: 96: Arg value 12345 97: bool(false) 98: 99: Arg value -2345 100: bool(false) 101: 102: Arg value 10.5 103: bool(false) 104: 105: Arg value -10.5 106: bool(false) 107: 108: Arg value 101234567000 109: bool(false) 110: 111: Arg value 1.07654321E-9 112: bool(false) 113: 114: Arg value 0.5 115: bool(false) 1.1.1.2 ! misho 116: Error: 8 - Array to string conversion, %smethod_exists_variation_002.php(%d) 1.1 misho 117: 118: Arg value Array 119: Error: 2 - method_exists() expects parameter 2 to be string, array given, %s(77) 120: NULL 1.1.1.2 ! misho 121: Error: 8 - Array to string conversion, %smethod_exists_variation_002.php(%d) 1.1 misho 122: 123: Arg value Array 124: Error: 2 - method_exists() expects parameter 2 to be string, array given, %s(77) 125: NULL 1.1.1.2 ! misho 126: Error: 8 - Array to string conversion, %smethod_exists_variation_002.php(%d) 1.1 misho 127: 128: Arg value Array 129: Error: 2 - method_exists() expects parameter 2 to be string, array given, %s(77) 130: NULL 1.1.1.2 ! misho 131: Error: 8 - Array to string conversion, %smethod_exists_variation_002.php(%d) 1.1 misho 132: 133: Arg value Array 134: Error: 2 - method_exists() expects parameter 2 to be string, array given, %s(77) 135: NULL 1.1.1.2 ! misho 136: Error: 8 - Array to string conversion, %smethod_exists_variation_002.php(%d) 1.1 misho 137: 138: Arg value Array 139: Error: 2 - method_exists() expects parameter 2 to be string, array given, %s(77) 140: NULL 141: 142: Arg value 143: bool(false) 144: 145: Arg value 146: bool(false) 147: 148: Arg value 1 149: bool(false) 150: 151: Arg value 152: bool(false) 153: 154: Arg value 1 155: bool(false) 156: 157: Arg value 158: bool(false) 159: 160: Arg value 161: bool(false) 162: 163: Arg value 164: bool(false) 165: Error: 4096 - Object of class stdClass could not be converted to string, %s(76) 166: 167: Arg value 168: Error: 2 - method_exists() expects parameter 2 to be string, object given, %s(77) 169: NULL 170: 171: Arg value 172: bool(false) 173: 174: Arg value 175: bool(false) 176: Done