Annotation of embedaddon/php/Zend/tests/bug48770.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #48770 (call_user_func_array() fails to call parent from inheriting class)
                      3: --XFAIL--
                      4: See Bug #48770
                      5: --FILE--
                      6: <?php
                      7:  
                      8: class A {
                      9:        public function func($str) {
                     10:                var_dump(__METHOD__ .': '. $str);
                     11:        }
                     12:        private function func2($str) {
                     13:                var_dump(__METHOD__ .': '. $str);
                     14:        }
                     15:        protected function func3($str) {
                     16:                var_dump(__METHOD__ .': '. $str);               
                     17:        }
                     18:        private function func22($str) {
                     19:                var_dump(__METHOD__ .': '. $str);               
                     20:        }
                     21: }
                     22: 
                     23: class B extends A {
                     24:        public function func($str) {
                     25:                static $avoid_crash = 0;
                     26:                
                     27:                if ($avoid_crash++ == 1) {
                     28:                        print "This method shouldn't be called when using parent::func!\n";
                     29:                        return;
                     30:                }
                     31:                                
                     32:                call_user_func_array(array($this, 'parent::func'), array($str));
                     33:        }
                     34:        private function func2($str) {
                     35:                var_dump(__METHOD__ .': '. $str);
                     36:        }
                     37:        protected function func3($str) {
                     38:                var_dump(__METHOD__ .': '. $str);
                     39:        }
                     40: }
                     41: 
                     42: class C extends B {
                     43:        public function func($str) {
                     44:                parent::func($str);
                     45:        }
                     46: }
                     47: 
                     48: $c = new C;
                     49: $c->func('This should work!');
                     50: 
                     51: ?>
                     52: --EXPECTF--
                     53: %unicode|string%(26) "A::func: This should work!"

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