Annotation of embedaddon/php/tests/lang/bug27439.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #27439 (foreach() with $this segfaults)
                      3: --FILE--
                      4: <?php
                      5: 
                      6: class test_props {
                      7:        public $a = 1;
                      8:        public $b = 2;
                      9:        public $c = 3;
                     10: }
                     11: 
                     12: class test {
                     13:        public $array = array(1,2,3);
                     14:        public $string = "string";
                     15: 
                     16:        public function __construct() {
                     17:                $this->object = new test_props;
                     18:        }
                     19: 
                     20:        public function getArray() {
                     21:                return $this->array;
                     22:        }
                     23: 
                     24:        public function getString() {
                     25:                return $this->string;
                     26:        }
                     27: 
                     28:        public function case1() {
                     29:                foreach ($this->array as $foo) {
                     30:                        echo $foo;
                     31:                }
                     32:        }
                     33: 
                     34:        public function case2() {
                     35:                foreach ($this->foobar as $foo);
                     36:        }
                     37: 
                     38:        public function case3() {
                     39:                foreach ($this->string as $foo);
                     40:        }
                     41: 
                     42:        public function case4() {
                     43:                foreach ($this->getArray() as $foo);
                     44:        }
                     45: 
                     46:        public function case5() {
                     47:                foreach ($this->getString() as $foo);
                     48:        }
                     49: 
                     50:        public function case6() {
                     51:                foreach ($this->object as $foo) {
                     52:                        echo $foo;
                     53:                }
                     54:        }
                     55: }
                     56: $test = new test();
                     57: $test->case1();
                     58: $test->case2();
                     59: $test->case3();
                     60: $test->case4();
                     61: $test->case5();
                     62: $test->case6();
                     63: echo "\n";
                     64: echo "===DONE===";
                     65: ?>
                     66: --EXPECTF--
                     67: 123
                     68: Notice: Undefined property: test::$foobar in %s on line %d
                     69: 
                     70: Warning: Invalid argument supplied for foreach() in %s on line %d
                     71: 
                     72: Warning: Invalid argument supplied for foreach() in %s on line %d
                     73: 
                     74: Warning: Invalid argument supplied for foreach() in %s on line %d
                     75: 123
                     76: ===DONE===

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