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>