test+fix: add basic tests and fix issues with it
This commit is contained in:
@ -20,6 +20,8 @@
|
||||
|
||||
#include <FileSystem.h>
|
||||
#include <QDebug>
|
||||
|
||||
#include "Application.h"
|
||||
#include "MetadataHandler.h"
|
||||
|
||||
namespace {
|
||||
@ -174,8 +176,7 @@ void Mod::finishResolvingWithDetails(std::shared_ptr<ModDetails> details)
|
||||
m_resolved = true;
|
||||
m_localDetails = details;
|
||||
|
||||
if (fromMetadata() && m_temp_metadata->isValid()) {
|
||||
m_localDetails->metadata = m_temp_metadata;
|
||||
m_temp_metadata.reset();
|
||||
if (fromMetadata() && m_temp_metadata->isValid() && m_localDetails.get()) {
|
||||
m_localDetails->metadata.swap(m_temp_metadata);
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,6 @@
|
||||
#include <QList>
|
||||
|
||||
#include "ModDetails.h"
|
||||
#include "minecraft/mod/MetadataHandler.h"
|
||||
|
||||
class Mod
|
||||
{
|
||||
|
@ -34,8 +34,14 @@ void ModFolderLoadTask::getFromMetadata()
|
||||
if (entry == "." || entry == "..")
|
||||
continue;
|
||||
|
||||
entry.chop(5); // Remove .toml at the end
|
||||
Mod mod(m_mods_dir, Metadata::get(m_index_dir, entry));
|
||||
auto metadata = Metadata::get(m_index_dir, entry);
|
||||
// TODO: Don't simply return. Instead, show to the user that the metadata is there, but
|
||||
// it's not currently 'installed' (i.e. there's no JAR file yet).
|
||||
if(!metadata.isValid()){
|
||||
return;
|
||||
}
|
||||
|
||||
Mod mod(m_mods_dir, metadata);
|
||||
m_result->mods[mod.internal_id()] = mod;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user