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>