Annotation of embedaddon/php/tests/lang/bug21961.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #21961 (get_parent_class() segfault)
                      3: --SKIPIF--
                      4: <?php if (version_compare(zend_version(),'2.0.0-dev','<')) die('skip prepared for ZE2'); ?>
                      5: --FILE--
                      6: <?php
                      7: 
                      8: class man
                      9: {
                     10:        public $name, $bars;
                     11:        function man()
                     12:        {
                     13:                $this->name = 'Mr. X';
                     14:                $this->bars = array();
                     15:        }
                     16: 
                     17:        function getdrunk($where)
                     18:        {
                     19:                $this->bars[] = new bar($where);
                     20:        }
                     21: 
                     22:        function getName()
                     23:        {
                     24:                return $this->name;
                     25:        }
                     26: }
                     27: 
                     28: class bar extends man
                     29: {
                     30:        public $name;
                     31: 
                     32:        function bar($w)
                     33:        {
                     34:                $this->name = $w;
                     35:        }
                     36: 
                     37:        function getName()
                     38:        {
                     39:                return $this->name;
                     40:        }
                     41: 
                     42:        function whosdrunk()
                     43:        {
                     44:                $who = get_parent_class($this);
                     45:                if($who == NULL)
                     46:                {
                     47:                        return 'nobody';
                     48:                }
                     49:                return eval("return ".$who.'::getName();');
                     50:        }
                     51: }
                     52: 
                     53: $x = new man;
                     54: $x->getdrunk('The old Tavern');
                     55: var_dump($x->bars[0]->whosdrunk());
                     56: ?>
                     57: --EXPECT--
                     58: string(14) "The old Tavern"

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