diff options
author | andy wharmby <wharmby@php.net> | 2009-06-15 17:34:40 +0000 |
---|---|---|
committer | andy wharmby <wharmby@php.net> | 2009-06-15 17:34:40 +0000 |
commit | d8ce08a24b0ff21c4eb8c0a95a445d0150eab58c (patch) | |
tree | 82c5674be5d58b13912a91c3382d321bf13d7ee9 /tests/lang/foreachLoopObjects.005.phpt | |
parent | aa8811982ef9a6303900fbbf706c7b652cc48c26 (diff) | |
download | php-git-d8ce08a24b0ff21c4eb8c0a95a445d0150eab58c.tar.gz |
Move tests to correct directory
Diffstat (limited to 'tests/lang/foreachLoopObjects.005.phpt')
-rw-r--r-- | tests/lang/foreachLoopObjects.005.phpt | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/tests/lang/foreachLoopObjects.005.phpt b/tests/lang/foreachLoopObjects.005.phpt new file mode 100644 index 0000000000..1692bcd2fc --- /dev/null +++ b/tests/lang/foreachLoopObjects.005.phpt @@ -0,0 +1,78 @@ +--TEST-- +Foreach loop tests - removing properties before and after the current property during the loop. +--FILE-- +<?php + +class C { + public $a = "Original a"; + public $b = "Original b"; + public $c = "Original c"; + public $d = "Original d"; + public $e = "Original e"; +} + +echo "\nRemoving properties before the current element from an iterated object.\n"; +$obj = new C; +$count=0; +foreach ($obj as $v) { + if ($v==$obj->a) { + unset($obj->c); + } + var_dump($v); + if (++$count>10) { + echo "Loop detected.\n"; + break; + } +} +var_dump($obj); + +echo "\nRemoving properties before the current element from an iterated object.\n"; +$obj = new C; +foreach ($obj as $v) { + if ($v==$obj->b) { + unset($obj->a); + } + var_dump($v); + if (++$count>10) { + echo "Loop detected.\n"; + break; + } +} +var_dump($obj); + + +?> +--EXPECTF-- + +Removing properties before the current element from an iterated object. +string(10) "Original a" +string(10) "Original b" +string(10) "Original d" +string(10) "Original e" +object(C)#%d (4) { + ["a"]=> + string(10) "Original a" + ["b"]=> + string(10) "Original b" + ["d"]=> + string(10) "Original d" + ["e"]=> + string(10) "Original e" +} + +Removing properties before the current element from an iterated object. +string(10) "Original a" +string(10) "Original b" +string(10) "Original c" +string(10) "Original d" +string(10) "Original e" +object(C)#%d (4) { + ["b"]=> + string(10) "Original b" + ["c"]=> + string(10) "Original c" + ["d"]=> + string(10) "Original d" + ["e"]=> + string(10) "Original e" +} |