spl_pq_top_error_corrupt.phpt [plain text]
--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 {
$priorityQueue->insert("b", 2);
} 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.