diff options
author | Sefa Eyeoglu <contact@scrumplex.net> | 2022-09-11 22:25:18 +0200 |
---|---|---|
committer | Sefa Eyeoglu <contact@scrumplex.net> | 2022-09-11 22:29:01 +0200 |
commit | 4c7d3a103ca9cfd3af0b3acf2877561150c5ac60 (patch) | |
tree | ae8fe0553e3955a0b02ce7c518cb2e07d896127f /tests/MojangVersionFormat_test.cpp | |
parent | ca282f9fb36d12bb038ebdb90f017a6e3c945c0d (diff) | |
download | PrismLauncher-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.cpp | 53 |
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" + |