mirror of
https://github.com/php/php-src.git
synced 2024-12-20 23:39:46 +08:00
f1d7e3ca0b
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
307 lines
4.3 KiB
PHP
307 lines
4.3 KiB
PHP
--TEST--
|
|
Bug #42819 (namespaces in indexes of constant arrays)
|
|
--SKIPIF--
|
|
<?php if (!extension_loaded("spl")) print "skip SPL extension required"; ?>
|
|
--FILE--
|
|
<?php
|
|
namespace foo\foo;
|
|
|
|
const C = "foo\\foo\\C\n";
|
|
const I = 12;
|
|
|
|
class foo {
|
|
const I = 32;
|
|
const C = "foo\\foo\\foo::C\n";
|
|
}
|
|
|
|
namespace foo;
|
|
use \ArrayObject;
|
|
|
|
const C = "foo\\C\n";
|
|
const I = 11;
|
|
|
|
class foo {
|
|
const C = "foo\\foo::C\n";
|
|
const I = 22;
|
|
const C1 = C;
|
|
const C2 = foo\C;
|
|
const C3 = foo\foo::C;
|
|
const C4 = \foo\C;
|
|
const C5 = \foo\foo::C;
|
|
const C6 = ArrayObject::STD_PROP_LIST;
|
|
const C7 = E_ERROR;
|
|
}
|
|
|
|
class bar1 {
|
|
static $a1 = array(I => 0);
|
|
static $a2 = array(foo\I => 0);
|
|
static $a3 = array(foo\foo::I => 0);
|
|
static $a4 = array(\foo\I => 0);
|
|
static $a5 = array(\foo\foo::I => 0);
|
|
static $a6 = array(ArrayObject::STD_PROP_LIST => 0);
|
|
static $a7 = array(E_ERROR => 0);
|
|
}
|
|
|
|
class bar2 {
|
|
static $a1 = array(I => I);
|
|
static $a2 = array(foo\I => I);
|
|
static $a3 = array(foo\foo::I => I);
|
|
static $a4 = array(\foo\I => I);
|
|
static $a5 = array(\foo\foo::I => I);
|
|
static $a6 = array(ArrayObject::STD_PROP_LIST => I);
|
|
static $a7 = array(E_ERROR => I);
|
|
}
|
|
|
|
class bar3 {
|
|
static $a1 = array(I => foo\I);
|
|
static $a2 = array(foo\I => foo\I);
|
|
static $a3 = array(foo\foo::I => foo\I);
|
|
static $a4 = array(\foo\I => foo\I);
|
|
static $a5 = array(\foo\foo::I => foo\I);
|
|
static $a6 = array(ArrayObject::STD_PROP_LIST => foo\I);
|
|
static $a7 = array(E_ERROR => foo\I);
|
|
}
|
|
|
|
class bar4 {
|
|
static $a1 = array(I => ArrayObject::STD_PROP_LIST);
|
|
static $a2 = array(foo\I => ArrayObject::STD_PROP_LIST);
|
|
static $a3 = array(foo\foo::I => ArrayObject::STD_PROP_LIST);
|
|
static $a4 = array(\foo\I => ArrayObject::STD_PROP_LIST);
|
|
static $a5 = array(\foo\foo::I => ArrayObject::STD_PROP_LIST);
|
|
static $a6 = array(ArrayObject::STD_PROP_LIST => ArrayObject::STD_PROP_LIST);
|
|
static $a7 = array(E_ERROR => ArrayObject::STD_PROP_LIST);
|
|
}
|
|
|
|
class bar5 {
|
|
static $a1 = array(I => E_ERROR);
|
|
static $a2 = array(foo\I => E_ERROR);
|
|
static $a3 = array(foo\foo::I => E_ERROR);
|
|
static $a4 = array(\foo\I => E_ERROR);
|
|
static $a5 = array(\foo\foo::I => E_ERROR);
|
|
static $a6 = array(ArrayObject::STD_PROP_LIST => E_ERROR);
|
|
static $a7 = array(E_ERROR => E_ERROR);
|
|
}
|
|
|
|
echo "first\n";
|
|
echo C;
|
|
echo foo\C;
|
|
echo foo\foo::C;
|
|
echo foo::C;
|
|
echo \foo\foo::C;
|
|
echo ArrayObject::STD_PROP_LIST . "\n";
|
|
echo E_ERROR . "\n";
|
|
echo "second\n";
|
|
echo \foo\foo::C1;
|
|
echo \foo\foo::C2;
|
|
echo \foo\foo::C3;
|
|
echo \foo\foo::C4;
|
|
echo \foo\foo::C5;
|
|
echo \foo\foo::C6 . "\n";
|
|
echo \foo\foo::C7 . "\n";
|
|
|
|
print_r(bar1::$a1);
|
|
print_r(bar1::$a2);
|
|
print_r(bar1::$a3);
|
|
print_r(bar1::$a4);
|
|
print_r(bar1::$a5);
|
|
print_r(bar1::$a6);
|
|
print_r(bar1::$a7);
|
|
|
|
print_r(bar2::$a1);
|
|
print_r(bar2::$a2);
|
|
print_r(bar2::$a3);
|
|
print_r(bar2::$a4);
|
|
print_r(bar2::$a5);
|
|
print_r(bar2::$a6);
|
|
print_r(bar2::$a7);
|
|
|
|
print_r(bar3::$a1);
|
|
print_r(bar3::$a2);
|
|
print_r(bar3::$a3);
|
|
print_r(bar3::$a4);
|
|
print_r(bar3::$a5);
|
|
print_r(bar3::$a6);
|
|
print_r(bar3::$a7);
|
|
|
|
print_r(bar4::$a1);
|
|
print_r(bar4::$a2);
|
|
print_r(bar4::$a3);
|
|
print_r(bar4::$a4);
|
|
print_r(bar4::$a5);
|
|
print_r(bar4::$a6);
|
|
print_r(bar4::$a7);
|
|
|
|
print_r(bar5::$a1);
|
|
print_r(bar5::$a2);
|
|
print_r(bar5::$a3);
|
|
print_r(bar5::$a4);
|
|
print_r(bar5::$a5);
|
|
print_r(bar5::$a6);
|
|
print_r(bar5::$a7);
|
|
function oops($a = array(foo\unknown)){}
|
|
oops();
|
|
?>
|
|
--EXPECTF--
|
|
first
|
|
foo\C
|
|
foo\foo\C
|
|
foo\foo\foo::C
|
|
foo\foo::C
|
|
foo\foo::C
|
|
1
|
|
1
|
|
second
|
|
foo\C
|
|
foo\foo\C
|
|
foo\foo\foo::C
|
|
foo\C
|
|
foo\foo::C
|
|
1
|
|
1
|
|
Array
|
|
(
|
|
[11] => 0
|
|
)
|
|
Array
|
|
(
|
|
[12] => 0
|
|
)
|
|
Array
|
|
(
|
|
[32] => 0
|
|
)
|
|
Array
|
|
(
|
|
[11] => 0
|
|
)
|
|
Array
|
|
(
|
|
[22] => 0
|
|
)
|
|
Array
|
|
(
|
|
[1] => 0
|
|
)
|
|
Array
|
|
(
|
|
[1] => 0
|
|
)
|
|
Array
|
|
(
|
|
[11] => 11
|
|
)
|
|
Array
|
|
(
|
|
[12] => 11
|
|
)
|
|
Array
|
|
(
|
|
[32] => 11
|
|
)
|
|
Array
|
|
(
|
|
[11] => 11
|
|
)
|
|
Array
|
|
(
|
|
[22] => 11
|
|
)
|
|
Array
|
|
(
|
|
[1] => 11
|
|
)
|
|
Array
|
|
(
|
|
[1] => 11
|
|
)
|
|
Array
|
|
(
|
|
[11] => 12
|
|
)
|
|
Array
|
|
(
|
|
[12] => 12
|
|
)
|
|
Array
|
|
(
|
|
[32] => 12
|
|
)
|
|
Array
|
|
(
|
|
[11] => 12
|
|
)
|
|
Array
|
|
(
|
|
[22] => 12
|
|
)
|
|
Array
|
|
(
|
|
[1] => 12
|
|
)
|
|
Array
|
|
(
|
|
[1] => 12
|
|
)
|
|
Array
|
|
(
|
|
[11] => 1
|
|
)
|
|
Array
|
|
(
|
|
[12] => 1
|
|
)
|
|
Array
|
|
(
|
|
[32] => 1
|
|
)
|
|
Array
|
|
(
|
|
[11] => 1
|
|
)
|
|
Array
|
|
(
|
|
[22] => 1
|
|
)
|
|
Array
|
|
(
|
|
[1] => 1
|
|
)
|
|
Array
|
|
(
|
|
[1] => 1
|
|
)
|
|
Array
|
|
(
|
|
[11] => 1
|
|
)
|
|
Array
|
|
(
|
|
[12] => 1
|
|
)
|
|
Array
|
|
(
|
|
[32] => 1
|
|
)
|
|
Array
|
|
(
|
|
[11] => 1
|
|
)
|
|
Array
|
|
(
|
|
[22] => 1
|
|
)
|
|
Array
|
|
(
|
|
[1] => 1
|
|
)
|
|
Array
|
|
(
|
|
[1] => 1
|
|
)
|
|
|
|
Fatal error: Uncaught Error: Undefined constant 'foo\foo\unknown' in %sbug42819.php:%d
|
|
Stack trace:
|
|
#0 %s(%d): foo\oops()
|
|
#1 {main}
|
|
thrown in %sbug42819.php on line %d
|