Annotation of embedaddon/php/ext/spl/tests/pqueue_001.phpt, revision 1.1.1.2

1.1       misho       1: --TEST--
                      2: SPL: SplPriorityQueue: std operations and extract flags
                      3: --FILE--
                      4: <?php
                      5: $pq = new SplPriorityQueue();
                      6: 
                      7: // errors
                      8: try {
                      9:     $pq->extract();
                     10: } catch (RuntimeException $e) {
                     11:     echo "Exception: ".$e->getMessage()."\n";
                     12: }
                     13: 
                     14: $pq->insert("a", 1);
                     15: $pq->insert("b", 2);
                     16: $pq->insert("c", 0);
                     17: 
                     18: foreach ($pq as $k=>$v) {
                     19:     echo "$k=>".print_r($v, 1)."\n";
                     20: }
                     21: 
                     22: echo "EXTR_BOTH\n";
                     23: 
                     24: $pq1 = new SplPriorityQueue();
                     25: $pq1->setExtractFlags(SplPriorityQueue::EXTR_BOTH);
                     26: 
                     27: $pq1->insert("a", 1);
                     28: $pq1->insert("b", 2);
                     29: $pq1->insert("c", 0);
                     30: 
                     31: foreach ($pq1 as $k=>$v) {
                     32:     echo "$k=>".print_r($v, 1)."\n";
                     33: }
                     34: 
                     35: echo "EXTR_DATA\n";
                     36: 
                     37: $pq2 = new SplPriorityQueue();
                     38: $pq2->setExtractFlags(SplPriorityQueue::EXTR_DATA);
                     39: 
                     40: $pq2->insert("a", 1);
                     41: $pq2->insert("b", 2);
                     42: $pq2->insert("c", 0);
                     43: 
                     44: foreach ($pq2 as $k=>$v) {
                     45:     echo "$k=>".print_r($v, 1)."\n";
                     46: }
                     47: 
                     48: echo "EXTR_PRIORITY\n";
                     49: 
                     50: $pq3 = new SplPriorityQueue();
                     51: $pq3->setExtractFlags(SplPriorityQueue::EXTR_PRIORITY);
                     52: 
                     53: $pq3->insert("a", 1);
                     54: $pq3->insert("b", 2);
                     55: $pq3->insert("c", 0);
                     56: 
                     57: foreach ($pq3 as $k=>$v) {
                     58:     echo "$k=>".print_r($v, 1)."\n";
                     59: }
                     60: 
                     61: ?>
                     62: ===DONE===
                     63: <?php exit(0); ?>
                     64: --EXPECTF--
                     65: Exception: Can't extract from an empty heap
1.1.1.2 ! misho      66: 2=>b
        !            67: 1=>a
        !            68: 0=>c
1.1       misho      69: EXTR_BOTH
1.1.1.2 ! misho      70: 2=>Array
1.1       misho      71: (
                     72:     [data] => b
                     73:     [priority] => 2
                     74: )
                     75: 
1.1.1.2 ! misho      76: 1=>Array
1.1       misho      77: (
                     78:     [data] => a
                     79:     [priority] => 1
                     80: )
                     81: 
1.1.1.2 ! misho      82: 0=>Array
1.1       misho      83: (
                     84:     [data] => c
                     85:     [priority] => 0
                     86: )
                     87: 
                     88: EXTR_DATA
1.1.1.2 ! misho      89: 2=>b
        !            90: 1=>a
        !            91: 0=>c
1.1       misho      92: EXTR_PRIORITY
1.1.1.2 ! misho      93: 2=>2
        !            94: 1=>1
        !            95: 0=>0
1.1       misho      96: ===DONE===

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