summaryrefslogtreecommitdiff
path: root/tests/classes/visibility_005.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/classes/visibility_005.phpt')
-rw-r--r--tests/classes/visibility_005.phpt59
1 files changed, 59 insertions, 0 deletions
diff --git a/tests/classes/visibility_005.phpt b/tests/classes/visibility_005.phpt
new file mode 100644
index 0000000..859a5f7
--- /dev/null
+++ b/tests/classes/visibility_005.phpt
@@ -0,0 +1,59 @@
+--TEST--
+ZE2 foreach and property visibility
+--FILE--
+<?php
+
+class base
+{
+ public $a=1;
+ protected $b=2;
+ private $c=3;
+
+ function f()
+ {
+ foreach($this as $k=>$v) {
+ echo "$k=>$v\n";
+ }
+ }
+}
+
+class derived extends base
+{
+}
+
+$o = new base;
+$o->d = 4;
+echo "===base::function===\n";
+$o->f();
+echo "===base,foreach===\n";
+foreach($o as $k=>$v) {
+ echo "$k=>$v\n";
+}
+
+$o = new derived;
+$o->d = 4;
+echo "===derived::function===\n";
+$o->f();
+echo "===derived,foreach===\n";
+foreach($o as $k=>$v) {
+ echo "$k=>$v\n";
+}
+
+?>
+--EXPECT--
+===base::function===
+a=>1
+b=>2
+c=>3
+d=>4
+===base,foreach===
+a=>1
+d=>4
+===derived::function===
+a=>1
+b=>2
+c=>3
+d=>4
+===derived,foreach===
+a=>1
+d=>4