Annotation of embedaddon/php/ext/spl/tests/observer_006.phpt, revision 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>