Fix #4281: 支持解析 Indev 版本号 (#4282)

This commit is contained in:
Glavo
2025-08-18 20:04:22 +08:00
committed by GitHub
parent 7805508d4c
commit 9d17834227
2 changed files with 10 additions and 4 deletions

View File

@@ -103,7 +103,7 @@ public abstract class GameVersionNumber implements Comparable<GameVersionNumber>
}
enum Type {
PRE_CLASSIC, CLASSIC, INFDEV, ALPHA, BETA, NEW
PRE_CLASSIC, CLASSIC, INDEV, INFDEV, ALPHA, BETA, NEW
}
abstract Type getType();
@@ -141,11 +141,15 @@ public abstract class GameVersionNumber implements Comparable<GameVersionNumber>
prefixLength = "rd-".length();
break;
case 'i':
if (!value.startsWith("inf-")) {
if (value.startsWith("inf-")) {
type = Type.INFDEV;
prefixLength = "inf-".length();
} else if (value.startsWith("in-")) {
type = Type.INDEV;
prefixLength = "in-".length();
} else {
throw new IllegalArgumentException(value);
}
type = Type.INFDEV;
prefixLength = "inf-".length();
break;
case 'a':
type = Type.ALPHA;

View File

@@ -102,6 +102,8 @@ public final class GameVersionNumberTest {
@Test
public void testParseOld() {
assertOldVersion("rd-132211", GameVersionNumber.Type.PRE_CLASSIC, "132211");
assertOldVersion("in-20100223", GameVersionNumber.Type.INDEV, "20100223");
assertOldVersion("in-20100212-2", GameVersionNumber.Type.INDEV, "20100212-2");
assertOldVersion("inf-20100618", GameVersionNumber.Type.INFDEV, "20100618");
assertOldVersion("inf-20100330-1", GameVersionNumber.Type.INFDEV, "20100330-1");
assertOldVersion("a1.0.6", GameVersionNumber.Type.ALPHA, "1.0.6");