Annotation of embedaddon/php/ext/reflection/tests/ReflectionMethod_invokeArgs_basic.phpt, revision 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>