diff options
author | Marcus Boerger <helly@php.net> | 2004-11-01 00:26:59 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2004-11-01 00:26:59 +0000 |
commit | b9470609ad6ccb27ec38c8dd1fdbe121a41f33b5 (patch) | |
tree | 77ed6faf25981c04b8fa5ec03cd07a6a6888b6e2 /ext/spl/tests | |
parent | 9626e9859a045d76f4fdd339c61d9c4345758f68 (diff) | |
download | php-git-b9470609ad6ccb27ec38c8dd1fdbe121a41f33b5.tar.gz |
- Minor fixes
- Implement AppendIterator in C
Diffstat (limited to 'ext/spl/tests')
-rwxr-xr-x | ext/spl/tests/iterator_001.phpt | 39 | ||||
-rwxr-xr-x | ext/spl/tests/iterator_007.phpt | 30 | ||||
-rwxr-xr-x | ext/spl/tests/iterator_010.phpt | 18 | ||||
-rwxr-xr-x | ext/spl/tests/iterator_011.phpt | 51 | ||||
-rwxr-xr-x | ext/spl/tests/iterator_012.phpt | 33 | ||||
-rwxr-xr-x | ext/spl/tests/iterator_013.phpt | 66 |
6 files changed, 205 insertions, 32 deletions
diff --git a/ext/spl/tests/iterator_001.phpt b/ext/spl/tests/iterator_001.phpt index 2fd690294e..2239417778 100755 --- a/ext/spl/tests/iterator_001.phpt +++ b/ext/spl/tests/iterator_001.phpt @@ -47,7 +47,7 @@ class NumericArrayIterator implements Iterator $this->i++; } - public function greaterThen($comp) + public function greaterThan($comp) { echo get_class($this) . '::' . __FUNCTION__ . '(' . $comp . ")\n"; return $this->current() > $comp; @@ -69,7 +69,7 @@ $a = array(1, 2, 3, 4, 5); $it = new LimitIterator(new NumericArrayIterator($a), 1, 3); foreach ($it as $v) { - print $v . ' is ' . ($it->greaterThen(2) ? 'greater than 2' : 'less than or equal 2') . "\n"; + print $v . ' is ' . ($it->greaterThan(2) ? 'greater than 2' : 'less than or equal 2') . "\n"; } echo "===SEEKABLE===\n"; @@ -77,15 +77,16 @@ $a = array(1, 2, 3, 4, 5); $it = new LimitIterator(new SeekableNumericArrayIterator($a), 1, 3); foreach($it as $v) { - print $v . ' is ' . ($it->greaterThen(2) ? 'greater than 2' : 'less than or equal 2') . "\n"; + print $v . ' is ' . ($it->greaterThan(2) ? 'greater than 2' : 'less than or equal 2') . "\n"; } echo "===STACKED===\n"; +echo "Shows '2 is greater than 2' because the test is actually done with the current value which is 3.\n"; $a = array(1, 2, 3, 4, 5); $it = new CachingIterator(new LimitIterator(new SeekableNumericArrayIterator($a), 1, 3)); foreach($it as $v) { - print $v . ' is ' . ($it->greaterThen(2) ? 'greater than 2' : 'less than or equal 2') . "\n"; + print $v . ' is ' . ($it->greaterThan(2) ? 'greater than 2' : 'less than or equal 2') . "\n"; } ?> @@ -100,19 +101,22 @@ NumericArrayIterator::valid(true) NumericArrayIterator::valid(true) NumericArrayIterator::current NumericArrayIterator::key -LimitIterator::greaterThen(2) +NumericArrayIterator::greaterThan(2) +NumericArrayIterator::current 2 is less than or equal 2 NumericArrayIterator::next NumericArrayIterator::valid(true) NumericArrayIterator::current NumericArrayIterator::key -LimitIterator::greaterThen(2) +NumericArrayIterator::greaterThan(2) +NumericArrayIterator::current 3 is greater than 2 NumericArrayIterator::next NumericArrayIterator::valid(true) NumericArrayIterator::current NumericArrayIterator::key -LimitIterator::greaterThen(2) +NumericArrayIterator::greaterThan(2) +NumericArrayIterator::current 4 is greater than 2 NumericArrayIterator::next ===SEEKABLE=== @@ -122,22 +126,26 @@ SeekableNumericArrayIterator::seek(1) NumericArrayIterator::valid(true) NumericArrayIterator::current NumericArrayIterator::key -LimitIterator::greaterThen(2) +SeekableNumericArrayIterator::greaterThan(2) +NumericArrayIterator::current 2 is less than or equal 2 NumericArrayIterator::next NumericArrayIterator::valid(true) NumericArrayIterator::current NumericArrayIterator::key -LimitIterator::greaterThen(2) +SeekableNumericArrayIterator::greaterThan(2) +NumericArrayIterator::current 3 is greater than 2 NumericArrayIterator::next NumericArrayIterator::valid(true) NumericArrayIterator::current NumericArrayIterator::key -LimitIterator::greaterThen(2) +SeekableNumericArrayIterator::greaterThan(2) +NumericArrayIterator::current 4 is greater than 2 NumericArrayIterator::next ===STACKED=== +Shows '2 is greater than 2' because the test is actually done with the current value which is 3. NumericArrayIterator::__construct NumericArrayIterator::rewind SeekableNumericArrayIterator::seek(1) @@ -148,15 +156,18 @@ NumericArrayIterator::next NumericArrayIterator::valid(true) NumericArrayIterator::current NumericArrayIterator::key -CachingIterator::greaterThen(2) -2 is less than or equal 2 +SeekableNumericArrayIterator::greaterThan(2) +NumericArrayIterator::current +2 is greater than 2 NumericArrayIterator::next NumericArrayIterator::valid(true) NumericArrayIterator::current NumericArrayIterator::key -CachingIterator::greaterThen(2) +SeekableNumericArrayIterator::greaterThan(2) +NumericArrayIterator::current 3 is greater than 2 NumericArrayIterator::next -CachingIterator::greaterThen(2) +SeekableNumericArrayIterator::greaterThan(2) +NumericArrayIterator::current 4 is greater than 2 ===DONE=== diff --git a/ext/spl/tests/iterator_007.phpt b/ext/spl/tests/iterator_007.phpt index e40e2a245a..eb87977ac9 100755 --- a/ext/spl/tests/iterator_007.phpt +++ b/ext/spl/tests/iterator_007.phpt @@ -121,54 +121,48 @@ ArrayIteratorEx::next ArrayIteratorEx::valid ===1=== NoRewindIteratorEx::rewind -ArrayIteratorEx::valid NoRewindIteratorEx::valid +ArrayIteratorEx::valid ===2=== NoRewindIteratorEx::rewind -ArrayIteratorEx::valid -ArrayIteratorEx::current -ArrayIteratorEx::key NoRewindIteratorEx::valid +ArrayIteratorEx::valid NoRewindIteratorEx::current +ArrayIteratorEx::current int(0) NoRewindIteratorEx::next ArrayIteratorEx::next -ArrayIteratorEx::valid -ArrayIteratorEx::current -ArrayIteratorEx::key NoRewindIteratorEx::valid +ArrayIteratorEx::valid NoRewindIteratorEx::current +ArrayIteratorEx::current int(1) NoRewindIteratorEx::next ArrayIteratorEx::next -ArrayIteratorEx::valid -ArrayIteratorEx::current -ArrayIteratorEx::key NoRewindIteratorEx::valid +ArrayIteratorEx::valid NoRewindIteratorEx::current +ArrayIteratorEx::current int(2) ===3=== NoRewindIteratorEx::rewind -ArrayIteratorEx::valid -ArrayIteratorEx::current -ArrayIteratorEx::key NoRewindIteratorEx::valid +ArrayIteratorEx::valid NoRewindIteratorEx::current int(2) NoRewindIteratorEx::next ArrayIteratorEx::next -ArrayIteratorEx::valid -ArrayIteratorEx::current -ArrayIteratorEx::key NoRewindIteratorEx::valid +ArrayIteratorEx::valid NoRewindIteratorEx::current +ArrayIteratorEx::current int(3) NoRewindIteratorEx::next ArrayIteratorEx::next -ArrayIteratorEx::valid NoRewindIteratorEx::valid +ArrayIteratorEx::valid ===4=== NoRewindIteratorEx::rewind -ArrayIteratorEx::valid NoRewindIteratorEx::valid +ArrayIteratorEx::valid ===DONE=== diff --git a/ext/spl/tests/iterator_010.phpt b/ext/spl/tests/iterator_010.phpt new file mode 100755 index 0000000000..39d1000f62 --- /dev/null +++ b/ext/spl/tests/iterator_010.phpt @@ -0,0 +1,18 @@ +--TEST-- +SPL: EmptyIterator +--FILE-- +<?php + +echo "===EmptyIterator===\n"; + +foreach(new LimitIterator(new EmptyIterator(), 0, 3) as $key => $val) +{ + echo "$key=>$val\n"; +} + +?> +===DONE=== +<?php exit(0); +--EXPECTF-- +===EmptyIterator=== +===DONE=== diff --git a/ext/spl/tests/iterator_011.phpt b/ext/spl/tests/iterator_011.phpt new file mode 100755 index 0000000000..9c234bb11d --- /dev/null +++ b/ext/spl/tests/iterator_011.phpt @@ -0,0 +1,51 @@ +--TEST-- +SPL: InfiniteIterator +--FILE-- +<?php + +echo "===EmptyIterator===\n"; + +foreach(new LimitIterator(new InfiniteIterator(new EmptyIterator()), 0, 3) as $key=>$val) +{ + echo "$key=>$val\n"; +} + +echo "===InfiniteIterator===\n"; + +$it = new ArrayIterator(array(0 => 'A', 1 => 'B', 2 => 'C', 3 => 'D')); +$it = new InfiniteIterator($it); +$it = new LimitIterator($it, 2, 5); +foreach($it as $val=>$key) +{ + echo "$val=>$key\n"; +} + +echo "===Infinite/LimitIterator===\n"; + +$it = new ArrayIterator(array(0 => 'A', 1 => 'B', 2 => 'C', 3 => 'D')); +$it = new LimitIterator($it, 1, 2); +$it = new InfiniteIterator($it); +$it = new LimitIterator($it, 2, 5); +foreach($it as $val=>$key) +{ + echo "$val=>$key\n"; +} + +?> +===DONE=== +<?php exit(0); +--EXPECTF-- +===EmptyIterator=== +===InfiniteIterator=== +2=>C +3=>D +0=>A +1=>B +2=>C +===Infinite/LimitIterator=== +1=>B +2=>C +1=>B +2=>C +1=>B +===DONE=== diff --git a/ext/spl/tests/iterator_012.phpt b/ext/spl/tests/iterator_012.phpt new file mode 100755 index 0000000000..09842b0988 --- /dev/null +++ b/ext/spl/tests/iterator_012.phpt @@ -0,0 +1,33 @@ +--TEST-- +SPL: NoRweindIterator +--FILE-- +<?php + +echo "===Current===\n"; + +$it = new NoRewindIterator(new ArrayIterator(array(0 => 'A', 1 => 'B', 2 => 'C'))); + +echo $it->key() . '=>' . $it->current() . "\n"; + +echo "===Next===\n"; + +$it->next(); + +echo "===Foreach===\n"; + +foreach($it as $key=>$val) +{ + echo "$key=>$val\n"; +} + +?> +===DONE=== +<?php exit(0); ?> +--EXPECTF-- +===Current=== +0=>A +===Next=== +===Foreach=== +1=>B +2=>C +===DONE=== diff --git a/ext/spl/tests/iterator_013.phpt b/ext/spl/tests/iterator_013.phpt new file mode 100755 index 0000000000..119631c000 --- /dev/null +++ b/ext/spl/tests/iterator_013.phpt @@ -0,0 +1,66 @@ +--TEST-- +SPL: AppendIterator +--FILE-- +<?php + +echo "===Empty===\n"; + +$it = new AppendIterator; + +foreach($it as $key=>$val) +{ + echo "$key=>$val\n"; +} + +echo "===Append===\n"; + +$it->append(new ArrayIterator(array(0 => 'A', 1 => 'B'))); + +foreach($it as $key=>$val) +{ + echo "$key=>$val\n"; +} + +echo "===Rewind===\n"; + +foreach($it as $key=>$val) +{ + echo "$key=>$val\n"; +} + +echo "===Append===\n"; + +$it->append(new ArrayIterator(array(2 => 'C', 3 => 'D'))); + +foreach(new NoRewindIterator($it) as $key=>$val) +{ + echo "$key=>$val\n"; +} + +echo "===Rewind===\n"; + +foreach($it as $key=>$val) +{ + echo "$key=>$val\n"; +} + +?> +===DONE=== +<?php exit(0); ?> +--EXPECTF-- +===Empty=== +===Append=== +0=>A +1=>B +===Rewind=== +0=>A +1=>B +===Append=== +2=>C +3=>D +===Rewind=== +0=>A +1=>B +2=>C +3=>D +===DONE=== |