1--TEST--
2SPL: SplHeap top, corrupted heap
3--CREDITS--
4Mark Schaschke (mark@fractalturtle.com)
5TestFest London May 2009
6--FILE--
7<?php
8// override heap to force corruption by throwing exception in compare
9class SplMinHeap2 extends SplMinHeap {
10    public function compare($a, $b): int {
11        throw new Exception('Corrupt heap');
12    }
13}
14
15$h = new SplMinHeap2();
16
17// insert 2 elements to hit our overridden compare
18$h->insert(4);
19try {
20    $h->insert(5);
21} catch (Exception $e) {}
22
23// call top, should fail with corrupted heap
24try {
25    $h->top();
26} catch (Exception $e) {
27    echo $e->getMessage();
28}
29?>
30--EXPECT--
31Heap is corrupted, heap properties are no longer ensured.
32