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>