Annotation of embedaddon/php/ext/reflection/tests/bug43926.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #43926 (isInstance() isn't equivalent to instanceof operator)
        !             3: --FILE--
        !             4: <?php
        !             5: 
        !             6: class E {
        !             7: }
        !             8: class D extends E {
        !             9: }
        !            10: 
        !            11: class A extends D {
        !            12: }
        !            13: 
        !            14: class C extends A {
        !            15: }
        !            16: 
        !            17: $ra = new ReflectionClass('A');
        !            18: $rc = new ReflectionClass('C');
        !            19: $rd = new ReflectionClass('D');
        !            20: $re = new ReflectionClass('E');
        !            21: 
        !            22: $ca = $ra->newInstance();
        !            23: $cc = $rc->newInstance();
        !            24: $cd = $rd->newInstance();
        !            25: $ce = $re->newInstance();
        !            26: 
        !            27: print("Is? A ". ($ra->isInstance($ca) ? 'true' : 'false') .", instanceof: ". (($ca instanceof A) ? 'true' : 'false') ."\n");
        !            28: print("Is? C ". ($rc->isInstance($ca) ? 'true' : 'false') .", instanceof: ". (($ca instanceof C) ? 'true' : 'false') ."\n");
        !            29: print("Is? D ". ($rd->isInstance($ca) ? 'true' : 'false') .", instanceof: ". (($ca instanceof D) ? 'true' : 'false') ."\n");
        !            30: print("Is? E ". ($re->isInstance($ca) ? 'true' : 'false') .", instanceof: ". (($ca instanceof E) ? 'true' : 'false') ."\n");
        !            31: print "-\n";
        !            32: print("Is? A ". ($ra->isInstance($cc) ? 'true' : 'false') .", instanceof: ". (($cc instanceof A) ? 'true' : 'false') ."\n");
        !            33: print("Is? C ". ($rc->isInstance($cc) ? 'true' : 'false') .", instanceof: ". (($cc instanceof C) ? 'true' : 'false') ."\n");
        !            34: print("Is? D ". ($rd->isInstance($cc) ? 'true' : 'false') .", instanceof: ". (($cc instanceof D) ? 'true' : 'false') ."\n");
        !            35: print("Is? E ". ($re->isInstance($cc) ? 'true' : 'false') .", instanceof: ". (($cc instanceof E) ? 'true' : 'false') ."\n");
        !            36: print "-\n";
        !            37: print("Is? A ". ($ra->isInstance($cd) ? 'true' : 'false') .", instanceof: ". (($cd instanceof A) ? 'true' : 'false') ."\n");
        !            38: print("Is? C ". ($rc->isInstance($cd) ? 'true' : 'false') .", instanceof: ". (($cd instanceof C) ? 'true' : 'false') ."\n");
        !            39: print("Is? D ". ($rd->isInstance($cd) ? 'true' : 'false') .", instanceof: ". (($cd instanceof D) ? 'true' : 'false') ."\n");
        !            40: print("Is? E ". ($re->isInstance($cd) ? 'true' : 'false') .", instanceof: ". (($cd instanceof E) ? 'true' : 'false') ."\n");
        !            41: print "-\n";
        !            42: print("Is? A ". ($ra->isInstance($ce) ? 'true' : 'false') .", instanceof: ". (($ce instanceof A) ? 'true' : 'false') ."\n");
        !            43: print("Is? C ". ($rc->isInstance($ce) ? 'true' : 'false') .", instanceof: ". (($ce instanceof C) ? 'true' : 'false') ."\n");
        !            44: print("Is? D ". ($rd->isInstance($ce) ? 'true' : 'false') .", instanceof: ". (($ce instanceof D) ? 'true' : 'false') ."\n");
        !            45: print("Is? E ". ($re->isInstance($ce) ? 'true' : 'false') .", instanceof: ". (($ce instanceof E) ? 'true' : 'false') ."\n");
        !            46: 
        !            47: ?>
        !            48: --EXPECT--
        !            49: Is? A true, instanceof: true
        !            50: Is? C false, instanceof: false
        !            51: Is? D true, instanceof: true
        !            52: Is? E true, instanceof: true
        !            53: -
        !            54: Is? A true, instanceof: true
        !            55: Is? C true, instanceof: true
        !            56: Is? D true, instanceof: true
        !            57: Is? E true, instanceof: true
        !            58: -
        !            59: Is? A false, instanceof: false
        !            60: Is? C false, instanceof: false
        !            61: Is? D true, instanceof: true
        !            62: Is? E true, instanceof: true
        !            63: -
        !            64: Is? A false, instanceof: false
        !            65: Is? C false, instanceof: false
        !            66: Is? D false, instanceof: false
        !            67: Is? E true, instanceof: true

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