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

1.1     ! misho       1: --TEST--
        !             2: Closure 036: Rebinding closures, keep calling scope
        !             3: --FILE--
        !             4: <?php
        !             5: 
        !             6: class A {
        !             7:        private $x;
        !             8:        
        !             9:        public function __construct($v) {
        !            10:                $this->x = $v;
        !            11:        }
        !            12:        
        !            13:        public function getIncrementor() {
        !            14:                return function() { return ++$this->x; };
        !            15:        }
        !            16: }
        !            17: 
        !            18: $a = new A(0);
        !            19: $b = new A(10);
        !            20: 
        !            21: $ca = $a->getIncrementor();
        !            22: $cb = $ca->bindTo($b);
        !            23: $cb2 = Closure::bind($ca, $b);
        !            24: 
        !            25: var_dump($ca());
        !            26: var_dump($cb());
        !            27: var_dump($cb2());
        !            28: 
        !            29: ?>
        !            30: --EXPECTF--
        !            31: int(1)
        !            32: int(11)
        !            33: int(12)

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