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

1.1     ! misho       1: --TEST--
        !             2: SPL: ArrayIterator::next() with internal arrays
        !             3: --FILE--
        !             4: <?php
        !             5: 
        !             6: $ar = new ArrayObject();
        !             7: 
        !             8: $ar[0] = 1;
        !             9: $ar[1] = 2;
        !            10: $ar[2] = 3;
        !            11: $ar[3] = 4;
        !            12: $ar[4] = 5;
        !            13: 
        !            14: var_dump($ar);
        !            15: 
        !            16: $it = $ar->getIterator();
        !            17: 
        !            18: $ar->offsetUnset($it->key());
        !            19: $it->next();
        !            20: 
        !            21: var_dump($it->current());
        !            22: var_dump($ar);
        !            23: 
        !            24: foreach($it as $k => $v)
        !            25: {
        !            26:        $ar->offsetUnset($k+1);
        !            27:        echo "$k=>$v\n";
        !            28: }
        !            29: 
        !            30: var_dump($ar);
        !            31: 
        !            32: foreach($it as $k => $v)
        !            33: {
        !            34:        $ar->offsetUnset($k);
        !            35:        echo "$k=>$v\n";
        !            36: }
        !            37: 
        !            38: var_dump($ar);
        !            39: 
        !            40: ?>
        !            41: ===DONE===
        !            42: <?php exit(0); ?>
        !            43: --EXPECTF--
        !            44: object(ArrayObject)#%d (1) {
        !            45:   %s"storage"%s"ArrayObject":private]=>
        !            46:   array(5) {
        !            47:     [0]=>
        !            48:     int(1)
        !            49:     [1]=>
        !            50:     int(2)
        !            51:     [2]=>
        !            52:     int(3)
        !            53:     [3]=>
        !            54:     int(4)
        !            55:     [4]=>
        !            56:     int(5)
        !            57:   }
        !            58: }
        !            59: 
        !            60: Notice: ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_015.php on line %d
        !            61: int(2)
        !            62: object(ArrayObject)#%d (1) {
        !            63:   %s"storage"%s"ArrayObject":private]=>
        !            64:   array(4) {
        !            65:     [1]=>
        !            66:     int(2)
        !            67:     [2]=>
        !            68:     int(3)
        !            69:     [3]=>
        !            70:     int(4)
        !            71:     [4]=>
        !            72:     int(5)
        !            73:   }
        !            74: }
        !            75: 1=>2
        !            76: 3=>4
        !            77: object(ArrayObject)#%d (1) {
        !            78:   %s"storage"%s"ArrayObject":private]=>
        !            79:   array(2) {
        !            80:     [1]=>
        !            81:     int(2)
        !            82:     [3]=>
        !            83:     int(4)
        !            84:   }
        !            85: }
        !            86: 1=>2
        !            87: 
        !            88: Notice: main(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_015.php on line %d
        !            89: 3=>4
        !            90: 
        !            91: Notice: main(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_015.php on line %d
        !            92: object(ArrayObject)#%d (1) {
        !            93:   %s"storage"%s"ArrayObject":private]=>
        !            94:   array(0) {
        !            95:   }
        !            96: }
        !            97: ===DONE===

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