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>