diff --git a/includes/Checker/Checks/Plugin_Repo/Plugin_Readme_Check.php b/includes/Checker/Checks/Plugin_Repo/Plugin_Readme_Check.php index d8496c193..69aa98dd2 100644 --- a/includes/Checker/Checks/Plugin_Repo/Plugin_Readme_Check.php +++ b/includes/Checker/Checks/Plugin_Repo/Plugin_Readme_Check.php @@ -204,14 +204,20 @@ private function check_headers( Check_Result $result, string $readme_file, Parse if ( ! in_array( $field['ignore_key'], $ignored_warnings, true ) && ! isset( $parser_warnings[ $field['ignore_key'] ] ) ) { if ( ! empty( $parser->{$field_key} ) && 'tested' === $field_key ) { + list( $tested_upto, ) = explode( '-', $parser->{$field_key} ); + + if ( preg_match( '#^\d.\d#', $tested_upto, $matches ) ) { + $tested_upto = $matches[0]; + } + $latest_wordpress_version = $this->get_wordpress_stable_version(); - if ( version_compare( $parser->{$field_key}, $latest_wordpress_version, '<' ) ) { + if ( version_compare( $tested_upto, $latest_wordpress_version, '<' ) ) { $this->add_result_error_for_file( $result, sprintf( /* translators: 1: currently used version, 2: latest stable WordPress version, 3: 'Tested up to' */ __( 'Tested up to: %1$s < %2$s.
The "%3$s" value in your plugin is not set to the current version of WordPress. This means your plugin will not show up in searches, as we require plugins to be compatible and documented as tested up to the most recent version of WordPress.', 'plugin-check' ), - $parser->{$field_key}, + $tested_upto, $latest_wordpress_version, 'Tested up to' ), @@ -222,13 +228,13 @@ private function check_headers( Check_Result $result, string $readme_file, Parse 'https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-works/#readme-header-information', 7 ); - } elseif ( version_compare( $parser->{$field_key}, number_format( (float) $latest_wordpress_version + 0.1, 1 ), '>' ) ) { + } elseif ( version_compare( $tested_upto, number_format( (float) $latest_wordpress_version + 0.1, 1 ), '>' ) ) { $this->add_result_error_for_file( $result, sprintf( /* translators: 1: currently used version, 2: 'Tested up to' */ __( 'Tested up to: %1$s.
The "%2$s" value in your plugin is not valid. This version of WordPress does not exist (yet).', 'plugin-check' ), - $parser->{$field_key}, + $tested_upto, 'Tested up to' ), 'nonexistent_tested_upto_header', diff --git a/tests/phpunit/testdata/plugins/test-plugin-plugin-readme-md-with-errors/readme.md b/tests/phpunit/testdata/plugins/test-plugin-plugin-readme-md-with-errors/readme.md index a6e6ce7e9..c7186d048 100644 --- a/tests/phpunit/testdata/plugins/test-plugin-plugin-readme-md-with-errors/readme.md +++ b/tests/phpunit/testdata/plugins/test-plugin-plugin-readme-md-with-errors/readme.md @@ -3,7 +3,7 @@ Contributors: https://johndoe.com Requires at least: 6.0 -Tested up to: 6.1 +Tested up to: 6.1.0 Requires PHP: 5.6 Stable tag: trunk License: Oculus VR Inc. Software Development Kit License