From 3f338ee8d9c960f8f0bc2abc94888a5cb1c19a9d Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Sun, 19 Apr 2020 15:51:13 +0200 Subject: [PATCH] Make sure versions are sorted before they get trimmed in error output --- src/Composer/DependencyResolver/Problem.php | 1 + .../Test/Fixtures/installer/problems-reduce-versions.test | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Composer/DependencyResolver/Problem.php b/src/Composer/DependencyResolver/Problem.php index 683c06e78..1754ef82c 100644 --- a/src/Composer/DependencyResolver/Problem.php +++ b/src/Composer/DependencyResolver/Problem.php @@ -300,6 +300,7 @@ class Problem unset($package['versions'][VersionParser::DEV_MASTER_ALIAS]); } if (!$isVerbose && count($package['versions']) > 4) { + uksort($package['versions'], 'version_compare'); $filtered = array(); $byMajor = array(); foreach ($package['versions'] as $version => $pretty) { diff --git a/tests/Composer/Test/Fixtures/installer/problems-reduce-versions.test b/tests/Composer/Test/Fixtures/installer/problems-reduce-versions.test index 1235e9467..e67f33a43 100644 --- a/tests/Composer/Test/Fixtures/installer/problems-reduce-versions.test +++ b/tests/Composer/Test/Fixtures/installer/problems-reduce-versions.test @@ -11,29 +11,30 @@ Test the error output minifies version lists {"name": "b/b", "version": "1.0.1"}, {"name": "b/b", "version": "1.0.2"}, {"name": "b/b", "version": "1.0.3"}, + {"name": "b/b", "version": "v1.1.4"}, {"name": "b/b", "version": "1.0.4"}, {"name": "b/b", "version": "1.0.5"}, {"name": "b/b", "version": "1.0.6"}, {"name": "b/b", "version": "1.0.7"}, + {"name": "b/b", "version": "1.1.0"}, + {"name": "b/b", "version": "2.0.5"}, {"name": "b/b", "version": "1.0.8"}, {"name": "b/b", "version": "1.0.9"}, - {"name": "b/b", "version": "1.1.0"}, {"name": "b/b", "version": "1.1.1"}, {"name": "b/b", "version": "1.1.2"}, {"name": "b/b", "version": "1.1.3"}, - {"name": "b/b", "version": "v1.1.4"}, {"name": "b/b", "version": "1.1.5"}, {"name": "b/b", "version": "v1.1.6"}, {"name": "b/b", "version": "1.1.7-alpha"}, {"name": "b/b", "version": "1.1.8"}, {"name": "b/b", "version": "1.1.9"}, {"name": "b/b", "version": "1.2.0"}, - {"name": "b/b", "version": "1.2.1"}, {"name": "b/b", "version": "1.2.2"}, {"name": "b/b", "version": "1.2.3"}, {"name": "b/b", "version": "1.2.4"}, {"name": "b/b", "version": "1.2.5"}, {"name": "b/b", "version": "1.2.6"}, + {"name": "b/b", "version": "1.2.1"}, {"name": "b/b", "version": "1.2.7"}, {"name": "b/b", "version": "1.2.8"}, {"name": "b/b", "version": "1.2.9"}, @@ -42,7 +43,6 @@ Test the error output minifies version lists {"name": "b/b", "version": "2.0.2"}, {"name": "b/b", "version": "2.0.3"}, {"name": "b/b", "version": "2.0.4"}, - {"name": "b/b", "version": "2.0.5"}, {"name": "b/b", "version": "2.0.6"}, {"name": "b/b", "version": "2.0.7"}, {"name": "b/b", "version": "2.0.8"},