php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /php-7.1.11/tests/classes/ |
files >> //php-7.1.11/tests/classes/__call_006.phpt |
--TEST-- Ensure exceptions are handled properly when thrown in __call. --FILE-- <?php class A { function __call($strMethod, $arrArgs) { var_dump($this); throw new Exception; echo "You should not see this"; } function test() { A::unknownCalledWithSRO(1,2,3); } } class B extends A { function test() { B::unknownCalledWithSROFromChild(1,2,3); } } $a = new A(); echo "---> Invoke __call via simple method call.\n"; try { $a->unknown(); } catch (Exception $e) { echo "Exception caught OK; continuing.\n"; } echo "\n\n---> Invoke __call via scope resolution operator within instance.\n"; try { $a->test(); } catch (Exception $e) { echo "Exception caught OK; continuing.\n"; } echo "\n\n---> Invoke __call via scope resolution operator within child instance.\n"; $b = new B(); try { $b->test(); } catch (Exception $e) { echo "Exception caught OK; continuing.\n"; } echo "\n\n---> Invoke __call via callback.\n"; try { call_user_func(array($b, 'unknownCallback'), 1,2,3); } catch (Exception $e) { echo "Exception caught OK; continuing.\n"; } ?> ==DONE== --EXPECTF-- ---> Invoke __call via simple method call. object(A)#%d (0) { } Exception caught OK; continuing. ---> Invoke __call via scope resolution operator within instance. object(A)#%d (0) { } Exception caught OK; continuing. ---> Invoke __call via scope resolution operator within child instance. object(B)#%d (0) { } Exception caught OK; continuing. ---> Invoke __call via callback. object(B)#%d (0) { } Exception caught OK; continuing. ==DONE==y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`