From 5ea984ee7cafa13ebaa7153d10d2dc56ccf1e097 Mon Sep 17 00:00:00 2001
From: Sergio Zharinov <zharinov@users.noreply.github.com>
Date: Sat, 25 Apr 2020 13:38:14 +0400
Subject: [PATCH] fix(maven): Fix invalid range extending (#6039)

---
 lib/versioning/maven/compare.ts    | 6 ++++++
 lib/versioning/maven/index.spec.ts | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/lib/versioning/maven/compare.ts b/lib/versioning/maven/compare.ts
index a06b0a1c91..cf8d6c28a3 100644
--- a/lib/versioning/maven/compare.ts
+++ b/lib/versioning/maven/compare.ts
@@ -488,6 +488,12 @@ function autoExtendMavenRange(
   } else {
     interval.leftValue = newValue;
   }
+  if (interval.leftValue && interval.rightValue) {
+    if (compare(interval.leftValue, interval.rightValue) !== 1) {
+      return rangeToStr(range);
+    }
+    return currentRepresentation;
+  }
   return rangeToStr(range);
 }
 
diff --git a/lib/versioning/maven/index.spec.ts b/lib/versioning/maven/index.spec.ts
index 0a3604161c..b18cc1dda4 100644
--- a/lib/versioning/maven/index.spec.ts
+++ b/lib/versioning/maven/index.spec.ts
@@ -251,6 +251,10 @@ describe('versioning/maven/compare', () => {
       ['[1.2.3,)', '1.2.4', '[1.2.4,)'],
       ['[1.2.3,[', '1.2.4', '[1.2.4,['],
       ['[1.2.3,]', '1.2.4', '[1.2.3,]'], // invalid range
+      ['[0.21,0.22)', '0.20.21', '[0.21,0.22)'],
+      ['[0.21,0.22)', '0.21.1', '[0.21,0.22)'],
+      ['[0.21,0.22)', '0.22.1', '[0.21,0.22.1)'],
+      ['[0.21,0.22)', '0.23', '[0.21,0.23)'],
     ];
     sample.forEach(([oldRepr, newValue, newRepr]) => {
       expect(autoExtendMavenRange(oldRepr, newValue)).toEqual(newRepr);
-- 
GitLab