diff options
Diffstat (limited to 'tests/classes/visibility_005.phpt')
-rw-r--r-- | tests/classes/visibility_005.phpt | 59 |
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 |