summaryrefslogtreecommitdiff
path: root/ext/spl/tests/spl_heap_count_basic.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/tests/spl_heap_count_basic.phpt')
-rw-r--r--ext/spl/tests/spl_heap_count_basic.phpt35
1 files changed, 35 insertions, 0 deletions
diff --git a/ext/spl/tests/spl_heap_count_basic.phpt b/ext/spl/tests/spl_heap_count_basic.phpt
new file mode 100644
index 0000000..6e6baf6
--- /dev/null
+++ b/ext/spl/tests/spl_heap_count_basic.phpt
@@ -0,0 +1,35 @@
+--TEST--
+SPL: SplHeap, Test spl_heap_object_count_elements (spl_heap.c:490) for returning count() failure for Heaps
+--CREDITS--
+Chris Scott chris.scott@nstein.com
+#testfest London 2009-05-09
+--FILE--
+<?php
+
+class MyHeap extends SplHeap
+{
+ public function compare($a,$b)
+ {
+ return ($a < $b);
+ }
+
+ public function count() // override count to force failure
+ {
+ throw new Exception('Cause count to fail');
+ return parent::count();
+ }
+}
+
+
+$heap = new MyHeap();
+$heap->insert(1);
+count($heap);// refers to MyHeap->count() method
+
+?>
+--EXPECTF--
+Fatal error: Uncaught exception 'Exception' with message 'Cause count to fail' in %s
+Stack trace:
+#0 [internal function]: MyHeap->count()
+#1 %s count(Object(MyHeap))
+#2 {main}
+ thrown in %s on line %d