NOISSUE add basic unit tests for MojangVersionFormat reading/writing

will have to make them pass now
This commit is contained in:
Petr Mrázek
2016-03-03 01:40:12 +01:00
parent b54839b897
commit 94d4684809
7 changed files with 814 additions and 21 deletions

View File

@ -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())
{

View File

@ -3,7 +3,9 @@
#include <minecraft/VersionFile.h>
#include <QJsonDocument>
class MojangVersionFormat
#include "multimc_logic_export.h"
class MULTIMC_LOGIC_EXPORT MojangVersionFormat
{
public:
// version files / profile patches

View File

@ -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;