From 4762d97faf1a2ed38f900dd9861bba8faa0c6eb3 Mon Sep 17 00:00:00 2001
From: Sergei Zharinov <zharinov@users.noreply.github.com>
Date: Thu, 13 Jan 2022 19:04:27 +0300
Subject: [PATCH] test(maven): Isolated tests for non-standard versioning
 behavior (#13542)

---
 lib/versioning/maven/compare.spec.ts | 27 ++++++++++++++++++---------
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git a/lib/versioning/maven/compare.spec.ts b/lib/versioning/maven/compare.spec.ts
index ffc36fbee0..d4f5ace5d2 100644
--- a/lib/versioning/maven/compare.spec.ts
+++ b/lib/versioning/maven/compare.spec.ts
@@ -6,6 +6,24 @@ import {
 } from './compare';
 
 describe('versioning/maven/compare', () => {
+  describe('Non-standard behavior', () => {
+    test.each`
+      a               | b                | expected
+      ${'1-ga-1'}     | ${'1-1'}         | ${0}
+      ${'1.0-SNAP'}   | ${'1-snapshot'}  | ${0}
+      ${'1.0rc'}      | ${'1.0-preview'} | ${0}
+      ${'v1.2.3'}     | ${'1.2.3'}       | ${0}
+      ${'v0.0-1552'}  | ${'0.0-1552'}    | ${0}
+      ${'v0.0.1'}     | ${'0.0.1'}       | ${0}
+      ${'1-snap'}     | ${'1'}           | ${-1}
+      ${'1-preview'}  | ${'1-snapshot'}  | ${-1}
+      ${'1'}          | ${'1-snap'}      | ${1}
+      ${'1-snapshot'} | ${'1-preview'}   | ${1}
+    `('compare("$a", "$b") === $expected', ({ a, b, expected }) => {
+      expect(compare(a, b)).toEqual(expected);
+    });
+  });
+
   test.each`
     a                       | b                          | expected
     ${'1.0.0'}              | ${'1'}                     | ${0}
@@ -13,7 +31,6 @@ describe('versioning/maven/compare', () => {
     ${'1-b1'}               | ${'1-beta-1'}              | ${0}
     ${'1.0.0'}              | ${'1.ga'}                  | ${0}
     ${'1-ga'}               | ${'1.ga'}                  | ${0}
-    ${'1-ga-1'}             | ${'1-1'}                   | ${0}
     ${'1.final'}            | ${'1.0'}                   | ${0}
     ${'1'}                  | ${'1.0'}                   | ${0}
     ${'1.'}                 | ${'1-'}                    | ${0}
@@ -28,14 +45,12 @@ describe('versioning/maven/compare', () => {
     ${'1.0GA'}              | ${'1.0'}                   | ${0}
     ${'1.0FINAL'}           | ${'1.0'}                   | ${0}
     ${'1.0-SNAPSHOT'}       | ${'1-snapshot'}            | ${0}
-    ${'1.0-SNAP'}           | ${'1-snapshot'}            | ${0}
     ${'1.0alpha1'}          | ${'1.0-a1'}                | ${0}
     ${'1.0alpha-1'}         | ${'1.0-a1'}                | ${0}
     ${'1.0beta1'}           | ${'1.0-b1'}                | ${0}
     ${'1.0beta-1'}          | ${'1.0-b1'}                | ${0}
     ${'1.0milestone1'}      | ${'1.0-m1'}                | ${0}
     ${'1.0milestone-1'}     | ${'1.0-m1'}                | ${0}
-    ${'1.0rc'}              | ${'1.0-preview'}           | ${0}
     ${'1.0rc1'}             | ${'1.0-cr1'}               | ${0}
     ${'1.0rc-1'}            | ${'1.0-cr1'}               | ${0}
     ${'1.0ga'}              | ${'1.0'}                   | ${0}
@@ -44,17 +59,13 @@ describe('versioning/maven/compare', () => {
     ${'1-0-ga'}             | ${'1.0'}                   | ${0}
     ${'1-0-final'}          | ${'1-0'}                   | ${0}
     ${'1-0'}                | ${'1.0'}                   | ${0}
-    ${'v1.2.3'}             | ${'1.2.3'}                 | ${0}
     ${'0.0-1552'}           | ${'0.0-1552'}              | ${0}
-    ${'v0.0-1552'}          | ${'0.0-1552'}              | ${0}
-    ${'v0.0.1'}             | ${'0.0.1'}                 | ${0}
     ${'5.0.7'}              | ${'5.0.7.RELEASE'}         | ${0}
     ${'Hoxton.RELEASE'}     | ${'hoxton'}                | ${0}
     ${'Hoxton.SR1'}         | ${'hoxton.sr-1'}           | ${0}
     ${'1'}                  | ${'1.1'}                   | ${-1}
     ${'1'}                  | ${'2'}                     | ${-1}
     ${'1-snapshot'}         | ${'1'}                     | ${-1}
-    ${'1-snap'}             | ${'1'}                     | ${-1}
     ${'1.2.3-snap1'}        | ${'1.2.3-snap2'}           | ${-1}
     ${'1'}                  | ${'1-sp'}                  | ${-1}
     ${'1-foo2'}             | ${'1-foo10'}               | ${-1}
@@ -70,13 +81,11 @@ describe('versioning/maven/compare', () => {
     ${'0.0-1552'}           | ${'1.10.520'}              | ${-1}
     ${'0.0.1'}              | ${'999'}                   | ${-1}
     ${'1.3-RC1-groovy-2.5'} | ${'1.3-groovy-2.5'}        | ${-1}
-    ${'1-preview'}          | ${'1-snapshot'}            | ${-1}
     ${'1-abc'}              | ${'1-xyz'}                 | ${-1}
     ${'Hoxton.RELEASE'}     | ${'Hoxton.SR1'}            | ${-1}
     ${'1.1'}                | ${'1'}                     | ${1}
     ${'2'}                  | ${'1'}                     | ${1}
     ${'1'}                  | ${'1-snapshot'}            | ${1}
-    ${'1'}                  | ${'1-snap'}                | ${1}
     ${'1.2.3-snap2'}        | ${'1.2.3-snap1'}           | ${1}
     ${'1-sp'}               | ${'1'}                     | ${1}
     ${'1-foo10'}            | ${'1-foo2'}                | ${1}
-- 
GitLab