mirror of
https://github.com/php/php-src.git
synced 2025-08-18 23:18:56 +02:00

This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines in all *.phpt sections. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
102 lines
2.7 KiB
PHP
102 lines
2.7 KiB
PHP
--TEST--
|
|
ReflectionMethod constructor errors
|
|
--CREDITS--
|
|
Robin Fernandes <robinf@php.net>
|
|
Steve Seear <stevseea@php.net>
|
|
--FILE--
|
|
<?php
|
|
|
|
class TestClass
|
|
{
|
|
public function foo() {
|
|
}
|
|
}
|
|
|
|
|
|
try {
|
|
echo "\nWrong type of argument (bool):\n";
|
|
$methodInfo = new ReflectionMethod(true);
|
|
} catch (Exception $e) {
|
|
print $e->__toString();
|
|
}
|
|
try {
|
|
echo "\nWrong type of argument (int):\n";
|
|
$methodInfo = new ReflectionMethod(3);
|
|
} catch (Exception $e) {
|
|
print $e->__toString();
|
|
}
|
|
try {
|
|
echo "\nWrong type of argument (bool, string):\n";
|
|
$methodInfo = new ReflectionMethod(true, "foo");
|
|
} catch (Exception $e) {
|
|
print $e->__toString();
|
|
}
|
|
try {
|
|
echo "\nWrong type of argument (string, bool):\n";
|
|
$methodInfo = new ReflectionMethod('TestClass', true);
|
|
} catch (Exception $e) {
|
|
print $e->__toString();
|
|
}
|
|
try {
|
|
echo "\nNo method given:\n";
|
|
$methodInfo = new ReflectionMethod("TestClass");
|
|
} catch (Exception $e) {
|
|
print $e->__toString();
|
|
}
|
|
try {
|
|
echo "\nClass and Method in same string, bad method name:\n";
|
|
$methodInfo = new ReflectionMethod("TestClass::foop::dedoop");
|
|
} catch (Exception $e) {
|
|
print $e->__toString();
|
|
}
|
|
try {
|
|
echo "\nClass and Method in same string, bad class name:\n";
|
|
$methodInfo = new ReflectionMethod("TestCla::foo");
|
|
} catch (Exception $e) {
|
|
print $e->__toString();
|
|
}
|
|
try {
|
|
echo "\nClass and Method in same string (ok):\n";
|
|
$methodInfo = new ReflectionMethod("TestClass::foo");
|
|
} catch (Exception $e) {
|
|
print $e->__toString();
|
|
}
|
|
|
|
?>
|
|
--EXPECTF--
|
|
Wrong type of argument (bool):
|
|
ReflectionException: Invalid method name 1 in %s
|
|
Stack trace:
|
|
#0 %s ReflectionMethod->__construct('1')
|
|
#1 {main}
|
|
Wrong type of argument (int):
|
|
ReflectionException: Invalid method name 3 in %s
|
|
Stack trace:
|
|
#0 %s ReflectionMethod->__construct('3')
|
|
#1 {main}
|
|
Wrong type of argument (bool, string):
|
|
ReflectionException: The parameter class is expected to be either a string or an object in %s
|
|
Stack trace:
|
|
#0 %s ReflectionMethod->__construct(true, 'foo')
|
|
#1 {main}
|
|
Wrong type of argument (string, bool):
|
|
ReflectionException: Method TestClass::1() does not exist in %s
|
|
Stack trace:
|
|
#0 %s ReflectionMethod->__construct('TestClass', '1')
|
|
#1 {main}
|
|
No method given:
|
|
ReflectionException: Invalid method name TestClass in %s
|
|
Stack trace:
|
|
#0 %s ReflectionMethod->__construct('TestClass')
|
|
#1 {main}
|
|
Class and Method in same string, bad method name:
|
|
ReflectionException: Method TestClass::foop::dedoop() does not exist in %s
|
|
Stack trace:
|
|
#0 %s ReflectionMethod->__construct('TestClass::foop...')
|
|
#1 {main}
|
|
Class and Method in same string, bad class name:
|
|
ReflectionException: Class TestCla does not exist in %s
|
|
Stack trace:
|
|
#0 %s ReflectionMethod->__construct('TestCla::foo')
|
|
#1 {main}
|
|
Class and Method in same string (ok):
|