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