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

1.1     ! misho       1: --TEST--
        !             2: ArrayObject/ArrayIterator : serialization
        !             3: --FILE--
        !             4: <?php
        !             5: $o = new ArrayObject();
        !             6: $y = new StdClass;
        !             7: $o->append($y);
        !             8: $o->append($y);
        !             9: $o->append($o);
        !            10: 
        !            11: var_dump($o[0] === $o[1]);
        !            12: var_dump($o[2] === $o);
        !            13: 
        !            14: $s1 = serialize($o);
        !            15: $s2 = $o->serialize();
        !            16: var_dump($s1);
        !            17: var_dump($s2);
        !            18: 
        !            19: $o1 =unserialize($s1);
        !            20: 
        !            21: var_dump($o1[0] === $o1[1]);
        !            22: var_dump($o1[2] === $o1);
        !            23: 
        !            24: $o2 = new ArrayObject();
        !            25: $o2->unserialize($s2);
        !            26: 
        !            27: var_dump($o2[0] === $o2[1]);
        !            28: var_dump($o2[2] !== $o2);
        !            29: var_dump($o2[2][2] === $o2[2]);
        !            30: 
        !            31: echo "#### Extending ArrayObject\n";
        !            32: unset($o,$x,$s1,$s2,$o1,$o2);
        !            33: class ArrayObject2 extends ArrayObject {
        !            34:     public function serialize() {
        !            35:         return parent::serialize();
        !            36:     }
        !            37: 
        !            38:     public function unserialize($s) {
        !            39:         return parent::unserialize($s);
        !            40:     }
        !            41: }
        !            42: 
        !            43: $o = new ArrayObject2();
        !            44: $y = new StdClass;
        !            45: $o->append($y);
        !            46: $o->append($y);
        !            47: $o->append($o);
        !            48: 
        !            49: var_dump($o[0] === $o[1]);
        !            50: var_dump($o[2] === $o);
        !            51: 
        !            52: $s1 = serialize($o);
        !            53: $s2 = $o->serialize();
        !            54: var_dump($s1);
        !            55: var_dump($s2);
        !            56: 
        !            57: $o1 =unserialize($s1);
        !            58: 
        !            59: var_dump($o1[0] === $o1[1]);
        !            60: var_dump($o1[2] === $o1);
        !            61: 
        !            62: $o2 = new ArrayObject2();
        !            63: $o2->unserialize($s2);
        !            64: 
        !            65: var_dump($o2[0] === $o2[1]);
        !            66: var_dump($o2[2] !== $o2);
        !            67: var_dump($o2[2][2] === $o2[2]);
        !            68: ?>
        !            69: --EXPECT--
        !            70: bool(true)
        !            71: bool(true)
        !            72: string(84) "C:11:"ArrayObject":60:{x:i:0;a:3:{i:0;O:8:"stdClass":0:{}i:1;r:4;i:2;r:1;};m:a:0:{}}"
        !            73: string(125) "x:i:0;a:3:{i:0;O:8:"stdClass":0:{}i:1;r:3;i:2;C:11:"ArrayObject":45:{x:i:0;a:3:{i:0;r:3;i:1;r:3;i:2;r:5;};m:a:0:{}}};m:a:0:{}"
        !            74: bool(true)
        !            75: bool(true)
        !            76: bool(true)
        !            77: bool(true)
        !            78: bool(true)
        !            79: #### Extending ArrayObject
        !            80: bool(true)
        !            81: bool(true)
        !            82: string(85) "C:12:"ArrayObject2":60:{x:i:0;a:3:{i:0;O:8:"stdClass":0:{}i:1;r:4;i:2;r:1;};m:a:0:{}}"
        !            83: string(126) "x:i:0;a:3:{i:0;O:8:"stdClass":0:{}i:1;r:3;i:2;C:12:"ArrayObject2":45:{x:i:0;a:3:{i:0;r:3;i:1;r:3;i:2;r:5;};m:a:0:{}}};m:a:0:{}"
        !            84: bool(true)
        !            85: bool(true)
        !            86: bool(true)
        !            87: bool(true)
        !            88: bool(true)

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