mirror of
https://github.com/loot/libloot.git
synced 2026-07-27 14:16:01 -07:00
Split up DatabaseInterface::LoadLists()
This commit is contained in:
@@ -46,26 +46,41 @@ public:
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Loads the masterlist, userlist and masterlist prelude from the
|
||||
* paths specified.
|
||||
* @brief Loads the masterlist from the path specified.
|
||||
* @details Can be called multiple times, each time replacing the
|
||||
* previously-loaded data.
|
||||
* @param masterlist_path
|
||||
* The relative or absolute path to the masterlist file that should be
|
||||
* loaded.
|
||||
* @param userlist_path
|
||||
* The relative or absolute path to the userlist file that should be
|
||||
* loaded, or an empty path. If an empty path, no userlist will be
|
||||
*/
|
||||
virtual void LoadMasterlist(
|
||||
const std::filesystem::path& masterlistPath) = 0;
|
||||
|
||||
/**
|
||||
* @brief Loads the masterlist and masterlist prelude from the paths
|
||||
specified.
|
||||
* @details Can be called multiple times, each time replacing the
|
||||
* previously-loaded data.
|
||||
* @param masterlist_path
|
||||
* The relative or absolute path to the masterlist file that should be
|
||||
* loaded.
|
||||
* @param masterlist_prelude_path
|
||||
* The relative or absolute path to the masterlist prelude file that
|
||||
* should be loaded. If an empty path, no masterlist prelude will be
|
||||
* should be loaded.
|
||||
*/
|
||||
virtual void LoadMasterlistWithPrelude(
|
||||
const std::filesystem::path& masterlistPath,
|
||||
const std::filesystem::path& masterlistPreludePath) = 0;
|
||||
|
||||
/**
|
||||
* @brief Loads the userlist from the path specified.
|
||||
* @details Can be called multiple times, each time replacing the
|
||||
* previously-loaded data.
|
||||
* @param userlist_path
|
||||
* The relative or absolute path to the userlist file that should be
|
||||
* loaded.
|
||||
*/
|
||||
virtual void LoadLists(
|
||||
const std::filesystem::path& masterlist_path,
|
||||
const std::filesystem::path& userlist_path = "",
|
||||
const std::filesystem::path& masterlist_prelude_path = "") = 0;
|
||||
virtual void LoadUserlist(const std::filesystem::path& userlistPath) = 0;
|
||||
|
||||
/**
|
||||
* Writes a metadata file containing all loaded user-added metadata.
|
||||
|
||||
+40
-32
@@ -84,43 +84,51 @@ ApiDatabase::ApiDatabase(
|
||||
// Database Loading Functions
|
||||
///////////////////////////////////
|
||||
|
||||
void ApiDatabase::LoadLists(
|
||||
const std::filesystem::path& masterlistPath,
|
||||
const std::filesystem::path& userlistPath,
|
||||
const std::filesystem::path& masterlistPreludePath) {
|
||||
void ApiDatabase::LoadMasterlist(const std::filesystem::path& masterlistPath) {
|
||||
MetadataList temp;
|
||||
MetadataList userTemp;
|
||||
|
||||
if (!masterlistPath.empty()) {
|
||||
if (std::filesystem::exists(masterlistPath)) {
|
||||
if (!masterlistPreludePath.empty()) {
|
||||
if (std::filesystem::exists(masterlistPreludePath)) {
|
||||
temp.LoadWithPrelude(masterlistPath, masterlistPreludePath);
|
||||
} else {
|
||||
throw FileAccessError(
|
||||
"The given masterlist prelude path does not exist: " +
|
||||
masterlistPreludePath.u8string());
|
||||
}
|
||||
} else {
|
||||
temp.Load(masterlistPath);
|
||||
}
|
||||
} else {
|
||||
throw FileAccessError("The given masterlist path does not exist: " +
|
||||
masterlistPath.u8string());
|
||||
}
|
||||
}
|
||||
|
||||
if (!userlistPath.empty()) {
|
||||
if (std::filesystem::exists(userlistPath)) {
|
||||
userTemp.Load(userlistPath);
|
||||
} else {
|
||||
throw FileAccessError("The given userlist path does not exist: " +
|
||||
userlistPath.u8string());
|
||||
}
|
||||
if (std::filesystem::exists(masterlistPath)) {
|
||||
temp.Load(masterlistPath);
|
||||
} else {
|
||||
throw FileAccessError("The given masterlist path does not exist: " +
|
||||
masterlistPath.u8string());
|
||||
}
|
||||
|
||||
masterlist_ = temp;
|
||||
userlist_ = userTemp;
|
||||
}
|
||||
|
||||
void ApiDatabase::LoadMasterlistWithPrelude(
|
||||
const std::filesystem::path& masterlistPath,
|
||||
const std::filesystem::path& masterlistPreludePath) {
|
||||
MetadataList temp;
|
||||
|
||||
if (std::filesystem::exists(masterlistPath)) {
|
||||
if (std::filesystem::exists(masterlistPreludePath)) {
|
||||
temp.LoadWithPrelude(masterlistPath, masterlistPreludePath);
|
||||
} else {
|
||||
throw FileAccessError(
|
||||
"The given masterlist prelude path does not exist: " +
|
||||
masterlistPreludePath.u8string());
|
||||
}
|
||||
} else {
|
||||
throw FileAccessError("The given masterlist path does not exist: " +
|
||||
masterlistPath.u8string());
|
||||
}
|
||||
|
||||
masterlist_ = temp;
|
||||
}
|
||||
|
||||
void ApiDatabase::LoadUserlist(const std::filesystem::path& userlistPath) {
|
||||
MetadataList temp;
|
||||
|
||||
if (std::filesystem::exists(userlistPath)) {
|
||||
temp.Load(userlistPath);
|
||||
} else {
|
||||
throw FileAccessError("The given userlist path does not exist: " +
|
||||
userlistPath.u8string());
|
||||
}
|
||||
|
||||
userlist_ = temp;
|
||||
}
|
||||
|
||||
void ApiDatabase::WriteUserMetadata(const std::filesystem::path& outputFile,
|
||||
|
||||
@@ -39,10 +39,15 @@ namespace loot {
|
||||
struct ApiDatabase final : public DatabaseInterface {
|
||||
explicit ApiDatabase(std::shared_ptr<ConditionEvaluator> conditionEvaluator);
|
||||
|
||||
void LoadLists(
|
||||
const std::filesystem::path& masterlist_path,
|
||||
const std::filesystem::path& userlist_path = "",
|
||||
const std::filesystem::path& masterlist_prelude_path = "") override;
|
||||
void LoadMasterlist(
|
||||
const std::filesystem::path& masterlistPath) override;
|
||||
|
||||
void LoadMasterlistWithPrelude(
|
||||
const std::filesystem::path& masterlistPath,
|
||||
const std::filesystem::path& masterlistPreludePath) override;
|
||||
|
||||
void LoadUserlist(
|
||||
const std::filesystem::path& userlistPath) override;
|
||||
|
||||
void WriteUserMetadata(const std::filesystem::path& outputFile,
|
||||
const bool overwrite) const override;
|
||||
|
||||
@@ -121,58 +121,42 @@ INSTANTIATE_TEST_SUITE_P(,
|
||||
GameType::tes5se));
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
loadListsShouldSucceedEvenIfGameHandleIsDiscarded) {
|
||||
loadMasterlistShouldSucceedEvenIfGameHandleIsDiscarded) {
|
||||
handle_ = CreateGameHandle(GetParam(), gamePath, localPath);
|
||||
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
|
||||
EXPECT_NO_THROW(handle_->GetDatabase().LoadLists(masterlistPath, ""));
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest, loadListsShouldThrowIfNoMasterlistIsPresent) {
|
||||
EXPECT_THROW(handle_->GetDatabase().LoadLists(masterlistPath, ""),
|
||||
FileAccessError);
|
||||
}
|
||||
|
||||
TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
loadListsShouldThrowIfAMasterlistIsPresentButAUserlistDoesNotExistAtTheGivenPath) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
EXPECT_THROW(handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_),
|
||||
FileAccessError);
|
||||
}
|
||||
|
||||
TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
loadListsShouldSucceedIfTheMasterlistIsPresentAndTheUserlistPathIsAnEmptyString) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
|
||||
EXPECT_NO_THROW(handle_->GetDatabase().LoadLists(masterlistPath, ""));
|
||||
EXPECT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
loadListsShouldSucceedIfTheMasterlistAndUserlistAreBothPresent) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(std::filesystem::copy(masterlistPath, userlistPath_));
|
||||
loadMasterlistShouldThrowIfNoMasterlistIsPresent) {
|
||||
EXPECT_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath),
|
||||
FileAccessError);
|
||||
}
|
||||
|
||||
EXPECT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
loadMasterlistShouldSucceedIfTheMasterlistIsPresent) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
|
||||
EXPECT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
}
|
||||
|
||||
TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
loadListsShouldThrowIfAMasterlistIsPresentButAPreludeDoesNotExistAtTheGivenPath) {
|
||||
loadMasterlistWithPreludeShouldThrowIfAMasterlistIsPresentButAPreludeDoesNotExistAtTheGivenPath) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
|
||||
auto preludePath = localPath / "prelude.yaml";
|
||||
|
||||
EXPECT_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, "", preludePath),
|
||||
FileAccessError);
|
||||
EXPECT_THROW(handle_->GetDatabase().LoadMasterlistWithPrelude(masterlistPath,
|
||||
preludePath),
|
||||
FileAccessError);
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
loadListsShouldSucceedIfTheMasterlistAndPreludeAreBothPresent) {
|
||||
TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
loadMasterlistWithPreludeShouldSucceedIfTheMasterlistAndPreludeAreBothPresent) {
|
||||
using std::endl;
|
||||
|
||||
std::ofstream out(masterlistPath);
|
||||
@@ -192,8 +176,8 @@ TEST_P(DatabaseInterfaceTest,
|
||||
<< " type: say" << endl
|
||||
<< " content: Loaded from prelude" << endl;
|
||||
|
||||
EXPECT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, "", preludePath));
|
||||
EXPECT_NO_THROW(handle_->GetDatabase().LoadMasterlistWithPrelude(
|
||||
masterlistPath, preludePath));
|
||||
|
||||
auto messages = handle_->GetDatabase().GetGeneralMessages();
|
||||
ASSERT_EQ(1, messages.size());
|
||||
@@ -202,6 +186,20 @@ TEST_P(DatabaseInterfaceTest,
|
||||
EXPECT_EQ("Loaded from prelude", messages[0].GetContent()[0].GetText());
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
loadUserlistShouldThrowIfAUserlistDoesNotExistAtTheGivenPath) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
EXPECT_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_),
|
||||
FileAccessError);
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest, loadUserlistShouldSucceedIfTheUserlistIsPresent) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(std::filesystem::copy(masterlistPath, userlistPath_));
|
||||
|
||||
EXPECT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
}
|
||||
|
||||
TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
writeUserMetadataShouldThrowIfTheFileAlreadyExistsAndTheOverwriteArgumentIsFalse) {
|
||||
@@ -251,7 +249,7 @@ TEST_P(DatabaseInterfaceTest,
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
writeUserMetadataShouldShouldNotWriteMasterlistMetadata) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadLists(masterlistPath, ""));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
|
||||
EXPECT_NO_THROW(
|
||||
handle_->GetDatabase().WriteUserMetadata(minimalOutputPath_, true));
|
||||
@@ -267,8 +265,8 @@ TEST_P(DatabaseInterfaceTest, writeUserMetadataShouldShouldWriteUserMetadata) {
|
||||
masterlist << "bash_tags:\n []\nglobals:\n []\nplugins:\n []";
|
||||
masterlist.close();
|
||||
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
EXPECT_NO_THROW(
|
||||
handle_->GetDatabase().WriteUserMetadata(minimalOutputPath_, true));
|
||||
@@ -281,8 +279,8 @@ TEST_P(DatabaseInterfaceTest,
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
auto groups = handle_->GetDatabase().GetGroups();
|
||||
|
||||
@@ -317,8 +315,8 @@ TEST_P(DatabaseInterfaceTest,
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
auto groups = handle_->GetDatabase().GetGroups(false);
|
||||
|
||||
@@ -350,8 +348,8 @@ TEST_P(DatabaseInterfaceTest,
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
auto groups = handle_->GetDatabase().GetUserGroups();
|
||||
|
||||
@@ -373,8 +371,8 @@ TEST_P(
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
handle_->GetDatabase().SetUserGroups(std::vector<Group>({
|
||||
Group("group4"),
|
||||
@@ -396,8 +394,8 @@ TEST_P(DatabaseInterfaceTest,
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
auto path = handle_->GetDatabase().GetGroupsPath("group1", "group3");
|
||||
|
||||
@@ -413,8 +411,8 @@ TEST_P(DatabaseInterfaceTest,
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
auto tags = handle_->GetDatabase().GetKnownBashTags();
|
||||
|
||||
@@ -431,8 +429,8 @@ TEST_P(DatabaseInterfaceTest,
|
||||
getGeneralMessagesShouldGetGeneralMessagesFromTheMasterlistAndUserlist) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
auto messages = handle_->GetDatabase().GetGeneralMessages();
|
||||
|
||||
@@ -449,7 +447,7 @@ TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
getGeneralMessagesShouldReturnOnlyValidMessagesIfConditionsAreEvaluated) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadLists(masterlistPath, ""));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
|
||||
auto messages = handle_->GetDatabase().GetGeneralMessages(true);
|
||||
|
||||
@@ -466,8 +464,8 @@ TEST_P(
|
||||
getPluginMetadataShouldReturnMergedMasterAndUserMetadataForTheGivenPluginIfIncludeUserMetadataIsTrue) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
auto metadata =
|
||||
handle_->GetDatabase().GetPluginMetadata(blankEsm, true).value();
|
||||
@@ -483,8 +481,8 @@ TEST_P(DatabaseInterfaceTest,
|
||||
getPluginMetadataShouldPreferUserMetadataWhenMergingMetadata) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
auto metadata =
|
||||
handle_->GetDatabase().GetPluginMetadata(blankEsm, true).value();
|
||||
@@ -505,8 +503,8 @@ TEST_P(
|
||||
getPluginMetadataShouldReturnOnlyMasterlistMetadataForTheGivenPluginIfIncludeUserMetadataIsFalse) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
auto metadata =
|
||||
handle_->GetDatabase().GetPluginMetadata(blankEsm, false).value();
|
||||
@@ -521,7 +519,7 @@ TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
getPluginMetadataShouldReturnOnlyValidMetadataForTheGivenPluginIfConditionsAreEvaluated) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadLists(masterlistPath, ""));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
|
||||
auto metadata =
|
||||
handle_->GetDatabase().GetPluginMetadata(blankEsm, false, true).value();
|
||||
@@ -534,8 +532,8 @@ TEST_P(
|
||||
getPluginUserMetadataShouldReturnAnEmptyPluginMetadataObjectIfThePluginHasNoUserMetadata) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
EXPECT_FALSE(handle_->GetDatabase().GetPluginUserMetadata(blankDifferentEsm));
|
||||
}
|
||||
@@ -544,8 +542,8 @@ TEST_P(DatabaseInterfaceTest,
|
||||
getPluginUserMetadataShouldReturnOnlyUserMetadataForTheGivenPlugin) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
auto metadata =
|
||||
handle_->GetDatabase().GetPluginUserMetadata(blankEsm).value();
|
||||
@@ -561,8 +559,8 @@ TEST_P(
|
||||
getPluginUserMetadataShouldReturnOnlyValidMetadataForTheGivenPluginIfConditionsAreEvaluated) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
auto metadata =
|
||||
handle_->GetDatabase().GetPluginMetadata(blankEsm, false, true).value();
|
||||
@@ -575,8 +573,8 @@ TEST_P(
|
||||
setPluginUserMetadataShouldReplaceExistingUserMetadataWithTheGivenMetadata) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
PluginMetadata newMetadata(blankDifferentEsp);
|
||||
newMetadata.SetRequirements(std::vector<File>({File(masterFile)}));
|
||||
@@ -597,8 +595,8 @@ TEST_P(DatabaseInterfaceTest,
|
||||
setPluginUserMetadataShouldNotAffectExistingMasterlistMetadata) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
PluginMetadata newMetadata(blankEsm);
|
||||
newMetadata.SetRequirements(std::vector<File>({File(masterFile)}));
|
||||
@@ -617,8 +615,8 @@ TEST_P(DatabaseInterfaceTest,
|
||||
discardPluginUserMetadataShouldDiscardAllUserMetadataForTheGivenPlugin) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
handle_->GetDatabase().DiscardPluginUserMetadata(blankEsm);
|
||||
|
||||
@@ -630,8 +628,8 @@ TEST_P(
|
||||
discardPluginUserMetadataShouldNotDiscardMasterlistMetadataForTheGivenPlugin) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
handle_->GetDatabase().DiscardPluginUserMetadata(blankEsm);
|
||||
|
||||
@@ -647,8 +645,8 @@ TEST_P(DatabaseInterfaceTest,
|
||||
discardPluginUserMetadataShouldNotDiscardUserMetadataForOtherPlugins) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
handle_->GetDatabase().DiscardPluginUserMetadata(blankEsm);
|
||||
|
||||
@@ -662,8 +660,8 @@ TEST_P(DatabaseInterfaceTest,
|
||||
discardPluginUserMetadataShouldNotDiscardGeneralMessages) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
handle_->GetDatabase().DiscardPluginUserMetadata(blankEsm);
|
||||
|
||||
@@ -682,8 +680,8 @@ TEST_P(DatabaseInterfaceTest,
|
||||
discardPluginUserMetadataShouldNotDiscardKnownBashTags) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
handle_->GetDatabase().DiscardPluginUserMetadata(blankEsm);
|
||||
|
||||
@@ -703,8 +701,8 @@ TEST_P(
|
||||
discardAllUserMetadataShouldDiscardAllUserMetadataAndNoMasterlistMetadata) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
handle_->GetDatabase().LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadUserlist(userlistPath_));
|
||||
|
||||
handle_->GetDatabase().DiscardAllUserMetadata();
|
||||
|
||||
@@ -792,7 +790,7 @@ TEST_P(DatabaseInterfaceTest,
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
writeMinimalListShouldWriteOnlyBashTagsAndDirtyInfo) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadLists(masterlistPath, ""));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
|
||||
EXPECT_NO_THROW(
|
||||
handle_->GetDatabase().WriteMinimalList(minimalOutputPath_, true));
|
||||
|
||||
@@ -235,7 +235,7 @@ TEST_P(GameInterfaceTest, sortPluginsShouldSucceedIfPassedValidArguments) {
|
||||
}
|
||||
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadLists(masterlistPath, ""));
|
||||
ASSERT_NO_THROW(handle_->GetDatabase().LoadMasterlist(masterlistPath));
|
||||
|
||||
if (GetParam() == GameType::fo4 || GetParam() == GameType::tes5se) {
|
||||
pluginsToLoad.push_back(blankEsl);
|
||||
|
||||
Reference in New Issue
Block a user