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

1.1       misho       1: --TEST--
                      2: ReflectionMethod::invokeArgs()
                      3: --FILE--
                      4: <?php
                      5: 
                      6: class TestClass {
                      7:     public $prop = 2;
                      8: 
                      9:     public function foo() {
                     10:         echo "Called foo(), property = $this->prop\n";
                     11:         var_dump($this);
                     12:         return "Return Val";
                     13:     }
                     14: 
                     15:     public function willThrow() {
                     16:         throw new Exception("Called willThrow()");
                     17:     }
                     18: 
                     19:     public function methodWithArgs($a, $b) {
                     20:         echo "Called methodWithArgs($a, $b)\n";
                     21:     }
                     22: }
                     23: 
                     24: 
                     25: $testClassInstance = new TestClass();
                     26: $testClassInstance->prop = "Hello";
                     27: 
                     28: $foo = new ReflectionMethod($testClassInstance, 'foo');
                     29: $methodWithArgs = new ReflectionMethod('TestClass', 'methodWithArgs');
                     30: $methodThatThrows = new ReflectionMethod("TestClass::willThrow");
                     31: 
                     32: 
                     33: echo "Public method:\n";
                     34: 
                     35: var_dump($foo->invokeArgs($testClassInstance, array()));
                     36: var_dump($foo->invokeArgs($testClassInstance, array(true)));
                     37: 
                     38: echo "\nMethod with args:\n";
                     39: 
                     40: var_dump($methodWithArgs->invokeArgs($testClassInstance, array(1, "arg2")));
                     41: var_dump($methodWithArgs->invokeArgs($testClassInstance, array(1, "arg2", 3)));
                     42: 
                     43: echo "\nMethod that throws an exception:\n";
                     44: try {
                     45:     $methodThatThrows->invokeArgs($testClassInstance, array());
                     46: } catch (Exception $e) {
                     47:     var_dump($e->getMessage());
                     48: }
                     49: 
                     50: ?>
                     51: --EXPECTF--
                     52: Public method:
                     53: Called foo(), property = Hello
                     54: object(TestClass)#%d (1) {
                     55:   ["prop"]=>
                     56:   string(5) "Hello"
                     57: }
                     58: string(10) "Return Val"
                     59: Called foo(), property = Hello
                     60: object(TestClass)#%d (1) {
                     61:   ["prop"]=>
                     62:   string(5) "Hello"
                     63: }
                     64: string(10) "Return Val"
                     65: 
                     66: Method with args:
                     67: Called methodWithArgs(1, arg2)
                     68: NULL
                     69: Called methodWithArgs(1, arg2)
                     70: NULL
                     71: 
                     72: Method that throws an exception:
                     73: string(18) "Called willThrow()"

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