diff options
Diffstat (limited to 'ext/spl/tests/heap_009.phpt')
-rw-r--r-- | ext/spl/tests/heap_009.phpt | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/ext/spl/tests/heap_009.phpt b/ext/spl/tests/heap_009.phpt new file mode 100644 index 0000000..f660b24 --- /dev/null +++ b/ext/spl/tests/heap_009.phpt @@ -0,0 +1,56 @@ +--TEST-- +SPL: SplHeap and friends, throw: An iterator cannot be used with foreach by reference +--CREDITS-- +Thomas Koch <thomas@koch.ro> +#Hackday Webtuesday 2008-05-24 +--FILE-- +<?php +function testForException( $heap ) +{ + try + { + foreach( $heap as &$item ); + } + catch( RuntimeException $e ) + { + echo $e->getMessage(),"\n"; + } +} + +// 1. SplMinHeap emtpy +$heap = new SplMinHeap; +testForException( $heap ); + +// 2. SplMinHeap non-emtpy +$heap = new SplMinHeap; +$heap->insert( 1 ); +testForException( $heap ); + +// 3. SplMaxHeap emtpy +$heap = new SplMaxHeap; +testForException( $heap ); + +// 4. SplMaxHeap non-emtpy +$heap = new SplMaxHeap; +$heap->insert( 1 ); +testForException( $heap ); + +// 5. SplPriorityQueue empty +$heap = new SplPriorityQueue; +testForException( $heap ); + +// 6. SplPriorityQueue non-empty +$heap = new SplPriorityQueue; +$heap->insert( 1, 2 ); +testForException( $heap ); + +?> +==DONE== +--EXPECT-- +An iterator cannot be used with foreach by reference +An iterator cannot be used with foreach by reference +An iterator cannot be used with foreach by reference +An iterator cannot be used with foreach by reference +An iterator cannot be used with foreach by reference +An iterator cannot be used with foreach by reference +==DONE== |