php-src/Zend/tests/bug42819.phpt

283 lines
3.9 KiB
Plaintext
Raw Normal View History

--TEST--
Bug #42819 (namespaces in indexes of constant arrays)
--FILE--
<?php
namespace foo;
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 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 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);
?>
--EXPECT--
foo::C
foo::C
foo::foo::C
foo::C
foo::foo::C
1
1
foo::C
foo::C
foo::foo::C
foo::C
foo::foo::C
1
1
Array
(
[11] => 0
)
Array
(
[11] => 0
)
Array
(
[22] => 0
)
Array
(
[11] => 0
)
Array
(
[22] => 0
)
Array
(
[1] => 0
)
Array
(
[1] => 0
)
Array
(
[11] => 11
)
Array
(
[11] => 11
)
Array
(
[22] => 11
)
Array
(
[11] => 11
)
Array
(
[22] => 11
)
Array
(
[1] => 11
)
Array
(
[1] => 11
)
Array
(
[11] => 11
)
Array
(
[11] => 11
)
Array
(
[22] => 11
)
Array
(
[11] => 11
)
Array
(
[22] => 11
)
Array
(
[1] => 11
)
Array
(
[1] => 11
)
Array
(
[11] => 1
)
Array
(
[11] => 1
)
Array
(
[22] => 1
)
Array
(
[11] => 1
)
Array
(
[22] => 1
)
Array
(
[1] => 1
)
Array
(
[1] => 1
)
Array
(
[11] => 1
)
Array
(
[11] => 1
)
Array
(
[22] => 1
)
Array
(
[11] => 1
)
Array
(
[22] => 1
)
Array
(
[1] => 1
)
Array
(
[1] => 1
)