File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / Zend / tests / bug53958.phpt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:47:52 2012 UTC (13 years, 1 month ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17p0, v5_4_17, v5_3_10, HEAD
php

    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>