Annotation of embedaddon/php/tests/classes/constants_basic_006.phpt, revision 1.1.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>