Annotation of embedaddon/php/ext/spl/tests/observer_005.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: SPL: SplObjectStorage serialization & visibility
        !             3: --FILE--
        !             4: <?php
        !             5: 
        !             6: class TestClass
        !             7: {
        !             8:        public    $def = 24;
        !             9:        public    $pub = 25;
        !            10:        protected $pro = 26;
        !            11:        private   $pri = 27;
        !            12:        
        !            13:        public function __construct($pub = 42, $pro = 43, $pri = 44)
        !            14:        {
        !            15:                $this->pub = $pub;
        !            16:                $this->pro = $pro;
        !            17:                $this->pri = $pri;
        !            18:        }
        !            19: }
        !            20: 
        !            21: class ExtTestClass
        !            22: {
        !            23: }
        !            24: 
        !            25: class MyStorage extends SplObjectStorage
        !            26: {
        !            27:        public    $def = 24;
        !            28:        public    $pub = 25;
        !            29:        protected $pro = 26;
        !            30:        private   $pri = 27;
        !            31:        
        !            32:        public function __construct($pub = 52, $pro = 53, $pri = 54)
        !            33:        {
        !            34:                $this->pub = $pub;
        !            35:                $this->pro = $pro;
        !            36:                $this->pri = $pri;
        !            37:        }
        !            38: }
        !            39: 
        !            40: class ExtStorage extends MyStorage
        !            41: {
        !            42: }
        !            43: 
        !            44: $storage = new MyStorage(1,2,3);
        !            45: 
        !            46: foreach(array(array(4,5,6),array(7,8,9)) as $value)
        !            47: {
        !            48:      $storage->attach(new TestClass($value[0], $value[1], $value[2]));
        !            49: }
        !            50: 
        !            51: var_dump(count($storage));
        !            52: 
        !            53: foreach($storage as $object)
        !            54: {
        !            55:        var_dump($object);
        !            56: }
        !            57: 
        !            58: var_dump($storage);
        !            59: 
        !            60: var_dump(serialize($storage));
        !            61: echo "===UNSERIALIZE===\n";
        !            62: 
        !            63: $storage2 = unserialize(serialize($storage));
        !            64: 
        !            65: var_dump(count($storage2));
        !            66: 
        !            67: foreach($storage2 as $object)
        !            68: {
        !            69:        var_dump($object);
        !            70: }
        !            71: 
        !            72: var_dump($storage2);
        !            73: 
        !            74: ?>
        !            75: ===DONE===
        !            76: <?php exit(0); ?>
        !            77: --EXPECTF--
        !            78: int(2)
        !            79: object(TestClass)#%d (4) {
        !            80:   ["def"]=>
        !            81:   int(24)
        !            82:   ["pub"]=>
        !            83:   int(4)
        !            84:   ["pro":protected]=>
        !            85:   int(5)
        !            86:   ["pri":"TestClass":private]=>
        !            87:   int(6)
        !            88: }
        !            89: object(TestClass)#%d (4) {
        !            90:   ["def"]=>
        !            91:   int(24)
        !            92:   ["pub"]=>
        !            93:   int(7)
        !            94:   ["pro":protected]=>
        !            95:   int(8)
        !            96:   ["pri":"TestClass":private]=>
        !            97:   int(9)
        !            98: }
        !            99: object(MyStorage)#%d (5) {
        !           100:   ["def"]=>
        !           101:   int(24)
        !           102:   ["pub"]=>
        !           103:   int(1)
        !           104:   ["pro":protected]=>
        !           105:   int(2)
        !           106:   ["pri":"MyStorage":private]=>
        !           107:   int(3)
        !           108:   ["storage":"SplObjectStorage":private]=>
        !           109:   array(2) {
        !           110:     ["%s"]=>
        !           111:     array(2) {
        !           112:       ["obj"]=>
        !           113:       object(TestClass)#%d (4) {
        !           114:         ["def"]=>
        !           115:         int(24)
        !           116:         ["pub"]=>
        !           117:         int(4)
        !           118:         ["pro":protected]=>
        !           119:         int(5)
        !           120:         ["pri":"TestClass":private]=>
        !           121:         int(6)
        !           122:       }
        !           123:       ["inf"]=>
        !           124:       NULL
        !           125:     }
        !           126:     ["%s"]=>
        !           127:     array(2) {
        !           128:       ["obj"]=>
        !           129:       object(TestClass)#%d (4) {
        !           130:         ["def"]=>
        !           131:         int(24)
        !           132:         ["pub"]=>
        !           133:         int(7)
        !           134:         ["pro":protected]=>
        !           135:         int(8)
        !           136:         ["pri":"TestClass":private]=>
        !           137:         int(9)
        !           138:       }
        !           139:       ["inf"]=>
        !           140:       NULL
        !           141:     }
        !           142:   }
        !           143: }
        !           144: string(%d) "%s"
        !           145: ===UNSERIALIZE===
        !           146: int(2)
        !           147: object(TestClass)#%d (4) {
        !           148:   ["def"]=>
        !           149:   int(24)
        !           150:   ["pub"]=>
        !           151:   int(4)
        !           152:   ["pro":protected]=>
        !           153:   int(5)
        !           154:   ["pri":"TestClass":private]=>
        !           155:   int(6)
        !           156: }
        !           157: object(TestClass)#%d (4) {
        !           158:   ["def"]=>
        !           159:   int(24)
        !           160:   ["pub"]=>
        !           161:   int(7)
        !           162:   ["pro":protected]=>
        !           163:   int(8)
        !           164:   ["pri":"TestClass":private]=>
        !           165:   int(9)
        !           166: }
        !           167: object(MyStorage)#%d (5) {
        !           168:   ["def"]=>
        !           169:   int(24)
        !           170:   ["pub"]=>
        !           171:   int(1)
        !           172:   ["pro":protected]=>
        !           173:   int(2)
        !           174:   ["pri":"MyStorage":private]=>
        !           175:   int(3)
        !           176:   ["storage":"SplObjectStorage":private]=>
        !           177:   array(2) {
        !           178:     ["%s"]=>
        !           179:     array(2) {
        !           180:       ["obj"]=>
        !           181:       object(TestClass)#%d (4) {
        !           182:         ["def"]=>
        !           183:         int(24)
        !           184:         ["pub"]=>
        !           185:         int(4)
        !           186:         ["pro":protected]=>
        !           187:         int(5)
        !           188:         ["pri":"TestClass":private]=>
        !           189:         int(6)
        !           190:       }
        !           191:       ["inf"]=>
        !           192:       NULL
        !           193:     }
        !           194:     ["%s"]=>
        !           195:     array(2) {
        !           196:       ["obj"]=>
        !           197:       object(TestClass)#%d (4) {
        !           198:         ["def"]=>
        !           199:         int(24)
        !           200:         ["pub"]=>
        !           201:         int(7)
        !           202:         ["pro":protected]=>
        !           203:         int(8)
        !           204:         ["pri":"TestClass":private]=>
        !           205:         int(9)
        !           206:       }
        !           207:       ["inf"]=>
        !           208:       NULL
        !           209:     }
        !           210:   }
        !           211: }
        !           212: ===DONE===

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