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