Annotation of embedaddon/php/tests/classes/tostring_004.phpt, revision 1.1
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:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>