summaryrefslogtreecommitdiff
path: root/Zend/tests/closure_027.phpt
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /Zend/tests/closure_027.phpt
downloadphp2-master.tar.gz
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'Zend/tests/closure_027.phpt')
-rw-r--r--Zend/tests/closure_027.phpt31
1 files changed, 31 insertions, 0 deletions
diff --git a/Zend/tests/closure_027.phpt b/Zend/tests/closure_027.phpt
new file mode 100644
index 0000000..f26e114
--- /dev/null
+++ b/Zend/tests/closure_027.phpt
@@ -0,0 +1,31 @@
+--TEST--
+Closure 027: Testing Closure type-hint
+--FILE--
+<?php
+
+function test(closure $a) {
+ var_dump($a());
+}
+
+
+test(function() { return new stdclass; });
+
+test(function() { });
+
+$a = function($x) use ($y) {};
+test($a);
+
+test(new stdclass);
+
+?>
+--EXPECTF--
+object(stdClass)#%d (0) {
+}
+NULL
+
+Notice: Undefined variable: y in %s on line %d
+
+Warning: Missing argument 1 for {closure}(), called in %s on line %d and defined in %s on line %d
+NULL
+
+Catchable fatal error: Argument 1 passed to test() must be an instance of Closure, instance of stdClass given, called in %s on line %d and defined in %s on line %d