mirror of
https://github.com/php/php-src.git
synced 2024-12-02 22:34:55 +08:00
d679f02295
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
70 lines
1.3 KiB
PHP
70 lines
1.3 KiB
PHP
--TEST--
|
|
Typed group use statements
|
|
--FILE--
|
|
<?php
|
|
namespace Foo\Bar {
|
|
class A { function __construct() {echo __METHOD__,"\n";} }
|
|
class B { function __construct() {echo __METHOD__,"\n";} }
|
|
function fiz(){ echo __FUNCTION__,"\n"; }
|
|
function biz(){ echo __FUNCTION__,"\n"; }
|
|
function buz(){ echo __FUNCTION__,"\n"; }
|
|
const FOO = 1;
|
|
const BAR = 2;
|
|
}
|
|
namespace Fiz\Biz\Buz {
|
|
|
|
use function Foo\Bar\{
|
|
fiz,
|
|
biz,
|
|
buz as boz,
|
|
A // <- this one must fail
|
|
};
|
|
|
|
use const Foo\Bar\{
|
|
FOO as FOZ,
|
|
BAR,
|
|
B // <- this one must fail
|
|
};
|
|
|
|
use Foo\Bar\{ A, B, const BAR as BOZ };
|
|
|
|
function buz(){ echo __FUNCTION__,"\n"; }
|
|
const FOO = 100;
|
|
|
|
echo "==== MIXED ====\n";
|
|
new A();
|
|
new B();
|
|
var_dump(BOZ);
|
|
echo "===== CONSTANTS ====\n";
|
|
var_dump(FOO);
|
|
var_dump(FOZ);
|
|
var_dump(BAR);
|
|
var_dump(defined('B'));
|
|
echo "===== FUNCTIONS ====\n";
|
|
buz();
|
|
fiz();
|
|
biz();
|
|
boz();
|
|
A();
|
|
}
|
|
--EXPECTF--
|
|
==== MIXED ====
|
|
Foo\Bar\A::__construct
|
|
Foo\Bar\B::__construct
|
|
int(2)
|
|
===== CONSTANTS ====
|
|
int(100)
|
|
int(1)
|
|
int(2)
|
|
bool(false)
|
|
===== FUNCTIONS ====
|
|
Fiz\Biz\Buz\buz
|
|
Foo\Bar\fiz
|
|
Foo\Bar\biz
|
|
Foo\Bar\buz
|
|
|
|
Fatal error: Uncaught Error: Call to undefined function Foo\Bar\A() in %sns_092.php:45
|
|
Stack trace:
|
|
#0 {main}
|
|
thrown in %sns_092.php on line 45
|