Annotation of embedaddon/php/tests/classes/__call_005.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: When __call() is invoked via ::, ensure private implementation of __call() in superclass is accessed without error. 
        !             3: --FILE--
        !             4: <?php
        !             5: class A {
        !             6:        private 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 test() {
        !            14:                A::test1(1,'a');
        !            15:                B::test2(1,'a');
        !            16:                self::test3(1,'a');
        !            17:                parent::test4(1,'a');
        !            18:        }
        !            19: }
        !            20: 
        !            21: $b = new B();
        !            22: $b->test();
        !            23: ?>
        !            24: --EXPECTF--
        !            25: Warning: The magic method __call() must have public visibility and cannot be static in %s__call_005.php on line 3
        !            26: In A::__call(test1, array(1,a))
        !            27: object(B)#1 (0) {
        !            28: }
        !            29: In A::__call(test2, array(1,a))
        !            30: object(B)#1 (0) {
        !            31: }
        !            32: In A::__call(test3, array(1,a))
        !            33: object(B)#1 (0) {
        !            34: }
        !            35: In A::__call(test4, array(1,a))
        !            36: object(B)#1 (0) {
        !            37: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>