felipe Sun, 19 Jul 2009 03:25:49 +0000 URL: http://svn.php.net/viewvc?view=revision&revision=284344 http://bugs.php.net/48770
Changed paths: A php/php-src/branches/PHP_5_2/Zend/tests/bug48770.phpt A php/php-src/branches/PHP_5_3/Zend/tests/bug48770.phpt A php/php-src/branches/PHP_5_3/Zend/tests/bug48770_2.phpt A php/php-src/trunk/Zend/tests/bug48770.phpt A php/php-src/trunk/Zend/tests/bug48770_2.phpt Log: - Tests related to bug #48770
Added: php/php-src/branches/PHP_5_2/Zend/tests/bug48770.phpt =================================================================== --- php/php-src/branches/PHP_5_2/Zend/tests/bug48770.phpt (rev 0) +++ php/php-src/branches/PHP_5_2/Zend/tests/bug48770.phpt 2009-07-19 03:25:49 UTC (rev 284344) @@ -0,0 +1,51 @@ +--TEST-- +Bug #48770 (call_user_func_array() fails to call parent from inheriting class) +--FILE-- +<?php + +class A { + public function func($str) { + var_dump(__METHOD__ .': '. $str); + } + private function func2($str) { + var_dump(__METHOD__ .': '. $str); + } + protected function func3($str) { + var_dump(__METHOD__ .': '. $str); + } + private function func22($str) { + var_dump(__METHOD__ .': '. $str); + } +} + +class B extends A { + public function func($str) { + static $avoid_crash = 0; + + if ($avoid_crash++ == 1) { + print "This method shouldn't be called when using parent::func!\n"; + return; + } + + call_user_func_array(array($this, 'parent::func'), array($str)); + } + private function func2($str) { + var_dump(__METHOD__ .': '. $str); + } + protected function func3($str) { + var_dump(__METHOD__ .': '. $str); + } +} + +class C extends B { + public function func($str) { + parent::func($str); + } +} + +$c = new C; +$c->func('This should work!'); + +?> +--EXPECTF-- +%unicode|string%(26) "A::func: This should work!" Property changes on: php/php-src/branches/PHP_5_2/Zend/tests/bug48770.phpt ___________________________________________________________________ Added: svn:keywords + Id Rev Revision Added: svn:eol-style + native Added: php/php-src/branches/PHP_5_3/Zend/tests/bug48770.phpt =================================================================== --- php/php-src/branches/PHP_5_3/Zend/tests/bug48770.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/Zend/tests/bug48770.phpt 2009-07-19 03:25:49 UTC (rev 284344) @@ -0,0 +1,53 @@ +--TEST-- +Bug #48770 (call_user_func_array() fails to call parent from inheriting class) +--XFAIL-- +See Bug #48770 +--FILE-- +<?php + +class A { + public function func($str) { + var_dump(__METHOD__ .': '. $str); + } + private function func2($str) { + var_dump(__METHOD__ .': '. $str); + } + protected function func3($str) { + var_dump(__METHOD__ .': '. $str); + } + private function func22($str) { + var_dump(__METHOD__ .': '. $str); + } +} + +class B extends A { + public function func($str) { + static $avoid_crash = 0; + + if ($avoid_crash++ == 1) { + print "This method shouldn't be called when using parent::func!\n"; + return; + } + + call_user_func_array(array($this, 'parent::func'), array($str)); + } + private function func2($str) { + var_dump(__METHOD__ .': '. $str); + } + protected function func3($str) { + var_dump(__METHOD__ .': '. $str); + } +} + +class C extends B { + public function func($str) { + parent::func($str); + } +} + +$c = new C; +$c->func('This should work!'); + +?> +--EXPECTF-- +%unicode|string%(26) "A::func: This should work!" Property changes on: php/php-src/branches/PHP_5_3/Zend/tests/bug48770.phpt ___________________________________________________________________ Added: svn:keywords + Id Rev Revision Added: svn:eol-style + native Added: php/php-src/branches/PHP_5_3/Zend/tests/bug48770_2.phpt =================================================================== --- php/php-src/branches/PHP_5_3/Zend/tests/bug48770_2.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/Zend/tests/bug48770_2.phpt 2009-07-19 03:25:49 UTC (rev 284344) @@ -0,0 +1,54 @@ +--TEST-- +Bug #48770 (call_user_func_array() fails to call parent from inheriting class) +--XFAIL-- +See Bug #48770 +--FILE-- +<?php + +class A { + public function func($str) { + var_dump(__METHOD__ .': '. $str); + } + private function func2($str) { + var_dump(__METHOD__ .': '. $str); + } + protected function func3($str) { + var_dump(__METHOD__ .': '. $str); + } + private function func22($str) { + var_dump(__METHOD__ .': '. $str); + } +} + +class B extends A { + public function func($str) { + call_user_func_array(array($this, 'parent::func2'), array($str)); + call_user_func_array(array($this, 'parent::func3'), array($str)); + call_user_func_array(array($this, 'parent::func22'), array($str)); + call_user_func_array(array($this, 'parent::inexistent'), array($str)); + } + private function func2($str) { + var_dump(__METHOD__ .': '. $str); + } + protected function func3($str) { + var_dump(__METHOD__ .': '. $str); + } +} + +class C extends B { + public function func($str) { + parent::func($str); + } +} + +$c = new C; +$c->func('This should work!'); + +?> +--EXPECTF-- +%unicode|string%(27) "A::func2: This should work!" +%unicode|string%(27) "A::func3: This should work!" + +Warning: call_user_func_array() expects parameter 1 to be a valid callback, cannot access private method A::func22() in %s on line %d + +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 Property changes on: php/php-src/branches/PHP_5_3/Zend/tests/bug48770_2.phpt ___________________________________________________________________ Added: svn:keywords + Id Rev Revision Added: svn:eol-style + native Added: php/php-src/trunk/Zend/tests/bug48770.phpt =================================================================== --- php/php-src/trunk/Zend/tests/bug48770.phpt (rev 0) +++ php/php-src/trunk/Zend/tests/bug48770.phpt 2009-07-19 03:25:49 UTC (rev 284344) @@ -0,0 +1,53 @@ +--TEST-- +Bug #48770 (call_user_func_array() fails to call parent from inheriting class) +--XFAIL-- +See Bug #48770 +--FILE-- +<?php + +class A { + public function func($str) { + var_dump(__METHOD__ .': '. $str); + } + private function func2($str) { + var_dump(__METHOD__ .': '. $str); + } + protected function func3($str) { + var_dump(__METHOD__ .': '. $str); + } + private function func22($str) { + var_dump(__METHOD__ .': '. $str); + } +} + +class B extends A { + public function func($str) { + static $avoid_crash = 0; + + if ($avoid_crash++ == 1) { + print "This method shouldn't be called when using parent::func!\n"; + return; + } + + call_user_func_array(array($this, 'parent::func'), array($str)); + } + private function func2($str) { + var_dump(__METHOD__ .': '. $str); + } + protected function func3($str) { + var_dump(__METHOD__ .': '. $str); + } +} + +class C extends B { + public function func($str) { + parent::func($str); + } +} + +$c = new C; +$c->func('This should work!'); + +?> +--EXPECTF-- +%unicode|string%(26) "A::func: This should work!" Property changes on: php/php-src/trunk/Zend/tests/bug48770.phpt ___________________________________________________________________ Added: svn:keywords + Id Rev Revision Added: svn:eol-style + native Added: php/php-src/trunk/Zend/tests/bug48770_2.phpt =================================================================== --- php/php-src/trunk/Zend/tests/bug48770_2.phpt (rev 0) +++ php/php-src/trunk/Zend/tests/bug48770_2.phpt 2009-07-19 03:25:49 UTC (rev 284344) @@ -0,0 +1,54 @@ +--TEST-- +Bug #48770 (call_user_func_array() fails to call parent from inheriting class) +--XFAIL-- +See Bug #48770 +--FILE-- +<?php + +class A { + public function func($str) { + var_dump(__METHOD__ .': '. $str); + } + private function func2($str) { + var_dump(__METHOD__ .': '. $str); + } + protected function func3($str) { + var_dump(__METHOD__ .': '. $str); + } + private function func22($str) { + var_dump(__METHOD__ .': '. $str); + } +} + +class B extends A { + public function func($str) { + call_user_func_array(array($this, 'parent::func2'), array($str)); + call_user_func_array(array($this, 'parent::func3'), array($str)); + call_user_func_array(array($this, 'parent::func22'), array($str)); + call_user_func_array(array($this, 'parent::inexistent'), array($str)); + } + private function func2($str) { + var_dump(__METHOD__ .': '. $str); + } + protected function func3($str) { + var_dump(__METHOD__ .': '. $str); + } +} + +class C extends B { + public function func($str) { + parent::func($str); + } +} + +$c = new C; +$c->func('This should work!'); + +?> +--EXPECTF-- +%unicode|string%(27) "A::func2: This should work!" +%unicode|string%(27) "A::func3: This should work!" + +Warning: call_user_func_array() expects parameter 1 to be a valid callback, cannot access private method A::func22() in %s on line %d + +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 Property changes on: php/php-src/trunk/Zend/tests/bug48770_2.phpt ___________________________________________________________________ Added: svn:keywords + Id Rev Revision Added: svn:eol-style + native
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php