diff options
Diffstat (limited to 'archived/projt-launcher/tests/MojangVersionFormat_test.cpp')
| -rw-r--r-- | archived/projt-launcher/tests/MojangVersionFormat_test.cpp | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/archived/projt-launcher/tests/MojangVersionFormat_test.cpp b/archived/projt-launcher/tests/MojangVersionFormat_test.cpp new file mode 100644 index 0000000000..d55c6561ea --- /dev/null +++ b/archived/projt-launcher/tests/MojangVersionFormat_test.cpp @@ -0,0 +1,56 @@ +#include <QDebug> +#include <QTest> + +#include <minecraft/MojangVersionFormat.h> + +class MojangVersionFormatTest : public QObject { + Q_OBJECT + + static QJsonDocument readJson(const QString path) + { + QFile jsonFile(path); + if (!jsonFile.open(QIODevice::ReadOnly)) { + qWarning() << "Failed to open file '" << jsonFile.fileName() << "' for reading!"; + return QJsonDocument(); + } + auto data = jsonFile.readAll(); + jsonFile.close(); + return QJsonDocument::fromJson(data); + } + static void writeJson(const char* file, QJsonDocument doc) + { + QFile jsonFile(file); + if (!jsonFile.open(QIODevice::WriteOnly | QIODevice::Text)) { + qCritical() << "Failed to open file '" << jsonFile.fileName() << "' for writing!"; + return; + } + 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/Libraries/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/Libraries/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" |
