mirror of
https://github.com/php/php-src.git
synced 2024-10-19 07:22:40 +00:00
39 lines
738 B
Plaintext
39 lines
738 B
Plaintext
|
--TEST--
|
||
|
SPL: SplPriorityQueue: top and extract flags
|
||
|
--CREDITS--
|
||
|
Nathaniel McHugh nat@fishtrap.co.uk
|
||
|
#testfest 2009-05-09
|
||
|
--FILE--
|
||
|
<?php
|
||
|
|
||
|
class myPriorityQueue extends SplPriorityQueue{
|
||
|
|
||
|
public function compare($a, $b){
|
||
|
if ($b == 2) {
|
||
|
throw new Exception('ignore me');
|
||
|
} else {
|
||
|
return parent::compare($a, $b);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$priorityQueue = new myPriorityQueue();
|
||
|
$priorityQueue->insert("a", 1);
|
||
|
|
||
|
try {
|
||
|
//corrupt heap
|
||
|
$priorityQueue->insert("b", 2);
|
||
|
// ignore exception tested elsewhere
|
||
|
} catch (Exception $e) {
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
$priorityQueue->top();
|
||
|
} catch (RuntimeException $e) {
|
||
|
echo "Exception: ".$e->getMessage().PHP_EOL;
|
||
|
}
|
||
|
|
||
|
?>
|
||
|
--EXPECT--
|
||
|
Exception: Heap is corrupted, heap properties are no longer ensured.
|