Annotation of embedaddon/php/tests/lang/031.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #16227 (Internal hash position bug on assignment)
                      3: --FILE--
                      4: <?php
                      5: // reported by php.net@alienbill.com
                      6: $arrayOuter = array("key1","key2");
                      7: $arrayInner = array("0","1");
                      8: 
                      9: print "Correct - with inner loop reset.\n";
                     10: 
                     11: while(list(,$o) = each($arrayOuter)){
                     12:        reset($arrayInner);
                     13:        while(list(,$i) = each($arrayInner)){
                     14:                print "inloop $i for $o\n";
                     15:        }
                     16: }
                     17: reset($arrayOuter);
                     18: reset($arrayInner);
                     19: 
                     20: print "What happens without inner loop reset.\n";
                     21: 
                     22: while(list(,$o) = each($arrayOuter)){
                     23:        while(list(,$i) = each($arrayInner)){
                     24:                print "inloop $i for $o\n";
                     25:        }
                     26: }
                     27: reset($arrayOuter);
                     28: reset($arrayInner);
                     29: 
                     30: print "What happens without inner loop reset but copy.\n";
                     31: 
                     32: while(list(,$o) = each($arrayOuter)){
                     33:        $placeholder = $arrayInner;
                     34:        while(list(,$i) = each($arrayInner)){
                     35:                print "inloop $i for $o\n";
                     36:        }
                     37: }
                     38: reset($arrayOuter);
                     39: reset($arrayInner);
                     40: 
                     41: print "What happens with inner loop reset over copy.\n";
                     42: 
                     43: while(list(,$o) = each($arrayOuter)){
                     44:        $placeholder = $arrayInner;
                     45:        while(list(,$i) = each($placeholder)){
                     46:                print "inloop $i for $o\n";
                     47:        }
                     48: }
                     49: reset($arrayOuter);
                     50: reset($arrayInner);
                     51: ?>
                     52: --EXPECT--
                     53: Correct - with inner loop reset.
                     54: inloop 0 for key1
                     55: inloop 1 for key1
                     56: inloop 0 for key2
                     57: inloop 1 for key2
                     58: What happens without inner loop reset.
                     59: inloop 0 for key1
                     60: inloop 1 for key1
                     61: What happens without inner loop reset but copy.
                     62: inloop 0 for key1
                     63: inloop 1 for key1
                     64: inloop 0 for key2
                     65: inloop 1 for key2
                     66: What happens with inner loop reset over copy.
                     67: inloop 0 for key1
                     68: inloop 1 for key1
                     69: inloop 0 for key2
                     70: inloop 1 for key2

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