pajoye          Tue Mar  2 11:00:50 2004 EDT

  Added files:                 
    /php-src/tests/lang bug27439.phpt 
  Log:
  - initial test for #27439, covers more cases we got during 
    foreach($this->foo as $bar) bug
  
  

http://cvs.php.net/co.php/php-src/tests/lang/bug27439.phpt?r=1.1&p=1
Index: php-src/tests/lang/bug27439.phpt
+++ php-src/tests/lang/bug27439.phpt
--TEST--
bug27439: foreach() with $this
--FILE--
<?php

class test_props {
        public $a = 1;
        public $b = 2;
        public $c = 3;
}

class test {
        public $array = array(1,2,3);
        public $string = "string";

        public function __construct() {
                $this->object = new test_props;
        }

        public function getArray() {
                return $this->array;
        }

        public function getString() {
                return $this->string;
        }

        public function case1() {
                foreach ($this->array as $foo) {
                        echo $foo;
                }
        }

        public function case2() {
                foreach ($this->foobar as $foo);
        }

        public function case3() {
                foreach ($this->string as $foo);
        }

        public function case4() {
                foreach ($this->getArray() as $foo);
        }

        public function case5() {
                foreach ($this->getString() as $foo);
        }

        public function case6() {
                foreach ($this->object as $foo) {
                        echo $foo;
                }
        }
}
$test = new test();
$test->case1();
$test->case2();
$test->case3();
$test->case4();
$test->case5();
$test->case6();
echo "\n";
echo "===DONE===";
?>
--EXPECTF--
123
Warning: Invalid argument supplied for foreach() in %s on line %d

Warning: Invalid argument supplied for foreach() in %s on line %d

Warning: Invalid argument supplied for foreach() in %s on line %d
123
===DONE===

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to