summaryrefslogtreecommitdiff
path: root/ext/reflection/tests/ReflectionObject_isInstance_basic.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/reflection/tests/ReflectionObject_isInstance_basic.phpt')
-rw-r--r--ext/reflection/tests/ReflectionObject_isInstance_basic.phpt33
1 files changed, 33 insertions, 0 deletions
diff --git a/ext/reflection/tests/ReflectionObject_isInstance_basic.phpt b/ext/reflection/tests/ReflectionObject_isInstance_basic.phpt
new file mode 100644
index 0000000..ef605aa
--- /dev/null
+++ b/ext/reflection/tests/ReflectionObject_isInstance_basic.phpt
@@ -0,0 +1,33 @@
+--TEST--
+ReflectionObject::isInstance() - basic function test
+--FILE--
+<?php
+class A {}
+class B extends A {}
+class X {}
+
+$classes = array("A", "B", "X");
+
+$instances = array( "myA" => new A,
+ "myB" => new B,
+ "myX" => new X );
+
+foreach ($classes as $class) {
+ $ro = new ReflectionObject(new $class);
+ foreach ($instances as $name => $instance) {
+ echo "is $name a $class? ";
+ var_dump($ro->isInstance($instance));
+ }
+}
+
+?>
+--EXPECTF--
+is myA a A? bool(true)
+is myB a A? bool(true)
+is myX a A? bool(false)
+is myA a B? bool(false)
+is myB a B? bool(true)
+is myX a B? bool(false)
+is myA a X? bool(false)
+is myB a X? bool(false)
+is myX a X? bool(true)