Annotation of embedaddon/php/Zend/tests/bug29210.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #29210 (Function is_callable does not support private and protected methods)
3: --FILE--
4: <?php
5: class test_class {
6: private function test_func1() {
7: echo "test_func1\n";
8: }
9: protected function test_func2() {
10: echo "test_func2\n";
11: }
12: static private function test_func3() {
13: echo "test_func3\n";
14: }
15: static protected function test_func4() {
16: echo "test_func4\n";
17: }
18: function test() {
19: if (is_callable(array($this,'test_func1'))) {
20: $this->test_func1();
21: } else {
22: echo "test_func1 isn't callable from inside\n";
23: }
24: if (is_callable(array($this,'test_func2'))) {
25: $this->test_func2();
26: } else {
27: echo "test_func2 isn't callable from inside\n";
28: }
29: if (is_callable(array('test_class','test_func3'))) {
30: test_class::test_func3();
31: } else {
32: echo "test_func3 isn't callable from inside\n";
33: }
34: if (is_callable(array('test_class','test_func4'))) {
35: test_class::test_func4();
36: } else {
37: echo "test_func4 isn't callable from inside\n";
38: }
39: }
40: }
41:
42: class foo extends test_class {
43: function test() {
44: if (is_callable(array($this,'test_func1'))) {
45: $this->test_func1();
46: } else {
47: echo "test_func1 isn't callable from child\n";
48: }
49: if (is_callable(array($this,'test_func2'))) {
50: $this->test_func2();
51: } else {
52: echo "test_func2 isn't callable from child\n";
53: }
54: if (is_callable(array('test_class','test_func3'))) {
55: test_class::test_func3();
56: } else {
57: echo "test_func3 isn't callable from child\n";
58: }
59: if (is_callable(array('test_class','test_func4'))) {
60: test_class::test_func4();
61: } else {
62: echo "test_func4 isn't callable from child\n";
63: }
64: }
65: }
66:
67: $object = new test_class;
68: $object->test();
69: if (is_callable(array($object,'test_func1'))) {
70: $object->test_func1();
71: } else {
72: echo "test_func1 isn't callable from outside\n";
73: }
74: if (is_callable(array($object,'test_func2'))) {
75: $object->test_func2();
76: } else {
77: echo "test_func2 isn't callable from outside\n";
78: }
79: if (is_callable(array('test_class','test_func3'))) {
80: test_class::test_func3();
81: } else {
82: echo "test_func3 isn't callable from outside\n";
83: }
84: if (is_callable(array('test_class','test_func4'))) {
85: test_class::test_func4();
86: } else {
87: echo "test_func4 isn't callable from outside\n";
88: }
89: $object = new foo();
90: $object->test();
91: ?>
92: --EXPECTF--
93: test_func1
94: test_func2
95: test_func3
96: test_func4
97: test_func1 isn't callable from outside
98: test_func2 isn't callable from outside
99: test_func3 isn't callable from outside
100: test_func4 isn't callable from outside
101: test_func1 isn't callable from child
102: test_func2
103: test_func3 isn't callable from child
104: test_func4
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>