Annotation of embedaddon/php/tests/lang/031.phpt, revision 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>