diff options
author | Dmitry Stogov <dmitry@php.net> | 2005-04-27 15:45:36 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2005-04-27 15:45:36 +0000 |
commit | c81db6bc5606425e4834a57afa9d06800b837b72 (patch) | |
tree | 5195286ae622b51d1f1a1bd9b62b8dcab4f628bc /Zend/tests/bug29210.phpt | |
parent | abb07db4c6359d15a0ab9d8c8735c5a93ac429a6 (diff) | |
download | php-git-c81db6bc5606425e4834a57afa9d06800b837b72.tar.gz |
Fixed bug #29210 (Function: is_callable - no support for private and protected classes)
Diffstat (limited to 'Zend/tests/bug29210.phpt')
-rw-r--r-- | Zend/tests/bug29210.phpt | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/Zend/tests/bug29210.phpt b/Zend/tests/bug29210.phpt new file mode 100644 index 0000000000..294685499c --- /dev/null +++ b/Zend/tests/bug29210.phpt @@ -0,0 +1,104 @@ +--TEST-- +Bug #29210 Function: is_callable - no support for private and protected classes +--FILE-- +<?php +class test_class { + private function test_func1() { + echo "test_func1\n"; + } + protected function test_func2() { + echo "test_func2\n"; + } + static private function test_func3() { + echo "test_func3\n"; + } + static protected function test_func4() { + echo "test_func4\n"; + } + function test() { + if (is_callable(array($this,'test_func1'))) { + $this->test_func1(); + } else { + echo "test_func1 isn't callable from inside\n"; + } + if (is_callable(array($this,'test_func2'))) { + $this->test_func2(); + } else { + echo "test_func2 isn't callable from inside\n"; + } + if (is_callable(array('test_class','test_func3'))) { + test_class::test_func3(); + } else { + echo "test_func3 isn't callable from inside\n"; + } + if (is_callable(array('test_class','test_func4'))) { + test_class::test_func4(); + } else { + echo "test_func4 isn't callable from inside\n"; + } + } +} + +class foo extends test_class { + function test() { + if (is_callable(array($this,'test_func1'))) { + $this->test_func1(); + } else { + echo "test_func1 isn't callable from child\n"; + } + if (is_callable(array($this,'test_func2'))) { + $this->test_func2(); + } else { + echo "test_func2 isn't callable from child\n"; + } + if (is_callable(array('test_class','test_func3'))) { + test_class::test_func3(); + } else { + echo "test_func3 isn't callable from child\n"; + } + if (is_callable(array('test_class','test_func4'))) { + test_class::test_func4(); + } else { + echo "test_func4 isn't callable from child\n"; + } + } +} + +$object = new test_class; +$object->test(); +if (is_callable(array($object,'test_func1'))) { + $object->test_func1(); +} else { + echo "test_func1 isn't callable from outside\n"; +} +if (is_callable(array($object,'test_func2'))) { + $object->test_func2(); +} else { + echo "test_func2 isn't callable from outside\n"; +} +if (is_callable(array('test_class','test_func3'))) { + test_class::test_func3(); +} else { + echo "test_func3 isn't callable from outside\n"; +} +if (is_callable(array('test_class','test_func4'))) { + test_class::test_func4(); +} else { + echo "test_func4 isn't callable from outside\n"; +} +$object = new foo(); +$object->test(); +?> +--EXPECT-- +test_func1 +test_func2 +test_func3 +test_func4 +test_func1 isn't callable from outside +test_func2 isn't callable from outside +test_func3 isn't callable from outside +test_func4 isn't callable from outside +test_func1 isn't callable from child +test_func2 +test_func3 isn't callable from child +test_func4 |