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/ext/reflection/tests/ |
files >> //php-7.1.11/ext/reflection/tests/ReflectionMethod_getClosure_error.phpt |
--TEST-- Test ReflectionMethod::getClosure() function : error functionality --FILE-- <?php /* Prototype : public mixed ReflectionFunction::getClosure() * Description: Returns a dynamically created closure for the method * Source code: ext/reflection/php_reflection.c * Alias to functions: */ echo "*** Testing ReflectionMethod::getClosure() : error conditions ***\n"; class StaticExample { static function foo() { var_dump( "Static Example class, Hello World!" ); } } class Example { public $bar = 42; public function foo() { var_dump( "Example class, bar: " . $this->bar ); } } // Initialize classes $class = new ReflectionClass( 'Example' ); $staticclass = new ReflectionClass( 'StaticExample' ); $method = $class->getMethod( 'foo' ); $staticmethod = $staticclass->getMethod( 'foo' ); $object = new Example(); $fakeobj = new StdClass(); echo "\n-- Testing ReflectionMethod::getClosure() function with more than expected no. of arguments --\n"; var_dump( $staticmethod->getClosure( 'foobar' ) ); var_dump( $staticmethod->getClosure( 'foo', 'bar' ) ); var_dump( $method->getClosure( $object, 'foobar' ) ); echo "\n-- Testing ReflectionMethod::getClosure() function with Zero arguments --\n"; $closure = $method->getClosure(); echo "\n-- Testing ReflectionMethod::getClosure() function with Zero arguments --\n"; try { var_dump( $method->getClosure( $fakeobj ) ); } catch( Exception $e ) { var_dump( $e->getMessage() ); } ?> ===DONE=== --EXPECTF-- *** Testing ReflectionMethod::getClosure() : error conditions *** -- Testing ReflectionMethod::getClosure() function with more than expected no. of arguments -- object(Closure)#%d (0) { } object(Closure)#%d (0) { } Warning: ReflectionMethod::getClosure() expects exactly 1 parameter, 2 given in %s on line %d NULL -- Testing ReflectionMethod::getClosure() function with Zero arguments -- Warning: ReflectionMethod::getClosure() expects exactly 1 parameter, 0 given in %s on line %d -- Testing ReflectionMethod::getClosure() function with Zero arguments -- string(72) "Given object is not an instance of the class this method was declared in" ===DONE===y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`