Skip to content

Commit

Permalink
[MNGSITE-441] Characterization tests for case insensitivity in versio…
Browse files Browse the repository at this point in the history
…n strings (#2114)
  • Loading branch information
elharo authored Feb 16, 2025
1 parent 16df3de commit 0d6ed20
Showing 1 changed file with 28 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,34 @@ void testGetCanonical() {
assertEquals("0.2", version2.getCanonical());
}

@Test
void testLexicographicASCIISortOrder() { // Required by Semver 1.0
ComparableVersion lower = new ComparableVersion("1.0.0-alpha1");
ComparableVersion upper = new ComparableVersion("1.0.0-ALPHA1");
// Lower case is equal to upper case. This is *NOT* what Semver 1.0
// specifies. Here we are explicitly deviating from Semver 1.0.
assertTrue(upper.compareTo(lower) == 0, "expected 1.0.0-ALPHA1 == 1.0.0-alpha1");
assertTrue(lower.compareTo(upper) == 0, "expected 1.0.0-alpha1 == 1.0.0-ALPHA1");
}

@Test
void testCompareLowerCaseToUpperCaseASCII() {
ComparableVersion lower = new ComparableVersion("1.a");
ComparableVersion upper = new ComparableVersion("1.A");
// Lower case is equal to upper case
assertTrue(upper.compareTo(lower) == 0, "expected 1.A == 1.a");
assertTrue(lower.compareTo(upper) == 0, "expected 1.a == 1.A");
}

@Test
void testCompareLowerCaseToUpperCaseNonASCII() {
ComparableVersion lower = new ComparableVersion("1.é");
ComparableVersion upper = new ComparableVersion("1.É");
// Lower case is equal to upper case
assertTrue(upper.compareTo(lower) == 0, "expected 1.É < 1.é");
assertTrue(lower.compareTo(upper) == 0, "expected 1.é > 1.É");
}

@Test
void testCompareDigitToLetter() {
ComparableVersion seven = new ComparableVersion("7");
Expand Down

0 comments on commit 0d6ed20

Please sign in to comment.