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>