summaryrefslogtreecommitdiff
path: root/ext/reflection/tests/traits004.phpt
diff options
context:
space:
mode:
authorJohannes Schlüter <johannes@php.net>2010-05-30 01:00:45 +0000
committerJohannes Schlüter <johannes@php.net>2010-05-30 01:00:45 +0000
commit4158f7e1221ef5b69e8ba0aadd547a6ee2baa827 (patch)
tree3f97bc78d8b4af792271cf4e152d1ebfad951ba7 /ext/reflection/tests/traits004.phpt
parent2d63683ec3effbddd1a4a6ed5234822a58455198 (diff)
downloadphp-git-4158f7e1221ef5b69e8ba0aadd547a6ee2baa827.tar.gz
- More trait reflection work
#- I'm not happy about ReflectionClass::getTraitAliases, yet
Diffstat (limited to 'ext/reflection/tests/traits004.phpt')
-rw-r--r--ext/reflection/tests/traits004.phpt58
1 files changed, 58 insertions, 0 deletions
diff --git a/ext/reflection/tests/traits004.phpt b/ext/reflection/tests/traits004.phpt
new file mode 100644
index 0000000000..c9367c1f48
--- /dev/null
+++ b/ext/reflection/tests/traits004.phpt
@@ -0,0 +1,58 @@
+--TEST--
+ReflectionClass::getTraits() and ReflectionClass::getTraitNames
+--FILE--
+<?php
+trait T1 { }
+trait T2 { }
+
+class C1 { }
+class C2 { use T1; }
+class C3 { use T1; use T2; }
+
+for ($c = "C1"; $c <= "C3"; $c++) {
+ echo "class $c:\n";
+ $r = new ReflectionClass($c);
+ var_dump($r->getTraitNames());
+ var_dump($r->getTraits());
+ echo "\n";
+}
+--EXPECT--
+class C1:
+array(0) {
+}
+array(0) {
+}
+
+class C2:
+array(1) {
+ [0]=>
+ string(2) "T1"
+}
+array(1) {
+ ["T1"]=>
+ &object(ReflectionClass)#1 (1) {
+ ["name"]=>
+ string(2) "T1"
+ }
+}
+
+class C3:
+array(2) {
+ [0]=>
+ string(2) "T1"
+ [1]=>
+ string(2) "T2"
+}
+array(2) {
+ ["T1"]=>
+ &object(ReflectionClass)#2 (1) {
+ ["name"]=>
+ string(2) "T1"
+ }
+ ["T2"]=>
+ &object(ReflectionClass)#3 (1) {
+ ["name"]=>
+ string(2) "T2"
+ }
+}
+