summaryrefslogtreecommitdiffstats
path: root/api/logic/minecraft/MojangVersionFormat_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'api/logic/minecraft/MojangVersionFormat_test.cpp')
-rw-r--r--api/logic/minecraft/MojangVersionFormat_test.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/api/logic/minecraft/MojangVersionFormat_test.cpp b/api/logic/minecraft/MojangVersionFormat_test.cpp
new file mode 100644
index 00000000..5b836271
--- /dev/null
+++ b/api/logic/minecraft/MojangVersionFormat_test.cpp
@@ -0,0 +1,55 @@
+#include <QTest>
+#include <QDebug>
+#include "TestUtil.h"
+
+#include "minecraft/MojangVersionFormat.h"
+
+class MojangVersionFormatTest : public QObject
+{
+ Q_OBJECT
+
+ static QJsonDocument readJson(const char *file)
+ {
+ auto path = QFINDTESTDATA(file);
+ 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);
+ jsonFile.write(data);
+ jsonFile.close();
+ }
+
+private
+slots:
+ void test_Through_Simple()
+ {
+
+ QJsonDocument doc = readJson("data/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, doc2);
+ }
+
+ void test_Through()
+ {
+
+ QJsonDocument doc = readJson("data/1.9.json");
+ auto vfile = MojangVersionFormat::versionFileFromJson(doc, "1.9.json");
+ auto doc2 = MojangVersionFormat::versionFileToJson(vfile);
+ writeJson("1.9-passthorugh.json", doc2);
+ QCOMPARE(doc, doc2);
+ }
+};
+
+QTEST_GUILESS_MAIN(MojangVersionFormatTest)
+
+#include "MojangVersionFormat_test.moc"
+