--TEST-- SPL: SplHeap - heap corruption via compare exception (with top element deletion) --CREDITS-- Mike Sullivan #TestFest 2009 (London) --FILE-- allow_compare == true) { if ($v1 > $v2) { return 1; } else if ($v1 < $v2) { return -1; } else { return 0; } } else { throw new Exception('Compare exception'); } } } $heap = new myHeap(); $heap->insert(1); $heap->insert(2); $heap->insert(3); $heap->insert(4); $heap->allow_compare = false; try { $heap->extract(); } catch (Exception $e) { echo "Compare Exception: " . $e->getMessage() . PHP_EOL; } try { $heap->top(); } catch (Exception $e) { echo "Corruption Exception: " . $e->getMessage() . PHP_EOL; } ?> --EXPECT-- Compare Exception: Compare exception Corruption Exception: Heap is corrupted, heap properties are no longer ensured.