Annotation of embedaddon/php/tests/classes/__call_005.phpt, revision 1.1.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>