Annotation of embedaddon/php/ext/reflection/tests/bug49719.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #49719 (ReflectionClass::hasProperty returns true for a private property in base class)
                      3: --FILE--
                      4: <?php
                      5: 
                      6: class A {
                      7:        private $a;
                      8: }
                      9: class B extends A {
                     10:        private $b;
                     11: }
                     12: 
                     13: try {
                     14:        $b = new B;
                     15:        $ref = new ReflectionClass($b);
                     16:        
                     17:        var_dump(property_exists('b', 'a'));
                     18:        var_dump(property_exists($b, 'a'));
                     19:        var_dump($ref->hasProperty('a'));       
                     20:        var_dump($ref->getProperty('a'));
                     21: } catch (Exception $e) {
                     22:        var_dump($e->getMessage());
                     23: }
                     24: 
                     25: class A2 {
                     26:        private $a = 1;
                     27: }
                     28: 
                     29: class B2 extends A2 {
                     30:        private $a = 2;
                     31: }
                     32: 
                     33: $b2 = new ReflectionClass('B2');
                     34: $prop = $b2->getProperty('a');
                     35: $prop->setAccessible(true);
                     36: var_dump($prop->getValue(new b2));
                     37: 
                     38: ?>
                     39: --EXPECTF--
                     40: bool(false)
                     41: bool(false)
                     42: bool(false)
                     43: %string|unicode%(25) "Property a does not exist"
                     44: int(2)

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