Annotation of embedaddon/php/Zend/tests/bug31098.phpt, revision 1.1.1.2
1.1 misho 1: --TEST--
2: Bug #31098 (isset() / empty() incorrectly returns true in dereference of a wrong type)
3: --FILE--
4: <?php
5: $a = '';
6: var_dump(isset($a->b));
7: $a = 'a';
8: var_dump(isset($a->b));
9: $a = '0';
10: var_dump(isset($a->b));
11: $a = '';
12: var_dump(isset($a['b']));
13: $a = 'a';
14: var_dump(isset($a['b']));
15: $a = '0';
16: var_dump(isset($a['b']));
17:
18: $simpleString = "Bogus String Text";
19: echo isset($simpleString->wrong)?"bug\n":"ok\n";
1.1.1.2 ! misho 20: echo isset($simpleString["wrong"])?"bug\n":"ok\n";
1.1 misho 21: echo isset($simpleString[-1])?"bug\n":"ok\n";
22: echo isset($simpleString[0])?"ok\n":"bug\n";
23: echo isset($simpleString["0"])?"ok\n":"bug\n";
24: echo isset($simpleString["16"])?"ok\n":"bug\n";
25: echo isset($simpleString["17"])?"bug\n":"ok\n";
26: echo $simpleString->wrong === null?"ok\n":"bug\n";
27: echo $simpleString["wrong"] === "B"?"ok\n":"bug\n";
28: echo $simpleString["0"] === "B"?"ok\n":"bug\n";
29: $simpleString["wrong"] = "f";
30: echo $simpleString["0"] === "f"?"ok\n":"bug\n";
31: ?>
32: --EXPECTF--
33: bool(false)
34: bool(false)
35: bool(false)
36: bool(false)
1.1.1.2 ! misho 37: bool(false)
! 38: bool(false)
1.1 misho 39: ok
40: ok
41: ok
42: ok
43: ok
44: ok
45: ok
46:
1.1.1.2 ! misho 47: Notice: Trying to get property of non-object in %s on line %d
1.1 misho 48: ok
1.1.1.2 ! misho 49:
! 50: Warning: Illegal string offset 'wrong' in %s on line %d
1.1 misho 51: ok
52: ok
1.1.1.2 ! misho 53:
! 54: Warning: Illegal string offset 'wrong' in %s on line %d
! 55: ok
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>