Wordpress/tests/phpunit/includes/trac.php
John Blackbourn 8df2151660 General: Improve terminology used when referring to installations of WordPress and its extensions.
"Install" is not a noun, and while it might be acceptable to use the verb as a noun, it is not correct. Using the correct
noun, "installation", increases clarity, especially for non-native English speakers.

This change fixes the usage in user-facing text and in developer documentation.

Fixes #41620


git-svn-id: https://develop.svn.wordpress.org/trunk@41289 602fd350-edb4-49c9-b593-d223f7449a82
2017-08-22 11:51:11 +00:00

59 lines
2.1 KiB
PHP

<?php
class TracTickets {
/**
* When open tickets for a Trac installation is requested, the results are stored here.
*
* @var array
*/
protected static $trac_ticket_cache = array();
/**
* Checks if track ticket #$ticket_id is resolved
*
* @return bool|null true if the ticket is resolved, false if not resolved, null on error
*/
public static function isTracTicketClosed( $trac_url, $ticket_id ) {
if ( ! extension_loaded( 'openssl' ) ) {
$trac_url = preg_replace( "/^https:/", "http:", $trac_url );
}
if ( ! isset( self::$trac_ticket_cache[ $trac_url ] ) ) {
// In case you're running the tests offline, keep track of open tickets.
$file = DIR_TESTDATA . '/.trac-ticket-cache.' . str_replace( array( 'http://', 'https://', '/' ), array( '', '', '-' ), rtrim( $trac_url, '/' ) );
$tickets = @file_get_contents( $trac_url . '/query?status=%21closed&format=csv&col=id' );
// Check if our HTTP request failed.
if ( false === $tickets ) {
if ( file_exists( $file ) ) {
register_shutdown_function( array( 'TracTickets', 'usingLocalCache' ) );
$tickets = file_get_contents( $file );
} else {
register_shutdown_function( array( 'TracTickets', 'forcingKnownBugs' ) );
self::$trac_ticket_cache[ $trac_url ] = array();
return true; // Assume the ticket is closed, which means it gets run.
}
} else {
$tickets = substr( $tickets, 2 ); // remove 'id' column header
$tickets = trim( $tickets );
file_put_contents( $file, $tickets );
}
$tickets = explode( "\r\n", $tickets );
self::$trac_ticket_cache[ $trac_url ] = $tickets;
}
return ! in_array( $ticket_id, self::$trac_ticket_cache[ $trac_url ] );
}
public static function usingLocalCache() {
echo PHP_EOL . "\x1b[0m\x1b[30;43m\x1b[2K";
echo 'INFO: Trac was inaccessible, so a local ticket status cache was used.' . PHP_EOL;
echo "\x1b[0m\x1b[2K";
}
public static function forcingKnownBugs() {
echo PHP_EOL . "\x1b[0m\x1b[37;41m\x1b[2K";
echo "ERROR: Trac was inaccessible, so known bugs weren't able to be skipped." . PHP_EOL;
echo "\x1b[0m\x1b[2K";
}
}