Annotation of embedaddon/php/ext/reflection/tests/ReflectionProperty_constructor_variation1.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: ReflectionProperty::__construct(): ensure inherited private props can't be accessed through ReflectionProperty.
        !             3: --FILE--
        !             4: <?php
        !             5: 
        !             6: class C {
        !             7:        private $p = 1;
        !             8:        
        !             9:        static function testFromC() {
        !            10:                try {
        !            11:                  $rp = new ReflectionProperty("D", "p");
        !            12:                  var_dump($rp);
        !            13:                } catch (Exception $e) {
        !            14:                        echo $e->getMessage();
        !            15:                }               
        !            16:        }
        !            17: }
        !            18: 
        !            19: class D extends C{
        !            20:        static function testFromD() {
        !            21:                try {
        !            22:                  $rp = new ReflectionProperty("D", "p");
        !            23:                  var_dump($rp);
        !            24:                } catch (Exception $e) {
        !            25:                        echo $e->getMessage();
        !            26:                }               
        !            27:        }
        !            28: }
        !            29: 
        !            30: echo "--> Reflect inherited private from global scope:\n";
        !            31: try {
        !            32:   $rp = new ReflectionProperty("D", "p");
        !            33:   var_dump($rp);
        !            34: } catch (Exception $e) {
        !            35:        echo $e->getMessage();
        !            36: }
        !            37: 
        !            38: echo "\n\n--> Reflect inherited private from declaring scope:\n";
        !            39: C::testFromC();
        !            40: 
        !            41: echo "\n\n--> Reflect inherited private from declaring scope via subclass:\n";
        !            42: D::testFromC();
        !            43: 
        !            44: echo "\n\n--> Reflect inherited private from subclass:\n";
        !            45: D::testFromD();
        !            46: ?>
        !            47: --EXPECTF--
        !            48: --> Reflect inherited private from global scope:
        !            49: Property D::$p does not exist
        !            50: 
        !            51: --> Reflect inherited private from declaring scope:
        !            52: Property D::$p does not exist
        !            53: 
        !            54: --> Reflect inherited private from declaring scope via subclass:
        !            55: Property D::$p does not exist
        !            56: 
        !            57: --> Reflect inherited private from subclass:
        !            58: Property D::$p does not exist

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>