php-src/ext/reflection/tests/ReflectionMethod_invoke_error2.phpt
Dmitry Stogov ff363e2e7c Implemented RFC: Replace "Missing argument" warning with "Too few arguments" exception
Squashed commit of the following:

commit 8b45fa2acb
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jun 16 01:52:50 2016 +0300

    Separate slow path of ZEND_RECV into a cold function.

commit 9e18895ee5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jun 15 23:26:28 2016 +0300

    Required argument can't be IS_UNDEF anymore.

commit 662db66e39
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue May 31 17:14:50 2016 +0300

    Replace "Missing argument" warning by "Too few arguments" exception.
2016-06-16 02:32:02 +03:00

29 lines
804 B
PHP

--TEST--
ReflectionMethod::invoke() further errors
--FILE--
<?php
class TestClass {
public function methodWithArgs($a, $b) {
echo "Called methodWithArgs($a, $b)\n";
}
}
$methodWithArgs = new ReflectionMethod('TestClass', 'methodWithArgs');
$testClassInstance = new TestClass();
echo "\nMethod with args:\n";
var_dump($methodWithArgs->invoke($testClassInstance));
?>
--EXPECTF--
Method with args:
Fatal error: Uncaught Error: Too few arguments to function TestClass::methodWithArgs(), 0 passed and exactly 2 expected in %sReflectionMethod_invoke_error2.php:5
Stack trace:
#0 [internal function]: TestClass->methodWithArgs()
#1 %sReflectionMethod_invoke_error2.php(15): ReflectionMethod->invoke(Object(TestClass))
#2 {main}
thrown in %sReflectionMethod_invoke_error2.php on line 5