summaryrefslogtreecommitdiff
path: root/archived/projt-launcher/tests/RuntimeVersion_test.cpp
diff options
context:
space:
mode:
authorMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:51:45 +0300
committerMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:51:45 +0300
commitd3261e64152397db2dca4d691a990c6bc2a6f4dd (patch)
treefac2f7be638651181a72453d714f0f96675c2b8b /archived/projt-launcher/tests/RuntimeVersion_test.cpp
parent31b9a8949ed0a288143e23bf739f2eb64fdc63be (diff)
downloadProject-Tick-d3261e64152397db2dca4d691a990c6bc2a6f4dd.tar.gz
Project-Tick-d3261e64152397db2dca4d691a990c6bc2a6f4dd.zip
NOISSUE add archived projects
Signed-off-by: Mehmet Samet Duman <yongdohyun@projecttick.org>
Diffstat (limited to 'archived/projt-launcher/tests/RuntimeVersion_test.cpp')
-rw-r--r--archived/projt-launcher/tests/RuntimeVersion_test.cpp73
1 files changed, 73 insertions, 0 deletions
diff --git a/archived/projt-launcher/tests/RuntimeVersion_test.cpp b/archived/projt-launcher/tests/RuntimeVersion_test.cpp
new file mode 100644
index 0000000000..75653f1274
--- /dev/null
+++ b/archived/projt-launcher/tests/RuntimeVersion_test.cpp
@@ -0,0 +1,73 @@
+// SPDX-License-Identifier: GPL-3.0-only
+// SPDX-FileCopyrightText: 2026 Project Tick
+// SPDX-FileContributor: Project Tick Team
+
+#include <QTest>
+
+#include <java/core/RuntimeVersion.hpp>
+
+using projt::java::RuntimeVersion;
+
+class RuntimeVersionTest : public QObject
+{
+ Q_OBJECT
+
+ private slots:
+ void parseLegacyJava8()
+ {
+ RuntimeVersion v("1.8.0_312");
+ QCOMPARE(v.major(), 8);
+ QCOMPARE(v.minor(), 0);
+ QCOMPARE(v.security(), 312);
+ QCOMPARE(v.prerelease(), QString());
+ QVERIFY(!v.needsPermGen());
+ QVERIFY(!v.supportsModules());
+ }
+
+ void parseModernJava()
+ {
+ RuntimeVersion v("17.0.2");
+ QCOMPARE(v.major(), 17);
+ QCOMPARE(v.minor(), 0);
+ QCOMPARE(v.security(), 2);
+ QVERIFY(!v.needsPermGen());
+ QVERIFY(v.supportsModules());
+ QVERIFY(!v.defaultsToUtf8());
+ }
+
+ void parsePrerelease()
+ {
+ RuntimeVersion v("21.0.1-rc1");
+ QCOMPARE(v.major(), 21);
+ QCOMPARE(v.minor(), 0);
+ QCOMPARE(v.security(), 1);
+ QCOMPARE(v.prerelease(), QStringLiteral("rc1"));
+ QVERIFY(v.defaultsToUtf8());
+ }
+
+ void parseInvalid()
+ {
+ RuntimeVersion v("not-a-version");
+ QCOMPARE(v.major(), 0);
+ QCOMPARE(v.security(), 0);
+ QVERIFY(v.needsPermGen());
+ QVERIFY(!v.supportsModules());
+ QVERIFY(!v.defaultsToUtf8());
+ }
+
+ void compareVersions()
+ {
+ RuntimeVersion base("17.0.2");
+ RuntimeVersion higher("17.0.3");
+ RuntimeVersion prerelease("17.0.3-ea");
+
+ QVERIFY(base < higher);
+ QVERIFY(higher > base);
+ QVERIFY(prerelease < higher);
+ QVERIFY(!(prerelease == higher)); // Use negated == instead of !=
+ }
+};
+
+QTEST_GUILESS_MAIN(RuntimeVersionTest)
+
+#include "RuntimeVersion_test.moc"