\s*\s*]*>\s*([0-9.]*)#s', $php, $phpmatches );
-
- $this->assertContains( $matches[1], $phpmatches[1], "readme.html's Recommended PHP version is too old. Remember to update the WordPress.org Requirements page, too." );
-
- preg_match( '#Recommendations.*MySQL version ([0-9.]*)#s', $readme, $matches );
-
- $response = wp_remote_get( "https://dev.mysql.com/doc/relnotes/mysql/{$matches[1]}/en/" );
- if ( 200 != wp_remote_retrieve_response_code( $response ) ) {
- $this->markTestSkipped( 'Could not contact dev.MySQL.com to check versions.' );
- }
- $mysql = wp_remote_retrieve_body( $response );
-
- preg_match( '#(\d{4}-\d{2}-\d{2}), General Availability#', $mysql, $mysqlmatches );
-
- // Per https://www.mysql.com/support/, Oracle actively supports MySQL releases for 5 years from GA release
- $mysql_eol = strtotime( $mysqlmatches[1] . ' +5 years' );
-
- $this->assertLessThan( $mysql_eol, time(), "readme.html's Recommended MySQL version is too old. Remember to update the WordPress.org Requirements page, too." );
- }
-
function test_license() {
$license = file_get_contents( ABSPATH . 'license.txt' );
preg_match( '#Copyright (\d+) by the contributors#', $license, $matches );
diff --git a/tests/phpunit/tests/external-http/basic.php b/tests/phpunit/tests/external-http/basic.php
new file mode 100644
index 0000000000..70439caf4c
--- /dev/null
+++ b/tests/phpunit/tests/external-http/basic.php
@@ -0,0 +1,40 @@
+ Version (.*)#', $readme, $matches );
+ list( $version ) = explode( '-', $GLOBALS['wp_version'] );
+ $this->assertEquals( $version, trim( $matches[1] ), "readme.html's version needs to be updated to $version." );
+
+ preg_match( '#Recommendations.*PHP version ([0-9.]*)#s', $readme, $matches );
+
+ $response = wp_remote_get( 'https://secure.php.net/supported-versions.php' );
+ if ( 200 != wp_remote_retrieve_response_code( $response ) ) {
+ $this->markTestSkipped( 'Could not contact PHP.net to check versions.' );
+ }
+ $php = wp_remote_retrieve_body( $response );
+
+ preg_match_all( '#\s*\s*]*>\s*([0-9.]*)#s', $php, $phpmatches );
+
+ $this->assertContains( $matches[1], $phpmatches[1], "readme.html's Recommended PHP version is too old. Remember to update the WordPress.org Requirements page, too." );
+
+ preg_match( '#Recommendations.*MySQL version ([0-9.]*)#s', $readme, $matches );
+
+ $response = wp_remote_get( "https://dev.mysql.com/doc/relnotes/mysql/{$matches[1]}/en/" );
+ if ( 200 != wp_remote_retrieve_response_code( $response ) ) {
+ $this->markTestSkipped( 'Could not contact dev.MySQL.com to check versions.' );
+ }
+ $mysql = wp_remote_retrieve_body( $response );
+
+ preg_match( '#(\d{4}-\d{2}-\d{2}), General Availability#', $mysql, $mysqlmatches );
+
+ // Per https://www.mysql.com/support/, Oracle actively supports MySQL releases for 5 years from GA release
+ $mysql_eol = strtotime( $mysqlmatches[1] . ' +5 years' );
+
+ $this->assertLessThan( $mysql_eol, time(), "readme.html's Recommended MySQL version is too old. Remember to update the WordPress.org Requirements page, too." );
+ }
+}
| |