Annotation of embedaddon/php/ext/reflection/tests/ReflectionClass_getInterfaces_001.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: ReflectionClass::getInterfaces()
3: --CREDITS--
4: Robin Fernandes <robinf@php.net>
5: Steve Seear <stevseea@php.net>
6: --FILE--
7: <?php
8: class A0 {}
9: class B0 extends A0 {}
10: abstract class A1 {}
11: class B1 extends A1 {}
12:
13: interface I0 {}
14: interface I1 {}
15: interface I2 {}
16: interface I3 {}
17: interface I4 extends I3 {}
18: interface I5 extends I4 {}
19: interface I6 extends I5, I1, I2 {}
20: interface I7 extends I6 {}
21:
22: class C0 implements I0 {}
23: class C1 implements I1, I3 {}
24: class C2 extends C1 {}
25: class C3 extends C2 implements I1 {}
26: class C4 extends C3 implements I2 {}
27: class C5 extends C4 implements I7 {}
28: class C6 implements I1, I2, I3, I4, I5, I6, I7 {}
29:
30:
31: $classes = array( 'A0', 'A1', 'B0', 'B1',
32: 'I0', 'I1', 'I2', 'I3', 'I4', 'I5', 'I6', 'I7',
33: 'C0', 'C1', 'C2', 'C3', 'C4', 'C5', 'C6' );
34:
35: foreach ($classes as $class) {
36: echo "---( Interfaces implemented by $class )---\n ";
37: $rc = new ReflectionClass($class);
38: $interfaces = $rc->getInterfaces();
39: // Sort interfaces so that tests do not fail because of wrong order.
40: ksort($interfaces);
41: print_r($interfaces);
42: }
43:
44: ?>
45: --EXPECTF--
46: ---( Interfaces implemented by A0 )---
47: Array
48: (
49: )
50: ---( Interfaces implemented by A1 )---
51: Array
52: (
53: )
54: ---( Interfaces implemented by B0 )---
55: Array
56: (
57: )
58: ---( Interfaces implemented by B1 )---
59: Array
60: (
61: )
62: ---( Interfaces implemented by I0 )---
63: Array
64: (
65: )
66: ---( Interfaces implemented by I1 )---
67: Array
68: (
69: )
70: ---( Interfaces implemented by I2 )---
71: Array
72: (
73: )
74: ---( Interfaces implemented by I3 )---
75: Array
76: (
77: )
78: ---( Interfaces implemented by I4 )---
79: Array
80: (
81: [I3] => ReflectionClass Object
82: (
83: [name] => I3
84: )
85:
86: )
87: ---( Interfaces implemented by I5 )---
88: Array
89: (
90: [I3] => ReflectionClass Object
91: (
92: [name] => I3
93: )
94:
95: [I4] => ReflectionClass Object
96: (
97: [name] => I4
98: )
99:
100: )
101: ---( Interfaces implemented by I6 )---
102: Array
103: (
104: [I1] => ReflectionClass Object
105: (
106: [name] => I1
107: )
108:
109: [I2] => ReflectionClass Object
110: (
111: [name] => I2
112: )
113:
114: [I3] => ReflectionClass Object
115: (
116: [name] => I3
117: )
118:
119: [I4] => ReflectionClass Object
120: (
121: [name] => I4
122: )
123:
124: [I5] => ReflectionClass Object
125: (
126: [name] => I5
127: )
128:
129: )
130: ---( Interfaces implemented by I7 )---
131: Array
132: (
133: [I1] => ReflectionClass Object
134: (
135: [name] => I1
136: )
137:
138: [I2] => ReflectionClass Object
139: (
140: [name] => I2
141: )
142:
143: [I3] => ReflectionClass Object
144: (
145: [name] => I3
146: )
147:
148: [I4] => ReflectionClass Object
149: (
150: [name] => I4
151: )
152:
153: [I5] => ReflectionClass Object
154: (
155: [name] => I5
156: )
157:
158: [I6] => ReflectionClass Object
159: (
160: [name] => I6
161: )
162:
163: )
164: ---( Interfaces implemented by C0 )---
165: Array
166: (
167: [I0] => ReflectionClass Object
168: (
169: [name] => I0
170: )
171:
172: )
173: ---( Interfaces implemented by C1 )---
174: Array
175: (
176: [I1] => ReflectionClass Object
177: (
178: [name] => I1
179: )
180:
181: [I3] => ReflectionClass Object
182: (
183: [name] => I3
184: )
185:
186: )
187: ---( Interfaces implemented by C2 )---
188: Array
189: (
190: [I1] => ReflectionClass Object
191: (
192: [name] => I1
193: )
194:
195: [I3] => ReflectionClass Object
196: (
197: [name] => I3
198: )
199:
200: )
201: ---( Interfaces implemented by C3 )---
202: Array
203: (
204: [I1] => ReflectionClass Object
205: (
206: [name] => I1
207: )
208:
209: [I3] => ReflectionClass Object
210: (
211: [name] => I3
212: )
213:
214: )
215: ---( Interfaces implemented by C4 )---
216: Array
217: (
218: [I1] => ReflectionClass Object
219: (
220: [name] => I1
221: )
222:
223: [I2] => ReflectionClass Object
224: (
225: [name] => I2
226: )
227:
228: [I3] => ReflectionClass Object
229: (
230: [name] => I3
231: )
232:
233: )
234: ---( Interfaces implemented by C5 )---
235: Array
236: (
237: [I1] => ReflectionClass Object
238: (
239: [name] => I1
240: )
241:
242: [I2] => ReflectionClass Object
243: (
244: [name] => I2
245: )
246:
247: [I3] => ReflectionClass Object
248: (
249: [name] => I3
250: )
251:
252: [I4] => ReflectionClass Object
253: (
254: [name] => I4
255: )
256:
257: [I5] => ReflectionClass Object
258: (
259: [name] => I5
260: )
261:
262: [I6] => ReflectionClass Object
263: (
264: [name] => I6
265: )
266:
267: [I7] => ReflectionClass Object
268: (
269: [name] => I7
270: )
271:
272: )
273: ---( Interfaces implemented by C6 )---
274: Array
275: (
276: [I1] => ReflectionClass Object
277: (
278: [name] => I1
279: )
280:
281: [I2] => ReflectionClass Object
282: (
283: [name] => I2
284: )
285:
286: [I3] => ReflectionClass Object
287: (
288: [name] => I3
289: )
290:
291: [I4] => ReflectionClass Object
292: (
293: [name] => I4
294: )
295:
296: [I5] => ReflectionClass Object
297: (
298: [name] => I5
299: )
300:
301: [I6] => ReflectionClass Object
302: (
303: [name] => I6
304: )
305:
306: [I7] => ReflectionClass Object
307: (
308: [name] => I7
309: )
310:
311: )
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>