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>