Annotation of embedaddon/php/ext/reflection/tests/ReflectionMethod_getClosure_basic.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test ReflectionMethod::getClosure() function : basic functionality 
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : public mixed ReflectionFunction::getClosure()
                      6:  * Description: Returns a dynamically created closure for the method 
                      7:  * Source code: ext/reflection/php_reflection.c
                      8:  * Alias to functions: 
                      9:  */
                     10: 
                     11: echo "*** Testing ReflectionMethod::getClosure() : basic functionality ***\n";
                     12: 
                     13: class StaticExample
                     14: {
                     15:        static function foo()
                     16:        {
                     17:                var_dump( "Static Example class, Hello World!" );
                     18:        }
                     19: }
                     20: 
                     21: class Example
                     22: {
                     23:        public $bar = 42;
                     24:        public function foo()
                     25:        {
                     26:                var_dump( "Example class, bar: " . $this->bar );
                     27:        }
                     28: }
                     29: 
                     30: // Initialize classes
                     31: $class = new ReflectionClass( 'Example' );
                     32: $staticclass = new ReflectionClass( 'StaticExample' );
                     33: $object = new Example();
                     34: $fakeobj = new StdClass();
                     35: 
                     36: 
                     37: $method = $staticclass->getMethod( 'foo' );
                     38: $closure = $method->getClosure();
                     39: $closure();
                     40: 
                     41: $method = $class->getMethod( 'foo' );
                     42: 
                     43: $closure = $method->getClosure( $object );
                     44: $closure();
                     45: $object->bar = 34;
                     46: $closure();
                     47: 
                     48: ?>
                     49: ===DONE===
                     50: --EXPECTF--
                     51: *** Testing ReflectionMethod::getClosure() : basic functionality ***
                     52: string(34) "Static Example class, Hello World!"
                     53: string(22) "Example class, bar: 42"
                     54: string(22) "Example class, bar: 34"
                     55: ===DONE===

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