Annotation of embedaddon/php/ext/reflection/tests/ReflectionClass_getInterfaces_001.phpt, revision 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>