Annotation of embedaddon/php/Zend/tests/bug31098.phpt, revision 1.1

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";
        !            20: echo isset($simpleString["wrong"])?"ok\n":"bug\n";
        !            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 isset($simpleString["wrong"][0])?"bug\n":"ok\n";
        !            27: echo $simpleString->wrong === null?"ok\n":"bug\n";
        !            28: echo $simpleString["wrong"] === "B"?"ok\n":"bug\n";
        !            29: echo $simpleString["0"] === "B"?"ok\n":"bug\n";
        !            30: $simpleString["wrong"] = "f";
        !            31: echo $simpleString["0"] === "f"?"ok\n":"bug\n";
        !            32: ?>
        !            33: --EXPECTF--
        !            34: bool(false)
        !            35: bool(false)
        !            36: bool(false)
        !            37: bool(false)
        !            38: bool(true)
        !            39: bool(true)
        !            40: ok
        !            41: ok
        !            42: ok
        !            43: ok
        !            44: ok
        !            45: ok
        !            46: ok
        !            47: ok
        !            48: 
        !            49: Notice: Trying to get property of non-object in %sbug31098.php on line %d
        !            50: ok
        !            51: ok
        !            52: ok
        !            53: ok

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