aboutsummaryrefslogtreecommitdiff
path: root/tests/MojangVersionFormat_test.cpp
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2022-09-11 22:25:18 +0200
committerSefa Eyeoglu <contact@scrumplex.net>2022-09-11 22:29:01 +0200
commit4c7d3a103ca9cfd3af0b3acf2877561150c5ac60 (patch)
treeae8fe0553e3955a0b02ce7c518cb2e07d896127f /tests/MojangVersionFormat_test.cpp
parentca282f9fb36d12bb038ebdb90f017a6e3c945c0d (diff)
downloadPrismLauncher-4c7d3a103ca9cfd3af0b3acf2877561150c5ac60.tar.gz
PrismLauncher-4c7d3a103ca9cfd3af0b3acf2877561150c5ac60.tar.bz2
PrismLauncher-4c7d3a103ca9cfd3af0b3acf2877561150c5ac60.zip
refactor: restructure tests
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
Diffstat (limited to 'tests/MojangVersionFormat_test.cpp')
-rw-r--r--tests/MojangVersionFormat_test.cpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/MojangVersionFormat_test.cpp b/tests/MojangVersionFormat_test.cpp
new file mode 100644
index 00000000..219fbfa2
--- /dev/null
+++ b/tests/MojangVersionFormat_test.cpp
@@ -0,0 +1,53 @@
+#include <QTest>
+#include <QDebug>
+
+#include <minecraft/MojangVersionFormat.h>
+
+class MojangVersionFormatTest : public QObject
+{
+ Q_OBJECT
+
+ static QJsonDocument readJson(const QString path)
+ {
+ QFile jsonFile(path);
+ jsonFile.open(QIODevice::ReadOnly);
+ auto data = jsonFile.readAll();
+ jsonFile.close();
+ return QJsonDocument::fromJson(data);
+ }
+ static void writeJson(const char *file, QJsonDocument doc)
+ {
+ QFile jsonFile(file);
+ jsonFile.open(QIODevice::WriteOnly | QIODevice::Text);
+ auto data = doc.toJson(QJsonDocument::Indented);
+ qDebug() << QString::fromUtf8(data);
+ jsonFile.write(data);
+ jsonFile.close();
+ }
+
+private
+slots:
+ void test_Through_Simple()
+ {
+ QJsonDocument doc = readJson(QFINDTESTDATA("testdata/MojangVersionFormat/1.9-simple.json"));
+ auto vfile = MojangVersionFormat::versionFileFromJson(doc, "1.9-simple.json");
+ auto doc2 = MojangVersionFormat::versionFileToJson(vfile);
+ writeJson("1.9-simple-passthorugh.json", doc2);
+
+ QCOMPARE(doc.toJson(), doc2.toJson());
+ }
+
+ void test_Through()
+ {
+ QJsonDocument doc = readJson(QFINDTESTDATA("testdata/MojangVersionFormat/1.9.json"));
+ auto vfile = MojangVersionFormat::versionFileFromJson(doc, "1.9.json");
+ auto doc2 = MojangVersionFormat::versionFileToJson(vfile);
+ writeJson("1.9-passthorugh.json", doc2);
+ QCOMPARE(doc.toJson(), doc2.toJson());
+ }
+};
+
+QTEST_GUILESS_MAIN(MojangVersionFormatTest)
+
+#include "MojangVersionFormat_test.moc"
+