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

1.1       misho       1: --TEST--
                      2: SPL: SplObjectStorage with accociatied information
                      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=>"foo",2=>42) as $key => $value)
                     29: {
                     30:      $storage->attach(new TestClass($key), $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: $storage->attach(new TestClass(3), new stdClass);
                     56: $storage->attach(new TestClass(4), new TestClass(5));
                     57: echo "===UNSERIALIZE2===\n";
                     58: var_dump(unserialize(serialize($storage)));
                     59: $storage->rewind();
                     60: $storage->next();
                     61: var_dump($storage->key());
                     62: var_dump($storage->current());
                     63: var_dump($storage->getInfo());
                     64: $storage->setInfo("bar");
                     65: var_dump($storage->getInfo());
                     66: echo "===UNSERIALIZE3===\n";
                     67: var_dump(unserialize(serialize($storage)));
                     68: $storage->rewind();
                     69: $storage->next();
                     70: $storage->next();
                     71: var_dump($storage->key());
                     72: var_dump($storage->current());
                     73: $storage->attach($storage->current(), "replaced");
                     74: echo "===UNSERIALIZE4===\n";
                     75: var_dump(unserialize(serialize($storage)));
                     76: 
                     77: ?>
                     78: ===DONE===
                     79: <?php exit(0); ?>
                     80: --EXPECTF--
                     81: int(2)
                     82: int(1)
                     83: int(2)
                     84: object(MyStorage)#%d (2) {
                     85:   ["bla"]=>
                     86:   int(26)
                     87:   ["storage":"SplObjectStorage":private]=>
                     88:   array(2) {
                     89:     ["%s"]=>
                     90:     array(2) {
                     91:       ["obj"]=>
                     92:       object(TestClass)#%d (1) {
                     93:         ["test"]=>
                     94:         int(1)
                     95:       }
                     96:       ["inf"]=>
                     97:       string(3) "foo"
                     98:     }
                     99:     ["%s"]=>
                    100:     array(2) {
                    101:       ["obj"]=>
                    102:       object(TestClass)#%d (1) {
                    103:         ["test"]=>
                    104:         int(2)
                    105:       }
                    106:       ["inf"]=>
                    107:       int(42)
                    108:     }
                    109:   }
                    110: }
                    111: string(%d) "%s"
                    112: ===UNSERIALIZE===
                    113: int(2)
                    114: int(1)
                    115: int(2)
                    116: object(MyStorage)#%d (2) {
                    117:   ["bla"]=>
                    118:   int(26)
                    119:   ["storage":"SplObjectStorage":private]=>
                    120:   array(2) {
                    121:     ["%s"]=>
                    122:     array(2) {
                    123:       ["obj"]=>
                    124:       object(TestClass)#%d (1) {
                    125:         ["test"]=>
                    126:         int(1)
                    127:       }
                    128:       ["inf"]=>
                    129:       string(3) "foo"
                    130:     }
                    131:     ["%s"]=>
                    132:     array(2) {
                    133:       ["obj"]=>
                    134:       object(TestClass)#%d (1) {
                    135:         ["test"]=>
                    136:         int(2)
                    137:       }
                    138:       ["inf"]=>
                    139:       int(42)
                    140:     }
                    141:   }
                    142: }
                    143: ===UNSERIALIZE2===
                    144: object(MyStorage)#%d (2) {
                    145:   ["bla"]=>
                    146:   int(26)
                    147:   ["storage":"SplObjectStorage":private]=>
                    148:   array(4) {
                    149:     ["%s"]=>
                    150:     array(2) {
                    151:       ["obj"]=>
                    152:       object(TestClass)#%d (1) {
                    153:         ["test"]=>
                    154:         int(1)
                    155:       }
                    156:       ["inf"]=>
                    157:       string(3) "foo"
                    158:     }
                    159:     ["%s"]=>
                    160:     array(2) {
                    161:       ["obj"]=>
                    162:       object(TestClass)#%d (1) {
                    163:         ["test"]=>
                    164:         int(2)
                    165:       }
                    166:       ["inf"]=>
                    167:       int(42)
                    168:     }
                    169:     ["%s"]=>
                    170:     array(2) {
                    171:       ["obj"]=>
                    172:       object(TestClass)#%d (1) {
                    173:         ["test"]=>
                    174:         int(3)
                    175:       }
                    176:       ["inf"]=>
                    177:       object(stdClass)#%d (0) {
                    178:       }
                    179:     }
                    180:     ["%s"]=>
                    181:     array(2) {
                    182:       ["obj"]=>
                    183:       object(TestClass)#%d (1) {
                    184:         ["test"]=>
                    185:         int(4)
                    186:       }
                    187:       ["inf"]=>
                    188:       object(TestClass)#%d (1) {
                    189:         ["test"]=>
                    190:         int(5)
                    191:       }
                    192:     }
                    193:   }
                    194: }
                    195: int(1)
                    196: object(TestClass)#%d (1) {
                    197:   ["test"]=>
                    198:   int(2)
                    199: }
                    200: int(42)
                    201: string(3) "bar"
                    202: ===UNSERIALIZE3===
                    203: object(MyStorage)#%d (2) {
                    204:   ["bla"]=>
                    205:   int(26)
                    206:   ["storage":"SplObjectStorage":private]=>
                    207:   array(4) {
                    208:     ["%s"]=>
                    209:     array(2) {
                    210:       ["obj"]=>
                    211:       object(TestClass)#%d (1) {
                    212:         ["test"]=>
                    213:         int(1)
                    214:       }
                    215:       ["inf"]=>
                    216:       string(3) "foo"
                    217:     }
                    218:     ["%s"]=>
                    219:     array(2) {
                    220:       ["obj"]=>
                    221:       object(TestClass)#%d (1) {
                    222:         ["test"]=>
                    223:         int(2)
                    224:       }
                    225:       ["inf"]=>
                    226:       string(3) "bar"
                    227:     }
                    228:     ["%s"]=>
                    229:     array(2) {
                    230:       ["obj"]=>
                    231:       object(TestClass)#%d (1) {
                    232:         ["test"]=>
                    233:         int(3)
                    234:       }
                    235:       ["inf"]=>
                    236:       object(stdClass)#%d (0) {
                    237:       }
                    238:     }
                    239:     ["%s"]=>
                    240:     array(2) {
                    241:       ["obj"]=>
                    242:       object(TestClass)#%d (1) {
                    243:         ["test"]=>
                    244:         int(4)
                    245:       }
                    246:       ["inf"]=>
                    247:       object(TestClass)#%d (1) {
                    248:         ["test"]=>
                    249:         int(5)
                    250:       }
                    251:     }
                    252:   }
                    253: }
                    254: int(2)
                    255: object(TestClass)#7 (1) {
                    256:   ["test"]=>
                    257:   int(3)
                    258: }
                    259: ===UNSERIALIZE4===
                    260: object(MyStorage)#%d (2) {
                    261:   ["bla"]=>
                    262:   int(26)
                    263:   ["storage":"SplObjectStorage":private]=>
                    264:   array(4) {
                    265:     ["%s"]=>
                    266:     array(2) {
                    267:       ["obj"]=>
                    268:       object(TestClass)#%d (1) {
                    269:         ["test"]=>
                    270:         int(1)
                    271:       }
                    272:       ["inf"]=>
                    273:       string(3) "foo"
                    274:     }
                    275:     ["%s"]=>
                    276:     array(2) {
                    277:       ["obj"]=>
                    278:       object(TestClass)#%d (1) {
                    279:         ["test"]=>
                    280:         int(2)
                    281:       }
                    282:       ["inf"]=>
                    283:       string(3) "bar"
                    284:     }
                    285:     ["%s"]=>
                    286:     array(2) {
                    287:       ["obj"]=>
                    288:       object(TestClass)#%d (1) {
                    289:         ["test"]=>
                    290:         int(3)
                    291:       }
                    292:       ["inf"]=>
                    293:       string(8) "replaced"
                    294:     }
                    295:     ["%s"]=>
                    296:     array(2) {
                    297:       ["obj"]=>
                    298:       object(TestClass)#%d (1) {
                    299:         ["test"]=>
                    300:         int(4)
                    301:       }
                    302:       ["inf"]=>
                    303:       object(TestClass)#%d (1) {
                    304:         ["test"]=>
                    305:         int(5)
                    306:       }
                    307:     }
                    308:   }
                    309: }
                    310: ===DONE===

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