diff options
author | Pierre Joye <pajoye@php.net> | 2004-03-02 16:00:49 +0000 |
---|---|---|
committer | Pierre Joye <pajoye@php.net> | 2004-03-02 16:00:49 +0000 |
commit | 2fba0d7b7a9cddd1423ad83083fbd25d1b1704f3 (patch) | |
tree | ef956e62fe95c372446ac794fc369e5ae4b0bc8c /tests | |
parent | 1dfd0bd901ccef66d3eaec81744813f803a71b27 (diff) | |
download | php-git-2fba0d7b7a9cddd1423ad83083fbd25d1b1704f3.tar.gz |
- initial test for #27439, covers more cases we got during
foreach($this->foo as $bar) bug
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/lang/bug27439.phpt | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/tests/lang/bug27439.phpt b/tests/lang/bug27439.phpt new file mode 100755 index 0000000000..cbcc2c3ffd --- /dev/null +++ b/tests/lang/bug27439.phpt @@ -0,0 +1,74 @@ +--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=== |