Annotation of embedaddon/php/tests/lang/bug21961.phpt, revision 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>