File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / spl / tests / spl_pq_top_error_corrupt.phpt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:48:01 2012 UTC (12 years, 6 months ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17p0, v5_4_17, v5_3_10, HEAD
php

--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 {
    //corrupt heap
    $priorityQueue->insert("b", 2);
        // ignore exception tested elsewhere
} 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.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>