summaryrefslogtreecommitdiff
path: root/ext/reflection/tests/ReflectionClass_isInstantiable_basic.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/reflection/tests/ReflectionClass_isInstantiable_basic.phpt')
-rw-r--r--ext/reflection/tests/ReflectionClass_isInstantiable_basic.phpt40
1 files changed, 40 insertions, 0 deletions
diff --git a/ext/reflection/tests/ReflectionClass_isInstantiable_basic.phpt b/ext/reflection/tests/ReflectionClass_isInstantiable_basic.phpt
new file mode 100644
index 000000000..6ebcfa99a
--- /dev/null
+++ b/ext/reflection/tests/ReflectionClass_isInstantiable_basic.phpt
@@ -0,0 +1,40 @@
+--TEST--
+ReflectionClass::IsInstantiable()
+--FILE--
+<?php
+class C {
+}
+
+interface iface {
+ function f1();
+}
+
+class ifaceImpl implements iface {
+ function f1() {}
+}
+
+abstract class abstractClass {
+ function f1() {}
+ abstract function f2();
+}
+
+class D extends abstractClass {
+ function f2() {}
+}
+
+$classes = array("C", "iface", "ifaceImpl", "abstractClass", "D");
+
+foreach($classes as $class ) {
+ $reflectionClass = new ReflectionClass($class);
+ echo "Is $class instantiable? ";
+ var_dump($reflectionClass->IsInstantiable());
+
+}
+
+?>
+--EXPECTF--
+Is C instantiable? bool(true)
+Is iface instantiable? bool(false)
+Is ifaceImpl instantiable? bool(true)
+Is abstractClass instantiable? bool(false)
+Is D instantiable? bool(true)