summaryrefslogtreecommitdiff
path: root/ext/reflection/tests/ReflectionClass_getProperty_001.phpt
diff options
context:
space:
mode:
authorAnt Phillips <ant@php.net>2008-11-18 15:37:57 +0000
committerAnt Phillips <ant@php.net>2008-11-18 15:37:57 +0000
commitddb2c0584149313d80fbec89f01264338b0073b7 (patch)
treef5251b8af450d59bf19ce6de2d7a7cdd5dd78a10 /ext/reflection/tests/ReflectionClass_getProperty_001.phpt
parentf305ddbe537005997dccc00e9057de42a76cf631 (diff)
downloadphp-git-ddb2c0584149313d80fbec89f01264338b0073b7.tar.gz
Reflection tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit).
Diffstat (limited to 'ext/reflection/tests/ReflectionClass_getProperty_001.phpt')
-rw-r--r--ext/reflection/tests/ReflectionClass_getProperty_001.phpt147
1 files changed, 147 insertions, 0 deletions
diff --git a/ext/reflection/tests/ReflectionClass_getProperty_001.phpt b/ext/reflection/tests/ReflectionClass_getProperty_001.phpt
new file mode 100644
index 0000000000..c4c0a914f9
--- /dev/null
+++ b/ext/reflection/tests/ReflectionClass_getProperty_001.phpt
@@ -0,0 +1,147 @@
+--TEST--
+ReflectionClass::getProperty()
+--CREDITS--
+Robin Fernandes <robinf@php.net>
+Steve Seear <stevseea@php.net>
+--XFAIL--
+--FILE--
+<?php
+class pubf {
+ public $a;
+ static public $s;
+}
+class subpubf extends pubf {
+}
+
+class protf {
+ protected $a;
+ static protected $s;
+}
+class subprotf extends protf {
+}
+
+class privf {
+ private $a;
+ static protected $s;
+}
+class subprivf extends privf {
+}
+
+$classes = array("pubf", "subpubf", "protf", "subprotf",
+ "privf", "subprivf");
+foreach($classes as $class) {
+ echo "Reflecting on class $class: \n";
+ $rc = new ReflectionClass($class);
+ try {
+ echo " --> Check for s: ";
+ var_dump($rc->getProperty("s"));
+ } catch (exception $e) {
+ echo $e->getMessage() . "\n";
+ }
+ try {
+ echo " --> Check for a: ";
+ var_dump($rc->getProperty("a"));
+ } catch (exception $e) {
+ echo $e->getMessage() . "\n";
+ }
+ try {
+ echo " --> Check for A: ";
+ var_dump($rc->getProperty("A"));
+ } catch (exception $e) {
+ echo $e->getMessage() . "\n";
+ }
+ try {
+ echo " --> Check for doesntExist: ";
+ var_dump($rc->getProperty("doesntExist"));
+ } catch (exception $e) {
+ echo $e->getMessage() . "\n";
+ }
+
+}
+?>
+--EXPECTF--
+Reflecting on class pubf:
+ --> Check for s: object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(1) "s"
+ [u"class"]=>
+ unicode(4) "pubf"
+}
+ --> Check for a: object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(1) "a"
+ [u"class"]=>
+ unicode(4) "pubf"
+}
+ --> Check for A: Property A does not exist
+ --> Check for doesntExist: Property doesntExist does not exist
+Reflecting on class subpubf:
+ --> Check for s: object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(1) "s"
+ [u"class"]=>
+ unicode(7) "subpubf"
+}
+ --> Check for a: object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(1) "a"
+ [u"class"]=>
+ unicode(7) "subpubf"
+}
+ --> Check for A: Property A does not exist
+ --> Check for doesntExist: Property doesntExist does not exist
+Reflecting on class protf:
+ --> Check for s: object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(1) "s"
+ [u"class"]=>
+ unicode(5) "protf"
+}
+ --> Check for a: object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(1) "a"
+ [u"class"]=>
+ unicode(5) "protf"
+}
+ --> Check for A: Property A does not exist
+ --> Check for doesntExist: Property doesntExist does not exist
+Reflecting on class subprotf:
+ --> Check for s: object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(1) "s"
+ [u"class"]=>
+ unicode(8) "subprotf"
+}
+ --> Check for a: object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(1) "a"
+ [u"class"]=>
+ unicode(8) "subprotf"
+}
+ --> Check for A: Property A does not exist
+ --> Check for doesntExist: Property doesntExist does not exist
+Reflecting on class privf:
+ --> Check for s: object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(1) "s"
+ [u"class"]=>
+ unicode(5) "privf"
+}
+ --> Check for a: object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(1) "a"
+ [u"class"]=>
+ unicode(5) "privf"
+}
+ --> Check for A: Property A does not exist
+ --> Check for doesntExist: Property doesntExist does not exist
+Reflecting on class subprivf:
+ --> Check for s: object(ReflectionProperty)#%d (2) {
+ [u"name"]=>
+ unicode(1) "s"
+ [u"class"]=>
+ unicode(8) "subprivf"
+}
+ --> Check for a: Property a does not exist
+ --> Check for A: Property A does not exist
+ --> Check for doesntExist: Property doesntExist does not exist \ No newline at end of file