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>