mirror of
https://github.com/php/php-src.git
synced 2025-08-18 06:58:55 +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
98 lines
1.3 KiB
PHP
98 lines
1.3 KiB
PHP
--TEST--
|
|
ReflectionClass::getDocComment()
|
|
--CREDITS--
|
|
Robin Fernandes <robinf@php.net>
|
|
Steve Seear <stevseea@php.net>
|
|
--INI--
|
|
opcache.save_comments=1
|
|
--FILE--
|
|
<?php
|
|
/**
|
|
|
|
|
|
My
|
|
Doc
|
|
* Comment
|
|
for A
|
|
|
|
* */
|
|
class A {}
|
|
|
|
/** My DocComment for B */
|
|
class B extends A { }
|
|
|
|
class C extends B {}
|
|
|
|
/**
|
|
* Interface doc comment
|
|
*/
|
|
|
|
|
|
|
|
|
|
interface I {}
|
|
|
|
/*.*
|
|
* Not a doc comment
|
|
*/
|
|
class D implements I {}
|
|
|
|
/**** Not a doc comment */
|
|
class E extends C implements I {} {}
|
|
|
|
/**?** Not a doc comment */
|
|
class F extends C implements I {} {}
|
|
|
|
/** ** Doc comment for G */
|
|
final class G extends C implements I {} {}
|
|
|
|
$classes = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'I');
|
|
foreach ($classes as $class) {
|
|
echo "\n\n---> Doc comment for class $class:\n";
|
|
$rc = new ReflectionClass($class);
|
|
var_dump($rc->getDocComment());
|
|
}
|
|
|
|
|
|
?>
|
|
--EXPECTF--
|
|
---> Doc comment for class A:
|
|
string(%d) "/**
|
|
|
|
|
|
My
|
|
Doc
|
|
* Comment
|
|
for A
|
|
|
|
* */"
|
|
|
|
|
|
---> Doc comment for class B:
|
|
string(26) "/** My DocComment for B */"
|
|
|
|
|
|
---> Doc comment for class C:
|
|
bool(false)
|
|
|
|
|
|
---> Doc comment for class D:
|
|
bool(false)
|
|
|
|
|
|
---> Doc comment for class E:
|
|
bool(false)
|
|
|
|
|
|
---> Doc comment for class F:
|
|
bool(false)
|
|
|
|
|
|
---> Doc comment for class G:
|
|
string(27) "/** ** Doc comment for G */"
|
|
|
|
|
|
---> Doc comment for class I:
|
|
string(%d) "/**
|
|
* Interface doc comment
|
|
*/"
|