Annotation of embedaddon/php/tests/classes/interface_doubled.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: ZE2 An interface extends base interfaces
        !             3: --SKIPIF--
        !             4: <?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
        !             5: --FILE--
        !             6: <?php
        !             7: 
        !             8: interface if_a {
        !             9:        function f_a();
        !            10: }
        !            11:        
        !            12: interface if_b {
        !            13:        function f_b();
        !            14: }
        !            15: 
        !            16: interface if_c extends if_a, if_b {
        !            17:        function f_c();
        !            18: }
        !            19: 
        !            20: interface if_d extends if_a, if_b {
        !            21:        function f_d();
        !            22: }
        !            23: 
        !            24: interface if_e {
        !            25:        function f_d();
        !            26: }
        !            27: 
        !            28: interface if_f extends /*if_e,*/ if_a, if_b, if_c, if_d /*, if_e*/ {
        !            29: }
        !            30: 
        !            31: class base {
        !            32:        function test($class) {
        !            33:                echo "is_a(" . get_class($this) . ", $class) ". (($this instanceof $class) ? "yes\n" : "no\n");
        !            34:        }
        !            35: }
        !            36: 
        !            37: echo "class_a\n";
        !            38: 
        !            39: class class_a extends base implements if_a {
        !            40:        function f_a() {}
        !            41:        function f_b() {}
        !            42:        function f_c() {}
        !            43:        function f_d() {}
        !            44:        function f_e() {}
        !            45: }
        !            46: 
        !            47: $t = new class_a();
        !            48: echo $t->test('if_a');
        !            49: echo $t->test('if_b');
        !            50: echo $t->test('if_c');
        !            51: echo $t->test('if_d');
        !            52: echo $t->test('if_e');
        !            53: 
        !            54: echo "class_b\n";
        !            55: 
        !            56: class class_b extends base implements if_a, if_b {
        !            57:        function f_a() {}
        !            58:        function f_b() {}
        !            59:        function f_c() {}
        !            60:        function f_d() {}
        !            61:        function f_e() {}
        !            62: }
        !            63: 
        !            64: $t = new class_b();
        !            65: echo $t->test('if_a');
        !            66: echo $t->test('if_b');
        !            67: echo $t->test('if_c');
        !            68: echo $t->test('if_d');
        !            69: echo $t->test('if_e');
        !            70: 
        !            71: echo "class_c\n";
        !            72: 
        !            73: class class_c extends base implements if_c {
        !            74:        function f_a() {}
        !            75:        function f_b() {}
        !            76:        function f_c() {}
        !            77:        function f_d() {}
        !            78:        function f_e() {}
        !            79: }
        !            80: 
        !            81: $t = new class_c();
        !            82: echo $t->test('if_a');
        !            83: echo $t->test('if_b');
        !            84: echo $t->test('if_c');
        !            85: echo $t->test('if_d');
        !            86: echo $t->test('if_e');
        !            87: 
        !            88: echo "class_d\n";
        !            89: 
        !            90: class class_d extends base implements if_d{
        !            91:        function f_a() {}
        !            92:        function f_b() {}
        !            93:        function f_c() {}
        !            94:        function f_d() {}
        !            95:        function f_e() {}
        !            96: }
        !            97: 
        !            98: $t = new class_d();
        !            99: echo $t->test('if_a');
        !           100: echo $t->test('if_b');
        !           101: echo $t->test('if_c');
        !           102: echo $t->test('if_d');
        !           103: echo $t->test('if_e');
        !           104: 
        !           105: echo "class_e\n";
        !           106: 
        !           107: class class_e extends base implements if_a, if_b, if_c, if_d {
        !           108:        function f_a() {}
        !           109:        function f_b() {}
        !           110:        function f_c() {}
        !           111:        function f_d() {}
        !           112:        function f_e() {}
        !           113: }
        !           114: 
        !           115: $t = new class_e();
        !           116: echo $t->test('if_a');
        !           117: echo $t->test('if_b');
        !           118: echo $t->test('if_c');
        !           119: echo $t->test('if_d');
        !           120: echo $t->test('if_e');
        !           121: 
        !           122: echo "class_f\n";
        !           123: 
        !           124: class class_f extends base implements if_e {
        !           125:        function f_a() {}
        !           126:        function f_b() {}
        !           127:        function f_c() {}
        !           128:        function f_d() {}
        !           129:        function f_e() {}
        !           130: }
        !           131: 
        !           132: $t = new class_f();
        !           133: echo $t->test('if_a');
        !           134: echo $t->test('if_b');
        !           135: echo $t->test('if_c');
        !           136: echo $t->test('if_d');
        !           137: echo $t->test('if_e');
        !           138: 
        !           139: echo "class_g\n";
        !           140: 
        !           141: class class_g extends base implements if_f {
        !           142:        function f_a() {}
        !           143:        function f_b() {}
        !           144:        function f_c() {}
        !           145:        function f_d() {}
        !           146:        function f_e() {}
        !           147: }
        !           148: 
        !           149: $t = new class_g();
        !           150: echo $t->test('if_a');
        !           151: echo $t->test('if_b');
        !           152: echo $t->test('if_c');
        !           153: echo $t->test('if_d');
        !           154: echo $t->test('if_e');
        !           155: 
        !           156: ?>
        !           157: ===DONE===
        !           158: --EXPECTF--
        !           159: class_a
        !           160: is_a(class_a, if_a) yes
        !           161: is_a(class_a, if_b) no
        !           162: is_a(class_a, if_c) no
        !           163: is_a(class_a, if_d) no
        !           164: is_a(class_a, if_e) no
        !           165: class_b
        !           166: is_a(class_b, if_a) yes
        !           167: is_a(class_b, if_b) yes
        !           168: is_a(class_b, if_c) no
        !           169: is_a(class_b, if_d) no
        !           170: is_a(class_b, if_e) no
        !           171: class_c
        !           172: is_a(class_c, if_a) yes
        !           173: is_a(class_c, if_b) yes
        !           174: is_a(class_c, if_c) yes
        !           175: is_a(class_c, if_d) no
        !           176: is_a(class_c, if_e) no
        !           177: class_d
        !           178: is_a(class_d, if_a) yes
        !           179: is_a(class_d, if_b) yes
        !           180: is_a(class_d, if_c) no
        !           181: is_a(class_d, if_d) yes
        !           182: is_a(class_d, if_e) no
        !           183: class_e
        !           184: is_a(class_e, if_a) yes
        !           185: is_a(class_e, if_b) yes
        !           186: is_a(class_e, if_c) yes
        !           187: is_a(class_e, if_d) yes
        !           188: is_a(class_e, if_e) no
        !           189: class_f
        !           190: is_a(class_f, if_a) no
        !           191: is_a(class_f, if_b) no
        !           192: is_a(class_f, if_c) no
        !           193: is_a(class_f, if_d) no
        !           194: is_a(class_f, if_e) yes
        !           195: class_g
        !           196: is_a(class_g, if_a) yes
        !           197: is_a(class_g, if_b) yes
        !           198: is_a(class_g, if_c) yes
        !           199: is_a(class_g, if_d) yes
        !           200: is_a(class_g, if_e) no
        !           201: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>