mirror of
https://github.com/php/php-src.git
synced 2024-10-20 16:02:44 +00:00
57 lines
1.2 KiB
Plaintext
57 lines
1.2 KiB
Plaintext
|
--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==
|