Annotation of embedaddon/php/tests/classes/constants_basic_006.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Ensure class constants are not evaluated when a class is looked up to resolve inheritance during runtime.
! 3: --FILE--
! 4: <?php
! 5: class C
! 6: {
! 7: const X = E::A;
! 8: public static $a = array(K => D::V, E::A => K);
! 9: }
! 10:
! 11: eval('class D extends C { const V = \'test\'; }');
! 12:
! 13: class E extends D
! 14: {
! 15: const A = "hello";
! 16: }
! 17:
! 18: define('K', "nasty");
! 19:
! 20: var_dump(C::X, C::$a, D::X, D::$a, E::X, E::$a);
! 21: ?>
! 22: --EXPECTF--
! 23: string(5) "hello"
! 24: array(2) {
! 25: ["nasty"]=>
! 26: string(4) "test"
! 27: ["hello"]=>
! 28: string(5) "nasty"
! 29: }
! 30: string(5) "hello"
! 31: array(2) {
! 32: ["nasty"]=>
! 33: string(4) "test"
! 34: ["hello"]=>
! 35: string(5) "nasty"
! 36: }
! 37: string(5) "hello"
! 38: array(2) {
! 39: ["nasty"]=>
! 40: string(4) "test"
! 41: ["hello"]=>
! 42: string(5) "nasty"
! 43: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>