Annotation of embedaddon/php/tests/classes/__call_004.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: When __call() is invoked via ::, ensure current scope's __call() is favoured over the specified class's __call().
! 3: --FILE--
! 4: <?php
! 5: class A {
! 6: function __call($strMethod, $arrArgs) {
! 7: echo "In " . __METHOD__ . "($strMethod, array(" . implode(',',$arrArgs) . "))\n";
! 8: var_dump($this);
! 9: }
! 10: }
! 11:
! 12: class B extends A {
! 13: function __call($strMethod, $arrArgs) {
! 14: echo "In " . __METHOD__ . "($strMethod, array(" . implode(',',$arrArgs) . "))\n";
! 15: var_dump($this);
! 16: }
! 17:
! 18: function test() {
! 19: A::test1(1,'a');
! 20: B::test2(1,'a');
! 21: self::test3(1,'a');
! 22: parent::test4(1,'a');
! 23: }
! 24: }
! 25:
! 26: $b = new B();
! 27: $b->test();
! 28: ?>
! 29: --EXPECTF--
! 30: In B::__call(test1, array(1,a))
! 31: object(B)#1 (0) {
! 32: }
! 33: In B::__call(test2, array(1,a))
! 34: object(B)#1 (0) {
! 35: }
! 36: In B::__call(test3, array(1,a))
! 37: object(B)#1 (0) {
! 38: }
! 39: In B::__call(test4, array(1,a))
! 40: object(B)#1 (0) {
! 41: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>