summaryrefslogtreecommitdiff
path: root/ext/reflection/tests/ReflectionProperty_constructor_error.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/reflection/tests/ReflectionProperty_constructor_error.phpt')
-rw-r--r--ext/reflection/tests/ReflectionProperty_constructor_error.phpt44
1 files changed, 44 insertions, 0 deletions
diff --git a/ext/reflection/tests/ReflectionProperty_constructor_error.phpt b/ext/reflection/tests/ReflectionProperty_constructor_error.phpt
new file mode 100644
index 000000000..38a34681d
--- /dev/null
+++ b/ext/reflection/tests/ReflectionProperty_constructor_error.phpt
@@ -0,0 +1,44 @@
+--TEST--
+Test ReflectionProperty class constructor errors.
+--FILE--
+<?php
+
+class TestClass {
+}
+
+$a = 5;
+
+echo "Non-existent class:\n";
+try {
+ $propInfo = new ReflectionProperty("NonExistentClass", "prop");
+}
+catch(Exception $e) {
+ echo $e->getMessage();
+}
+
+echo "\n\nWrong property parameter type:\n";
+try {
+ $propInfo = new ReflectionProperty($a, 'TestClass');
+}
+catch(ReflectionException $e) {
+ echo $e->getMessage();
+}
+
+echo "\n\nNon-existent property:\n";
+try {
+ $propInfo = new ReflectionProperty('TestClass', "nonExistentProperty");
+}
+catch(Exception $e) {
+ echo $e->getMessage();
+}
+
+?>
+--EXPECT--
+Non-existent class:
+Class NonExistentClass does not exist
+
+Wrong property parameter type:
+The parameter class is expected to be either a string or an object
+
+Non-existent property:
+Property TestClass::$nonExistentProperty does not exist