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

1.1       misho       1: --TEST--
                      2: Bug #46064.2 (Exception when creating ReflectionProperty object on dynamicly created property)
                      3: --FILE--
                      4: <?php
                      5: 
                      6: class foo { 
                      7: }
                      8: 
                      9: $x = new foo;
                     10: $x->test = 2000;
                     11: 
                     12: 
                     13: $p = new ReflectionObject($x);
                     14: var_dump($p->getProperty('test'));
                     15: 
                     16: 
                     17: class bar {
                     18:        public function __construct() {
                     19:                $this->a = 1;
                     20:        }
                     21: }
                     22: 
                     23: class test extends bar {
                     24:        private $b = 2;
                     25: 
                     26:        public function __construct() {
                     27:                parent::__construct();
                     28:                
                     29:                $p = new reflectionobject($this);
                     30:                var_dump($h = $p->getProperty('a'));
                     31:                var_dump($h->isDefault(), $h->isProtected(), $h->isPrivate(), $h->isPublic(), $h->isStatic());
                     32:                var_dump($p->getProperties());
                     33:        }
                     34: }
                     35: 
                     36: new test;
                     37: 
                     38: ?>
                     39: ===DONE===
                     40: --EXPECTF--
                     41: object(ReflectionProperty)#%d (2) {
                     42:   ["name"]=>
                     43:   string(4) "test"
                     44:   ["class"]=>
                     45:   string(3) "foo"
                     46: }
                     47: object(ReflectionProperty)#%d (2) {
                     48:   ["name"]=>
                     49:   string(1) "a"
                     50:   ["class"]=>
                     51:   string(4) "test"
                     52: }
                     53: bool(false)
                     54: bool(false)
                     55: bool(false)
                     56: bool(true)
                     57: bool(false)
                     58: array(2) {
                     59:   [0]=>
                     60:   &object(ReflectionProperty)#%d (2) {
                     61:     ["name"]=>
                     62:     string(1) "b"
                     63:     ["class"]=>
                     64:     string(4) "test"
                     65:   }
                     66:   [1]=>
                     67:   &object(ReflectionProperty)#%d (2) {
                     68:     ["name"]=>
                     69:     string(1) "a"
                     70:     ["class"]=>
                     71:     string(4) "test"
                     72:   }
                     73: }
                     74: ===DONE===

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