mirror of
https://github.com/php/php-src.git
synced 2026-03-26 01:02:25 +01:00
From now on, we always display the given object's type instead of just reporting "object". Additionally, make the format of return type errors match the format of argument errors. Closes GH-5625
67 lines
1.5 KiB
PHP
67 lines
1.5 KiB
PHP
--TEST--
|
|
ReflectionClass::getMethod() - error cases
|
|
--CREDITS--
|
|
Robin Fernandes <robinf@php.net>
|
|
Steve Seear <stevseea@php.net>
|
|
--FILE--
|
|
<?php
|
|
class C {
|
|
function f() {}
|
|
}
|
|
|
|
$rc = new ReflectionClass("C");
|
|
echo "Check invalid params:\n";
|
|
try {
|
|
var_dump($rc->getMethod());
|
|
} catch (TypeError $e) {
|
|
echo $e->getMessage() . "\n";
|
|
}
|
|
try {
|
|
var_dump($rc->getMethod("f", "f"));
|
|
} catch (TypeError $e) {
|
|
echo $e->getMessage() . "\n";
|
|
}
|
|
try {
|
|
var_dump($rc->getMethod(null));
|
|
} catch (Exception $e) {
|
|
echo $e->getMessage() . "\n";
|
|
}
|
|
try {
|
|
var_dump($rc->getMethod(1));
|
|
} catch (Exception $e) {
|
|
echo $e->getMessage() . "\n";
|
|
}
|
|
try {
|
|
var_dump($rc->getMethod(1.5));
|
|
} catch (Exception $e) {
|
|
echo $e->getMessage() . "\n";
|
|
}
|
|
try {
|
|
var_dump($rc->getMethod(true));
|
|
} catch (Exception $e) {
|
|
echo $e->getMessage() . "\n";
|
|
}
|
|
try {
|
|
var_dump($rc->getMethod(array(1,2,3)));
|
|
} catch (TypeError $e) {
|
|
echo $e->getMessage() . "\n";
|
|
}
|
|
try {
|
|
var_dump($rc->getMethod(new C));
|
|
} catch (TypeError $e) {
|
|
echo $e->getMessage() . "\n";
|
|
}
|
|
|
|
|
|
?>
|
|
--EXPECT--
|
|
Check invalid params:
|
|
ReflectionClass::getMethod() expects exactly 1 parameter, 0 given
|
|
ReflectionClass::getMethod() expects exactly 1 parameter, 2 given
|
|
Method does not exist
|
|
Method 1 does not exist
|
|
Method 1.5 does not exist
|
|
Method 1 does not exist
|
|
ReflectionClass::getMethod(): Argument #1 ($name) must be of type string, array given
|
|
ReflectionClass::getMethod(): Argument #1 ($name) must be of type string, C given
|