Annotation of embedaddon/php/tests/lang/bug27439.phpt, revision 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>