diff options
Diffstat (limited to 'Zend/tests')
-rwxr-xr-x | Zend/tests/methods-on-non-objects-nested-calls-dyn.phpt | 33 | ||||
-rw-r--r-- | Zend/tests/methods-on-non-objects-nested-calls.phpt | 10 |
2 files changed, 33 insertions, 10 deletions
diff --git a/Zend/tests/methods-on-non-objects-nested-calls-dyn.phpt b/Zend/tests/methods-on-non-objects-nested-calls-dyn.phpt new file mode 100755 index 0000000000..56819e05d2 --- /dev/null +++ b/Zend/tests/methods-on-non-objects-nested-calls-dyn.phpt @@ -0,0 +1,33 @@ +--TEST-- +Catch method calls on non-objects with nested dynamic calls +--FILE-- +<?php +function nested() { + throw new LogicException('Should not be called'); +} +set_error_handler(function($code, $message) { + static $i= 0; + echo 'Called #'.(++$i)."\n"; +}); + +$x= null; + +$closure= function() { return nested(); }; +var_dump($x->method($closure())); + +$lambda= create_function('', 'return nested();'); +var_dump($x->method($lambda())); + +$func= 'nested'; +var_dump($x->method($func())); + +echo "Alive\n"; +?> +--EXPECTF-- +Called #1 +NULL +Called #2 +NULL +Called #3 +NULL +Alive diff --git a/Zend/tests/methods-on-non-objects-nested-calls.phpt b/Zend/tests/methods-on-non-objects-nested-calls.phpt index c92b0cb034..e1fee5153d 100644 --- a/Zend/tests/methods-on-non-objects-nested-calls.phpt +++ b/Zend/tests/methods-on-non-objects-nested-calls.phpt @@ -11,8 +11,6 @@ set_error_handler(function($code, $message) { }); $x= null; -$ref= 'nested'; -$func= function() { return nested(); }; var_dump($x->method(nested())); var_dump($x->method(nested(), nested())); var_dump($x->method(nested(nested()))); @@ -22,8 +20,6 @@ var_dump($x->method($x->nested(nested()))); var_dump($x->method($x->nested($x->deep()))); var_dump($x->method($x->nested(nested($x->deep())))); var_dump($x->method(nested(nested($x->nested())))); -var_dump($x->method($ref())); -var_dump($x->method($func())); echo "Alive\n"; ?> --EXPECTF-- @@ -45,10 +41,4 @@ Called #8 NULL Called #9 NULL -Called #10 -NULL -Called #11 -NULL -Called #12 -NULL Alive |