WordPress.org

Make WordPress Core

Changeset 572 in tests


Ignore:
Timestamp:
03/13/12 22:24:08 (2 years ago)
Author:
kurtpayne
Message:

Cache results of isTracTicketClosed

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wp-testlib/base.php

    r566 r572  
    396396     */ 
    397397    function isTracTicketClosed($trac_url, $ticket_id) { 
    398         #TODO: cache it 
     398        global $trac_ticket_cache; 
     399        if ( !isset( $trac_ticket_cache ) || !is_array( $trac_ticket_cache )) 
     400            $trac_ticket_cache = array(); 
    399401        $trac_url = rtrim($trac_url, '/'); 
    400         $ticket_tsv = file_get_contents("$trac_url/ticket/$ticket_id?format=tab"); 
     402        $url = "$trac_url/ticket/$ticket_id?format=tab";         
     403        if ( array_key_exists( $url, $trac_ticket_cache ) ) { 
     404            return $trac_ticket_cache[$url]; 
     405        } 
     406        $ticket_tsv = file_get_contents($url);       
    401407        if (false === $ticket_tsv) { 
    402             return null; 
     408            $trac_ticket_cache[$url] = null; 
     409            return $trac_ticket_cache[$url]; 
    403410        } 
    404411        $lines = explode("\n", $ticket_tsv, 2); 
    405412        if (!is_array($lines) || count($lines) < 2) { 
    406             return null; 
     413            $trac_ticket_cache[$url] = null; 
     414            return $trac_ticket_cache[$url]; 
    407415        } 
    408416        $titles = str_getcsv( $lines[0], "\t" ); 
    409417        $status_idx = array_search('status', $titles); 
    410418        if (false === $status_idx) { 
    411             return null; 
     419            $trac_ticket_cache[$url] = null; 
     420            return $trac_ticket_cache[$url]; 
    412421        } 
    413422        $tabs = str_getcsv( $lines[1], "\t" ); 
    414         return 'closed' === $tabs[$status_idx]; 
     423        $trac_ticket_cache[$url] = ( 'closed' === $tabs[$status_idx] ); 
     424        return $trac_ticket_cache[$url]; 
    415425    } 
    416426 
Note: See TracChangeset for help on using the changeset viewer.