Update version check logic to support version like "26-ea" (#4128)

Co-authored-by: Glavo <zjx001202@gmail.com>
This commit is contained in:
27Onion Nebell
2025-07-29 17:28:24 +08:00
committed by GitHub
parent c3a3881cfc
commit 86c171545e
2 changed files with 57 additions and 35 deletions

View File

@@ -19,21 +19,30 @@ package org.jackhuang.hmcl;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.*;
public final class MainTest {
@Test
public void testCheckJavaVersion() {
assertFalse(Main.checkJavaVersion("1.6.0"));
assertFalse(Main.checkJavaVersion("1.6.0_45"));
assertFalse(Main.checkJavaVersion("1.7.0"));
assertFalse(Main.checkJavaVersion("1.7.0_80"));
assertFalse(Main.checkJavaVersion("1.8"));
assertFalse(Main.checkJavaVersion("1.8.0_321"));
public void testGetJavaFeatureVersion() {
assertEquals(6, Main.getJavaFeatureVersion("1.6.0"));
assertEquals(6, Main.getJavaFeatureVersion("1.6.0_45"));
assertEquals(7, Main.getJavaFeatureVersion("1.7.0"));
assertEquals(7, Main.getJavaFeatureVersion("1.7.0_80"));
assertEquals(8, Main.getJavaFeatureVersion("1.8"));
assertEquals(8, Main.getJavaFeatureVersion("1.8u321"));
assertEquals(8, Main.getJavaFeatureVersion("1.8.0_321"));
assertEquals(11, Main.getJavaFeatureVersion("11"));
assertEquals(11, Main.getJavaFeatureVersion("11.0.26"));
assertEquals(21, Main.getJavaFeatureVersion("21"));
assertEquals(26, Main.getJavaFeatureVersion("26-ea"));
assertTrue(Main.checkJavaVersion("11"));
assertTrue(Main.checkJavaVersion("11.0.26"));
assertTrue(Main.checkJavaVersion("21"));
assertEquals(-1, Main.getJavaFeatureVersion(null));
assertEquals(-1, Main.getJavaFeatureVersion(""));
assertEquals(-1, Main.getJavaFeatureVersion("0"));
assertEquals(-1, Main.getJavaFeatureVersion("0.8"));
assertEquals(-1, Main.getJavaFeatureVersion("abc"));
assertEquals(-1, Main.getJavaFeatureVersion("1.abc"));
assertEquals(-1, Main.getJavaFeatureVersion(".1"));
assertEquals(-1, Main.getJavaFeatureVersion("1111111111111111111111"));
}
}