Annotation of embedaddon/php/ext/spl/tests/observer_004.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: SPL: SplObjectStorage serialization & overloading
                      3: --FILE--
                      4: <?php
                      5: 
                      6: class TestClass
                      7: {
                      8:        public $test = 25;
                      9:        
                     10:        public function __construct($test = 42)
                     11:        {
                     12:                $this->test = $test;
                     13:        }
                     14: }
                     15: 
                     16: class MyStorage extends SplObjectStorage
                     17: {
                     18:        public $bla = 25;
                     19:        
                     20:        public function __construct($bla = 26)
                     21:        {
                     22:                $this->bla = $bla;
                     23:        }
                     24: }
                     25: 
                     26: $storage = new MyStorage();
                     27: 
                     28: foreach(array(1,2) as $value)
                     29: {
                     30:      $storage->attach(new TestClass($value));
                     31: }
                     32: 
                     33: var_dump(count($storage));
                     34: 
                     35: foreach($storage as $object)
                     36: {
                     37:        var_dump($object->test);
                     38: }
                     39: 
                     40: var_dump($storage);
                     41: 
                     42: var_dump(serialize($storage));
                     43: echo "===UNSERIALIZE===\n";
                     44: 
                     45: $storage2 = unserialize(serialize($storage));
                     46: 
                     47: var_dump(count($storage2));
                     48: 
                     49: foreach($storage2 as $object)
                     50: {
                     51:        var_dump($object->test);
                     52: }
                     53: 
                     54: var_dump($storage2);
                     55: 
                     56: ?>
                     57: ===DONE===
                     58: <?php exit(0); ?>
                     59: --EXPECTF--
                     60: int(2)
                     61: int(1)
                     62: int(2)
                     63: object(MyStorage)#%d (2) {
                     64:   ["bla"]=>
                     65:   int(26)
                     66:   ["storage":"SplObjectStorage":private]=>
                     67:   array(2) {
                     68:     ["%s"]=>
                     69:     array(2) {
                     70:       ["obj"]=>
                     71:       object(TestClass)#%d (1) {
                     72:         ["test"]=>
                     73:         int(1)
                     74:       }
                     75:       ["inf"]=>
                     76:       NULL
                     77:     }
                     78:     ["%s"]=>
                     79:     array(2) {
                     80:       ["obj"]=>
                     81:       object(TestClass)#%d (1) {
                     82:         ["test"]=>
                     83:         int(2)
                     84:       }
                     85:       ["inf"]=>
                     86:       NULL
                     87:     }
                     88:   }
                     89: }
                     90: string(%d) "%s"
                     91: ===UNSERIALIZE===
                     92: int(2)
                     93: int(1)
                     94: int(2)
                     95: object(MyStorage)#%d (2) {
                     96:   ["bla"]=>
                     97:   int(26)
                     98:   ["storage":"SplObjectStorage":private]=>
                     99:   array(2) {
                    100:     ["%s"]=>
                    101:     array(2) {
                    102:       ["obj"]=>
                    103:       object(TestClass)#%d (1) {
                    104:         ["test"]=>
                    105:         int(1)
                    106:       }
                    107:       ["inf"]=>
                    108:       NULL
                    109:     }
                    110:     ["%s"]=>
                    111:     array(2) {
                    112:       ["obj"]=>
                    113:       object(TestClass)#%d (1) {
                    114:         ["test"]=>
                    115:         int(2)
                    116:       }
                    117:       ["inf"]=>
                    118:       NULL
                    119:     }
                    120:   }
                    121: }
                    122: ===DONE===

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