Annotation of embedaddon/php/tests/classes/serialize_001.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: ZE2 Serializable
                      3: --FILE--
                      4: <?php
                      5: 
                      6: class Test implements Serializable
                      7: {
                      8:        public $data;
                      9: 
                     10:        function __construct($data)
                     11:        {
                     12:                echo __METHOD__ . "($data)\n";
                     13:                $this->data = $data;
                     14:        }
                     15: 
                     16:        function serialize()
                     17:        {
                     18:                echo __METHOD__ . "({$this->data})\n";
                     19:                return $this->data;
                     20:        }
                     21: 
                     22:        function unserialize($serialized)
                     23:        {
                     24:                echo __METHOD__ . "($serialized)\n";
                     25:                $this->data = $serialized;
                     26:                var_dump($this);
                     27:        }
                     28: }
                     29: 
                     30: $tests = array('String', NULL, 42, false);
                     31: 
                     32: foreach($tests as $data)
                     33: {
                     34:        try
                     35:        {
                     36:                echo "==========\n";
                     37:                var_dump($data);
                     38:                $ser = serialize(new Test($data));
                     39:                var_dump(unserialize($ser));
                     40:        }
                     41:        catch(Exception $e)
                     42:        {
                     43:                echo 'Exception: ' . $e->getMessage() . "\n";
                     44:        }
                     45: }
                     46: 
                     47: ?>
                     48: ===DONE===
                     49: <?php exit(0); ?>
                     50: --EXPECTF--
                     51: ==========
                     52: %unicode|string%(6) "String"
                     53: Test::__construct(String)
                     54: Test::serialize(String)
                     55: Test::unserialize(String)
                     56: object(Test)#%d (1) {
                     57:   [%u|b%"data"]=>
                     58:   %unicode|string%(6) "String"
                     59: }
                     60: object(Test)#%d (1) {
                     61:   [%u|b%"data"]=>
                     62:   %unicode|string%(6) "String"
                     63: }
                     64: ==========
                     65: NULL
                     66: Test::__construct()
                     67: Test::serialize()
                     68: NULL
                     69: ==========
                     70: int(42)
                     71: Test::__construct(42)
                     72: Test::serialize(42)
                     73: Exception: Test::serialize() must return a string or NULL
                     74: ==========
                     75: bool(false)
                     76: Test::__construct()
                     77: Test::serialize()
                     78: Exception: Test::serialize() must return a string or NULL
                     79: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>