Issue #3127168 by quietone, tedbow, dww: Create contrib Update test for legacy to semver releases

(cherry picked from commit 6c1d6a5b5e)
merge-requests/7849/head
Dave Long 2024-04-16 17:02:34 +01:00
parent fb156f9317
commit 6313a810fb
No known key found for this signature in database
GPG Key ID: ED52AE211E142771
4 changed files with 619 additions and 1 deletions

View File

@ -0,0 +1,238 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This fixture is used by \Drupal\Tests\update\Functional\UpdateSemverContribTestBase.
It should be the same as semver_test.1.o.xml with the exception of the value of
the supported branches element. In this fixture legacy version sre not
supported.
-->
<project xmlns:dc="http://purl.org/dc/elements/1.1/">
<title>Semver Test</title>
<short_name>semver_test</short_name>
<dc:creator>Drupal</dc:creator>
<supported_branches>8.0.,8.1.</supported_branches>
<project_status>published</project_status>
<link>http://example.com/project/semver_test</link>
<terms>
<term><name>Projects</name><value>Semver Test project</value></term>
</terms>
<releases>
<release>
<!-- This release is not in a supported branch; therefore it should not be recommended. -->
<name>Semver Test 8.2.0</name>
<version>8.2.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-2-0-release</release_link>
<download_link>http://example.com/semver_test-8-2-0.tar.gz</download_link>
<date>1584195300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.1.0</name>
<version>8.1.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-1-0-release</release_link>
<download_link>http://example.com/semver_test-8-1-0.tar.gz</download_link>
<date>1581603300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.1.0-beta1</name>
<version>8.1.0-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-1-0-beta1-release</release_link>
<download_link>http://example.com/semver_test-8-1-0-beta1.tar.gz</download_link>
<date>1579011300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.1.0-alpha1</name>
<version>8.1.0-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-1-0-alpha1-release</release_link>
<download_link>http://example.com/semver_test-8-1-0-alpha1.tar.gz</download_link>
<date>1576419300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.3</name>
<version>8.0.3</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-3-release</release_link>
<download_link>http://example.com/semver_test-8-0-3.tar.gz</download_link>
<date>1573827300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
<term><name>Release type</name><value>Unsupported</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.2</name>
<version>8.0.2</version>
<status>unpublished</status>
<release_link>http://example.com/semver_test-8-0-2-release</release_link>
<download_link>http://example.com/semver_test-8-0-2.tar.gz</download_link>
<date>1571235300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.1</name>
<version>8.0.1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-1-release</release_link>
<download_link>http://example.com/semver_test-8-0-1.tar.gz</download_link>
<date>1568643300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.1-beta1</name>
<version>8.0.1-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-1-beta1-release</release_link>
<download_link>http://example.com/semver_test-8-0-1-beta1.tar.gz</download_link>
<date>1566051300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.1-alpha1</name>
<version>8.0.1-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-1-alpha1-release</release_link>
<download_link>http://example.com/semver_test-8-0-1-alpha1.tar.gz</download_link>
<date>1563459300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.0</name>
<version>8.0.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-0-release</release_link>
<download_link>http://example.com/semver_test-8-0-0.tar.gz</download_link>
<date>1560867300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.0-beta1</name>
<version>8.0.0-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-0-beta1-release</release_link>
<download_link>http://example.com/semver_test-8-0-0-beta1.tar.gz</download_link>
<date>1558275300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.0-alpha1</name>
<version>8.0.0-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-0-alpha1-release</release_link>
<download_link>http://example.com/semver_test-8-0-0-alpha1.tar.gz</download_link>
<date>1555683300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-7.1</name>
<version>8.x-7.1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-7-1-release</release_link>
<download_link>http://example.com/semver_test-8-x-7-1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-7.1-beta1</name>
<version>8.x-7.1-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-7-1-beta1-release</release_link>
<download_link>http://example.com/semver_test-8-x-7-1-beta1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-7.1-alpha1</name>
<version>8.x-7.1-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-7-1-alpha1-release</release_link>
<download_link>http://example.com/semver_test-8-x-7-1-alpha1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-7.0</name>
<version>8.x-7.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-7-0-release</release_link>
<download_link>http://example.com/semver_test-8-x-7-0.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-7.0-beta1</name>
<version>8.x-7.0-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-7-0-beta1-release</release_link>
<download_link>http://example.com/semver_test-8-x-7-0-beta1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-7.0-alpha1</name>
<version>8.x-7.0-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-7-0-alpha1-release</release_link>
<download_link>http://example.com/semver_test-8-x-7-0-alpha1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
</releases>
</project>

View File

@ -3,7 +3,7 @@
<title>Semver Test</title>
<short_name>semver_test</short_name>
<dc:creator>Drupal</dc:creator>
<supported_branches>8.0.,8.1.</supported_branches>
<supported_branches>8.x-7.,8.0.,8.1.</supported_branches>
<project_status>published</project_status>
<link>http://example.com/project/semver_test</link>
<terms>
@ -168,5 +168,83 @@
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-7.1</name>
<version>8.x-7.1</version>
<tag>SEMVER_TEST-8-x-7-1</tag>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-7-1-release</release_link>
<download_link>http://example.com/semver_test-8-x-7-1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-7.1-beta1</name>
<version>8.x-7.1-beta1</version>
<tag>SEMVER_TEST-8-x-7-1-beta1</tag>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-7-1-beta1-release</release_link>
<download_link>http://example.com/semver_test-8-x-7-1-beta1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-7.1-alpha1</name>
<version>8.x-7.1-alpha1</version>
<tag>SEMVER_TEST-8-x-7-1-alpha1</tag>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-7-1-alpha1-release</release_link>
<download_link>http://example.com/semver_test-8-x-7-1-alpha1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-7.0</name>
<version>8.x-7.0</version>
<tag>SEMVER_TEST-8-x-7-0</tag>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-7-0-release</release_link>
<download_link>http://example.com/semver_test-8-x-7-0.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-7.0-beta1</name>
<version>8.x-7.0-beta1</version>
<tag>SEMVER_TEST-8-x-7-0-beta1</tag>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-7-0-beta1-release</release_link>
<download_link>http://example.com/semver_test-8-x-7-0-beta1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-7.0-alpha1</name>
<version>8.x-7.0-alpha1</version>
<tag>SEMVER_TEST-8-x-7-0-alpha1</tag>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-7-0-alpha1-release</release_link>
<download_link>http://example.com/semver_test-8-x-7-0-alpha1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
</releases>
</project>

View File

@ -0,0 +1,237 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This fixture is used by \Drupal\Tests\update\Functional\UpdateSemverContribTestBase.
It should be the same as semver_test.1.o.xml with the exception the major
version numbers. In this file the major versions are 8 an 9 instead of 7 and 8.
-->
<project xmlns:dc="http://purl.org/dc/elements/1.1/">
<title>Semver Test</title>
<short_name>semver_test</short_name>
<dc:creator>Drupal</dc:creator>
<supported_branches>8.x-8.,9.0.,9.1.</supported_branches>
<project_status>published</project_status>
<link>http://example.com/project/semver_test</link>
<terms>
<term><name>Projects</name><value>Semver Test project</value></term>
</terms>
<releases>
<release>
<!-- This release is not in a supported branch; therefore it should not be recommended. -->
<name>Semver Test 9.2.0</name>
<version>9.2.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-9-2-0-release</release_link>
<download_link>http://example.com/semver_test-9-2-0.tar.gz</download_link>
<date>1584195300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 9.1.0</name>
<version>9.1.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-9-1-0-release</release_link>
<download_link>http://example.com/semver_test-9-1-0.tar.gz</download_link>
<date>1581603300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 9.1.0-beta1</name>
<version>9.1.0-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-9-1-0-beta1-release</release_link>
<download_link>http://example.com/semver_test-9-1-0-beta1.tar.gz</download_link>
<date>1579011300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 9.1.0-alpha1</name>
<version>9.1.0-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-9-1-0-alpha1-release</release_link>
<download_link>http://example.com/semver_test-9-1-0-alpha1.tar.gz</download_link>
<date>1576419300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 9.0.3</name>
<version>9.0.3</version>
<status>published</status>
<release_link>http://example.com/semver_test-9-0-3-release</release_link>
<download_link>http://example.com/semver_test-9-0-3.tar.gz</download_link>
<date>1573827300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
<term><name>Release type</name><value>Unsupported</value></term>
</terms>
</release>
<release>
<name>Semver Test 9.0.2</name>
<version>9.0.2</version>
<status>unpublished</status>
<release_link>http://example.com/semver_test-9-0-2-release</release_link>
<download_link>http://example.com/semver_test-9-0-2.tar.gz</download_link>
<date>1571235300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 9.0.1</name>
<version>9.0.1</version>
<status>published</status>
<release_link>http://example.com/semver_test-9-0-1-release</release_link>
<download_link>http://example.com/semver_test-9-0-1.tar.gz</download_link>
<date>1568643300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 9.0.1-beta1</name>
<version>9.0.1-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-9-0-1-beta1-release</release_link>
<download_link>http://example.com/semver_test-9-0-1-beta1.tar.gz</download_link>
<date>1566051300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 9.0.1-alpha1</name>
<version>9.0.1-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-9-0-1-alpha1-release</release_link>
<download_link>http://example.com/semver_test-9-0-1-alpha1.tar.gz</download_link>
<date>1563459300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 9.0.0</name>
<version>9.0.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-9-0-0-release</release_link>
<download_link>http://example.com/semver_test-9-0-0.tar.gz</download_link>
<date>1560867300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 9.0.0-beta1</name>
<version>9.0.0-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-9-0-0-beta1-release</release_link>
<download_link>http://example.com/semver_test-9-0-0-beta1.tar.gz</download_link>
<date>1558275300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 9.0.0-alpha1</name>
<version>9.0.0-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-9-0-0-alpha1-release</release_link>
<download_link>http://example.com/semver_test-9-0-0-alpha1.tar.gz</download_link>
<date>1555683300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-8.1</name>
<version>8.x-8.1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-8-1-release</release_link>
<download_link>http://example.com/semver_test-8-x-8-1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-8.1-beta1</name>
<version>8.x-8.1-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-8-1-beta1-release</release_link>
<download_link>http://example.com/semver_test-8-x-8-1-beta1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-8.1-alpha1</name>
<version>8.x-8.1-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-8-1-alpha1-release</release_link>
<download_link>http://example.com/semver_test-8-x-8-1-alpha1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-8.0</name>
<version>8.x-8.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-8-0-release</release_link>
<download_link>http://example.com/semver_test-8-x-8-0.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-8.0-beta1</name>
<version>8.x-8.0-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-8-0-beta1-release</release_link>
<download_link>http://example.com/semver_test-8-x-8-0-beta1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.x-8.0-alpha1</name>
<version>8.x-8.0-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-x-8-0-alpha1-release</release_link>
<download_link>http://example.com/semver_test-8-x-8-0-alpha1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
</releases>
</project>

View File

@ -52,4 +52,69 @@ class UpdateSemverContribTestBase extends UpdateSemverTestBase {
$this->mockDefaultExtensionsInfo(['version' => '8.0.0']);
}
/**
* Tests updates from legacy versions to the semver versions.
*/
public function testUpdatesLegacyToSemver(): void {
// Test cases where the legacy branch is in the XML 'supported_branches' and
// when it is not.
foreach ([TRUE, FALSE] as $legacy_supported) {
// Test 2 legacy majors.
foreach ([7, 8] as $legacy_major) {
$semver_major = $legacy_major + 1;
$installed_versions = [
"8.x-$legacy_major.0-alpha1",
"8.x-$legacy_major.0-beta1",
"8.x-$legacy_major.0",
"8.x-$legacy_major.1-alpha1",
"8.x-$legacy_major.1-beta1",
"8.x-$legacy_major.1",
];
foreach ($installed_versions as $installed_version) {
$this->setProjectInstalledVersion($installed_version);
if ($legacy_supported) {
$fixture = $legacy_major === 7 ? '8.1.0' : '9.1.0';
}
else {
if ($legacy_major === 8) {
continue;
}
$fixture = '8.1.0-legacy-unsupported';
}
$this->refreshUpdateStatus([$this->updateProject => $fixture]);
$this->assertUpdateTableTextNotContains('Security update required!');
$this->assertSession()->elementTextContains('css', $this->updateTableLocator . " .project-update__title", $installed_version);
if ($legacy_supported) {
// All installed versions should indicate that there is an update
// available for the next major version of the module.
// '$legacy_major.1.0' is shown for the next major version because
// it is the latest full release for that major.
// @todo Determine if both 8.0.0 and 8.0.1 should be expected as
// "Also available" releases in
// https://www.drupal.org/project/node/3100115.
$this->assertVersionUpdateLinks('Also available:', "$semver_major.1.0");
if ($installed_version === "8.x-$legacy_major.1") {
$this->assertUpdateTableTextContains('Up to date');
$this->assertUpdateTableTextNotContains('Update available');
}
else {
$this->assertUpdateTableTextNotContains('Up to date');
$this->assertUpdateTableTextContains('Update available');
// All installed versions besides 8.x-$legacy_major.1 should
// recommend 8.x-$legacy_major.1 because it is the latest full
// release for the major.
$this->assertVersionUpdateLinks('Recommended version:', "8.x-$legacy_major.1");
}
}
else {
// If '8.x-7.' is not in the XML 'supported_branches' value then the
// latest release for the next major should always be recommended.
$this->assertVersionUpdateLinks('Recommended version:', "$semver_major.1.0");
}
}
}
}
}
}