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