Annotation of embedaddon/php/Zend/tests/bug53958.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #53958 (Closures can't 'use' shared variables by value and by reference)
        !             3: --FILE--
        !             4: <?php
        !             5: // TEST 1
        !             6: $a = 1;
        !             7: $fn1 = function() use ($a) {echo "$a\n"; $a++;};
        !             8: $fn2 = function() use ($a) {echo "$a\n"; $a++;};
        !             9: $a = 5;
        !            10: $fn1(); // 1
        !            11: $fn2(); // 1
        !            12: $fn1(); // 1
        !            13: $fn2(); // 1
        !            14: 
        !            15: // TEST 2
        !            16: $b = 1;
        !            17: $fn1 = function() use (&$b) {echo "$b\n"; $b++;};
        !            18: $fn2 = function() use (&$b) {echo "$b\n"; $b++;};
        !            19: $b = 5;
        !            20: $fn1(); // 5
        !            21: $fn2(); // 6
        !            22: $fn1(); // 7
        !            23: $fn2(); // 8
        !            24: 
        !            25: // TEST 3
        !            26: $c = 1;
        !            27: $fn1 = function() use (&$c) {echo "$c\n"; $c++;};
        !            28: $fn2 = function() use ($c) {echo "$c\n"; $c++;};
        !            29: $c = 5;
        !            30: $fn1(); // 5
        !            31: $fn2(); // 1
        !            32: $fn1(); // 6
        !            33: $fn2(); // 1
        !            34: 
        !            35: // TEST 4
        !            36: $d = 1;
        !            37: $fn1 = function() use ($d) {echo "$d\n"; $d++;};
        !            38: $fn2 = function() use (&$d) {echo "$d\n"; $d++;};
        !            39: $d = 5;
        !            40: $fn1(); // 1
        !            41: $fn2(); // 5
        !            42: $fn1(); // 1
        !            43: $fn2(); // 6
        !            44: ?>
        !            45: --EXPECT--
        !            46: 1
        !            47: 1
        !            48: 1
        !            49: 1
        !            50: 5
        !            51: 6
        !            52: 7
        !            53: 8
        !            54: 5
        !            55: 1
        !            56: 6
        !            57: 1
        !            58: 1
        !            59: 5
        !            60: 1
        !            61: 6

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