Annotation of embedaddon/php/Zend/tests/bug48770_3.phpt, revision 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: call_user_func_array(array($this, 'self::func2'), array($str));
! 26: call_user_func_array(array($this, 'self::func3'), array($str));
! 27: call_user_func_array(array($this, 'self::inexistent'), array($str));
! 28: }
! 29: private function func2($str) {
! 30: var_dump(__METHOD__ .': '. $str);
! 31: }
! 32: protected function func3($str) {
! 33: var_dump(__METHOD__ .': '. $str);
! 34: }
! 35: }
! 36:
! 37: class C extends B {
! 38: public function func($str) {
! 39: parent::func($str);
! 40: }
! 41: }
! 42:
! 43: $c = new C;
! 44: $c->func('This should work!');
! 45:
! 46: ?>
! 47: --EXPECTF--
! 48: %unicode|string%(27) "B::func2: This should work!"
! 49: %unicode|string%(27) "B::func3: This should work!"
! 50:
! 51: Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'B' does not have a method 'inexistent' in %s on line %d
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>