summaryrefslogtreecommitdiff
path: root/ext/reflection/tests/closures_002.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/reflection/tests/closures_002.phpt')
-rw-r--r--ext/reflection/tests/closures_002.phpt29
1 files changed, 29 insertions, 0 deletions
diff --git a/ext/reflection/tests/closures_002.phpt b/ext/reflection/tests/closures_002.phpt
new file mode 100644
index 0000000..e8b080f
--- /dev/null
+++ b/ext/reflection/tests/closures_002.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Reflection on invokable objects
+--FILE--
+<?php
+
+class Test {
+ function __invoke($a, $b = 0) { }
+}
+
+$rm = new ReflectionMethod(new Test, '__invoke');
+var_dump($rm->getName());
+var_dump($rm->getNumberOfParameters());
+var_dump($rm->getNumberOfRequiredParameters());
+
+$rp = new ReflectionParameter(array(new Test, '__invoke'), 0);
+var_dump($rp->isOptional());
+
+$rp = new ReflectionParameter(array(new Test, '__invoke'), 1);
+var_dump($rp->isOptional());
+
+?>
+===DONE===
+--EXPECTF--
+string(8) "__invoke"
+int(2)
+int(1)
+bool(false)
+bool(true)
+===DONE===