diff --git a/includes/Checker/Checks/Plugin_Repo/Plugin_Readme_Check.php b/includes/Checker/Checks/Plugin_Repo/Plugin_Readme_Check.php index 04d0851d7..62e78731d 100644 --- a/includes/Checker/Checks/Plugin_Repo/Plugin_Readme_Check.php +++ b/includes/Checker/Checks/Plugin_Repo/Plugin_Readme_Check.php @@ -207,14 +207,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' ), @@ -225,13 +231,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 68637e562..695e2937e 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