Annotation of embedaddon/php/tests/classes/__call_006.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Ensure exceptions are handled properly when thrown in __call.  
                      3: --FILE--
                      4: <?php
                      5: class A {
                      6:        function __call($strMethod, $arrArgs) {
                      7:                var_dump($this);
                      8:                throw new Exception;
                      9:                echo "You should not see this";
                     10:        }
                     11:        function test() {
                     12:                A::unknownCalledWithSRO(1,2,3);
                     13:        }
                     14: }
                     15: 
                     16: class B extends A {
                     17:        function test() {
                     18:                B::unknownCalledWithSROFromChild(1,2,3);
                     19:        }
                     20: }
                     21: 
                     22: $a = new A();
                     23: 
                     24: echo "---> Invoke __call via simple method call.\n";
                     25: try {
                     26:        $a->unknown();
                     27: } catch (Exception $e) {
                     28:        echo "Exception caught OK; continuing.\n";
                     29: }
                     30: 
                     31: echo "\n\n---> Invoke __call via scope resolution operator within instance.\n";
                     32: try {
                     33:        $a->test();
                     34: } catch (Exception $e) {
                     35:        echo "Exception caught OK; continuing.\n";
                     36: }
                     37: 
                     38: echo "\n\n---> Invoke __call via scope resolution operator within child instance.\n";
                     39: $b = new B();
                     40: try {
                     41:        $b->test();
                     42: } catch (Exception $e) {
                     43:        echo "Exception caught OK; continuing.\n";
                     44: }
                     45: 
                     46: echo "\n\n---> Invoke __call via callback.\n";
                     47: try {
                     48:        call_user_func(array($b, 'unknownCallback'), 1,2,3);
                     49: } catch (Exception $e) {
                     50:        echo "Exception caught OK; continuing.\n";
                     51: }
                     52: ?>
                     53: ==DONE==
                     54: --EXPECTF--
                     55: ---> Invoke __call via simple method call.
                     56: object(A)#%d (0) {
                     57: }
                     58: Exception caught OK; continuing.
                     59: 
                     60: 
                     61: ---> Invoke __call via scope resolution operator within instance.
                     62: object(A)#%d (0) {
                     63: }
                     64: Exception caught OK; continuing.
                     65: 
                     66: 
                     67: ---> Invoke __call via scope resolution operator within child instance.
                     68: object(B)#%d (0) {
                     69: }
                     70: Exception caught OK; continuing.
                     71: 
                     72: 
                     73: ---> Invoke __call via callback.
                     74: object(B)#%d (0) {
                     75: }
                     76: Exception caught OK; continuing.
                     77: ==DONE==

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