Annotation of embedaddon/php/Zend/tests/bug44899_2.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #44899 (__isset usage changes behavior of empty()) - 2
                      3: --FILE--
                      4: <?php
                      5: 
                      6: class myclass
                      7: {
                      8:        private $_data = array();
                      9: 
                     10:        function __construct($data)
                     11:        {
                     12:                $this->_data = $data;
                     13:        }
                     14: 
                     15:        function __isset($field_name)
                     16:        {
                     17:                return isset($this->_data[$field_name]);
                     18:        }
                     19:        
                     20:        function __get($var) {
                     21:                var_dump(empty($this->_data[$var]));
                     22:                return $this->_data[$var];
                     23:        }
                     24: }
                     25: 
                     26: $arr = array('foo' => '');
                     27: 
                     28: $myclass = new myclass($arr) ;
                     29: 
                     30: echo (isset($myclass->foo)) ? 'isset' : 'not isset';
                     31: echo "\n";
                     32: echo (empty($myclass->foo)) ? 'empty' : 'not empty';
                     33: echo "\n";
                     34: echo ($myclass->foo) ? 'not empty' : 'empty';
                     35: echo "\n";
                     36: 
                     37: ?>
                     38: --EXPECT--
                     39: isset
                     40: bool(true)
                     41: empty
                     42: bool(true)
                     43: empty

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