Return to tostring_004.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / classes |
1.1 ! misho 1: --TEST-- ! 2: Object to string conversion: error cases and behaviour variations. ! 3: --FILE-- ! 4: <?php ! 5: function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) { ! 6: echo "Error: $err_no - $err_msg\n"; ! 7: } ! 8: set_error_handler('test_error_handler'); ! 9: error_reporting(8191); ! 10: ! 11: ! 12: echo "Object with no __toString():\n"; ! 13: $obj = new stdClass; ! 14: echo "Try 1:\n"; ! 15: printf($obj); ! 16: printf("\n"); ! 17: ! 18: echo "\nTry 2:\n"; ! 19: printf($obj . "\n"); ! 20: ! 21: ! 22: echo "\n\nObject with bad __toString():\n"; ! 23: class badToString { ! 24: function __toString() { ! 25: return 0; ! 26: } ! 27: } ! 28: $obj = new badToString; ! 29: echo "Try 1:\n"; ! 30: printf($obj); ! 31: printf("\n"); ! 32: ! 33: echo "\nTry 2:\n"; ! 34: printf($obj . "\n"); ! 35: ! 36: ?> ! 37: --EXPECTF-- ! 38: Object with no __toString(): ! 39: Try 1: ! 40: Error: 4096 - Object of class stdClass could not be converted to string ! 41: Error: 8 - Object of class stdClass to string conversion ! 42: Object ! 43: ! 44: Try 2: ! 45: Error: 4096 - Object of class stdClass could not be converted to string ! 46: ! 47: ! 48: ! 49: Object with bad __toString(): ! 50: Try 1: ! 51: Error: 4096 - Method badToString::__toString() must return a string value ! 52: ! 53: ! 54: Try 2: ! 55: Error: 4096 - Method badToString::__toString() must return a string value ! 56: