From 94d46848095bc75627873708b1d0d5b2632b85db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Thu, 3 Mar 2016 01:40:12 +0100 Subject: NOISSUE add basic unit tests for MojangVersionFormat reading/writing will have to make them pass now --- logic/minecraft/MojangVersionFormat.cpp | 7 +++++-- logic/minecraft/MojangVersionFormat.h | 4 +++- logic/minecraft/OneSixRule.cpp | 5 ++++- 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'logic') diff --git a/logic/minecraft/MojangVersionFormat.cpp b/logic/minecraft/MojangVersionFormat.cpp index e28a38ab..4d6f205b 100644 --- a/logic/minecraft/MojangVersionFormat.cpp +++ b/logic/minecraft/MojangVersionFormat.cpp @@ -63,13 +63,12 @@ VersionFilePtr MojangVersionFormat::versionFileFromJson(const QJsonDocument &doc if (root.contains("libraries")) { - out->shouldOverwriteLibs = true; for (auto libVal : requireArray(root.value("libraries"))) { auto libObj = requireObject(libVal); auto lib = OneSixVersionFormat::libraryFromJson(libObj, filename); - out->overwriteLibs.append(lib); + out->addLibs.append(lib); } } return out; @@ -86,6 +85,10 @@ static QJsonDocument versionFileToJson(VersionFilePtr patch) writeString(root, "assets", patch->assets); writeString(root, "releaseTime", timeToS3Time(patch->m_releaseTime)); writeString(root, "time", timeToS3Time(patch->m_updateTime)); + if(patch->minimumLauncherVersion != -1) + { + root.insert("minimumLauncherVersion", patch->minimumLauncherVersion); + } if (!patch->addLibs.isEmpty()) { diff --git a/logic/minecraft/MojangVersionFormat.h b/logic/minecraft/MojangVersionFormat.h index 925990ab..cd87d68e 100644 --- a/logic/minecraft/MojangVersionFormat.h +++ b/logic/minecraft/MojangVersionFormat.h @@ -3,7 +3,9 @@ #include #include -class MojangVersionFormat +#include "multimc_logic_export.h" + +class MULTIMC_LOGIC_EXPORT MojangVersionFormat { public: // version files / profile patches diff --git a/logic/minecraft/OneSixRule.cpp b/logic/minecraft/OneSixRule.cpp index fc9f8f71..3f4a6bb9 100644 --- a/logic/minecraft/OneSixRule.cpp +++ b/logic/minecraft/OneSixRule.cpp @@ -82,7 +82,10 @@ QJsonObject OsRule::toJson() QJsonObject osObj; { osObj.insert("name", OpSys_toString(m_system)); - osObj.insert("version", m_version_regexp); + if(!m_version_regexp.isEmpty()) + { + osObj.insert("version", m_version_regexp); + } } ruleObj.insert("os", osObj); return ruleObj; -- cgit v1.2.3