Annotation of embedaddon/php/ext/spl/tests/pqueue_002.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: SPL: SplPriorityQueue: exceptions
3: --FILE--
4: <?php
5: class myPQueue extends SplPriorityQueue {
6: public function compare($a, $b) {
7: throw new exception("foo");
8: }
9: }
10:
11: $h = new myPQueue;
12:
13: try {
14: $h->insert(1, 1);
15: echo "inserted 1\n";
16: $h->insert(2, 1);
17: echo "inserted 2\n";
18: $h->insert(3, 1);
19: echo "inserted 3\n";
20: } catch(Exception $e) {
21: echo "Exception: ".$e->getMessage()."\n";
22: }
23:
24: try {
25: $h->insert(4, 1);
26: echo "inserted 4\n";
27: } catch(Exception $e) {
28: echo "Exception: ".$e->getMessage()."\n";
29: }
30:
31: try {
32: var_dump($h->extract());
33: } catch(Exception $e) {
34: echo "Exception: ".$e->getMessage()."\n";
35: }
36: try {
37: var_dump($h->extract());
38: } catch(Exception $e) {
39: echo "Exception: ".$e->getMessage()."\n";
40: }
41:
42: echo "Recovering..\n";
43: $h->recoverFromCorruption();
44:
45: try {
46: var_dump($h->extract());
47: } catch(Exception $e) {
48: echo "Exception: ".$e->getMessage()."\n";
49: }
50: try {
51: var_dump($h->extract());
52: } catch(Exception $e) {
53: echo "Exception: ".$e->getMessage()."\n";
54: }
55: ?>
56: ===DONE===
57: <?php exit(0); ?>
58: --EXPECTF--
59: inserted 1
60: Exception: foo
61: Exception: Heap is corrupted, heap properties are no longer ensured.
62: Exception: Heap is corrupted, heap properties are no longer ensured.
63: Exception: Heap is corrupted, heap properties are no longer ensured.
64: Recovering..
65: int(1)
66: int(2)
67: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>