mirror of
https://github.com/loot/libloot.git
synced 2026-07-27 14:16:01 -07:00
Fix GetPluginMetadata() merging masterlist and userlist metadata in the wrong order
It was preferring masterlist metadata over userlist metadata, which is the opposite of the intended behaviour.
This commit is contained in:
@@ -212,14 +212,15 @@ std::optional<PluginMetadata> ApiDatabase::GetPluginMetadata(const std::string&
|
||||
|
||||
if (includeUserMetadata) {
|
||||
auto userMetadata = userlist_.FindPlugin(plugin);
|
||||
if (metadata && userMetadata) {
|
||||
metadata.value().MergeMetadata(userMetadata.value());
|
||||
} else if (userMetadata) {
|
||||
if (userMetadata.has_value()) {
|
||||
if (metadata.has_value()) {
|
||||
userMetadata.value().MergeMetadata(metadata.value());
|
||||
}
|
||||
metadata = userMetadata;
|
||||
}
|
||||
}
|
||||
|
||||
if (evaluateConditions && metadata) {
|
||||
if (evaluateConditions && metadata.has_value()) {
|
||||
return conditionEvaluator_->EvaluateAll(metadata.value());
|
||||
}
|
||||
|
||||
|
||||
@@ -98,6 +98,9 @@ protected:
|
||||
<< " - name: " << blankEsm << endl
|
||||
<< " after:" << endl
|
||||
<< " - " << blankDifferentEsm << endl
|
||||
<< " tag:" << endl
|
||||
<< " - name: Actors.ACBS" << endl
|
||||
<< " condition: 'file(\"" << missingEsp << "\")'" << endl
|
||||
<< " - name: " << blankDifferentEsp << endl
|
||||
<< " inc:" << endl
|
||||
<< " - " << blankEsp << endl
|
||||
@@ -131,8 +134,7 @@ INSTANTIATE_TEST_CASE_P(,
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
loadListsShouldSucceedEvenIfGameHandleIsDiscarded) {
|
||||
db_ = CreateGameHandle(
|
||||
GetParam(), dataPath.parent_path(), localPath)
|
||||
db_ = CreateGameHandle(GetParam(), dataPath.parent_path(), localPath)
|
||||
->GetDatabase();
|
||||
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
@@ -148,8 +150,7 @@ TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
loadListsShouldThrowIfAMasterlistIsPresentButAUserlistDoesNotExistAtTheGivenPath) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
EXPECT_THROW(db_->LoadLists(masterlistPath, userlistPath_),
|
||||
FileAccessError);
|
||||
EXPECT_THROW(db_->LoadLists(masterlistPath, userlistPath_), FileAccessError);
|
||||
}
|
||||
|
||||
TEST_P(
|
||||
@@ -165,8 +166,7 @@ TEST_P(DatabaseInterfaceTest,
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(std::filesystem::copy(masterlistPath, userlistPath_));
|
||||
|
||||
EXPECT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
EXPECT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
}
|
||||
|
||||
TEST_P(
|
||||
@@ -226,8 +226,7 @@ TEST_P(DatabaseInterfaceTest, writeUserMetadataShouldShouldWriteUserMetadata) {
|
||||
masterlist << "bash_tags:\n []\nglobals:\n []\nplugins:\n []";
|
||||
masterlist.close();
|
||||
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
EXPECT_NO_THROW(db_->WriteUserMetadata(minimalOutputPath_, true));
|
||||
|
||||
@@ -236,8 +235,7 @@ TEST_P(DatabaseInterfaceTest, writeUserMetadataShouldShouldWriteUserMetadata) {
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
updateMasterlistShouldThrowIfTheMasterlistPathGivenIsInvalid) {
|
||||
EXPECT_THROW(db_->UpdateMasterlist(";//\?", url_, branch_),
|
||||
std::exception);
|
||||
EXPECT_THROW(db_->UpdateMasterlist(";//\?", url_, branch_), std::exception);
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
@@ -262,9 +260,8 @@ TEST_P(DatabaseInterfaceTest,
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
updateMasterlistShouldThrowIfTheRepositoryBranchGivenCannotBeFound) {
|
||||
EXPECT_THROW(
|
||||
db_->UpdateMasterlist(masterlistPath, url_, "missing-branch"),
|
||||
std::system_error);
|
||||
EXPECT_THROW(db_->UpdateMasterlist(masterlistPath, url_, "missing-branch"),
|
||||
std::system_error);
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
@@ -277,8 +274,8 @@ TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
updateMasterlistShouldSucceedIfPassedValidParametersAndOutputTrueIfTheMasterlistWasUpdated) {
|
||||
bool updated = false;
|
||||
EXPECT_NO_THROW(
|
||||
updated = db_->UpdateMasterlist(masterlistPath, url_, branch_));
|
||||
EXPECT_NO_THROW(updated =
|
||||
db_->UpdateMasterlist(masterlistPath, url_, branch_));
|
||||
EXPECT_TRUE(updated);
|
||||
EXPECT_TRUE(std::filesystem::exists(masterlistPath));
|
||||
}
|
||||
@@ -287,12 +284,12 @@ TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
updateMasterlistShouldSucceedIfCalledRepeatedlyButOnlyOutputTrueForTheFirstCall) {
|
||||
bool updated = false;
|
||||
EXPECT_NO_THROW(
|
||||
updated = db_->UpdateMasterlist(masterlistPath, url_, branch_));
|
||||
EXPECT_NO_THROW(updated =
|
||||
db_->UpdateMasterlist(masterlistPath, url_, branch_));
|
||||
EXPECT_TRUE(updated);
|
||||
|
||||
EXPECT_NO_THROW(
|
||||
updated = db_->UpdateMasterlist(masterlistPath, url_, branch_));
|
||||
EXPECT_NO_THROW(updated =
|
||||
db_->UpdateMasterlist(masterlistPath, url_, branch_));
|
||||
EXPECT_FALSE(updated);
|
||||
EXPECT_TRUE(std::filesystem::exists(masterlistPath));
|
||||
}
|
||||
@@ -300,9 +297,8 @@ TEST_P(
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
getMasterlistRevisionShouldThrowIfNoMasterlistIsPresent) {
|
||||
MasterlistInfo info;
|
||||
EXPECT_THROW(
|
||||
info = db_->GetMasterlistRevision(masterlistPath, false),
|
||||
FileAccessError);
|
||||
EXPECT_THROW(info = db_->GetMasterlistRevision(masterlistPath, false),
|
||||
FileAccessError);
|
||||
EXPECT_TRUE(info.revision_id.empty());
|
||||
EXPECT_TRUE(info.revision_date.empty());
|
||||
EXPECT_FALSE(info.is_modified);
|
||||
@@ -314,9 +310,8 @@ TEST_P(
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
|
||||
MasterlistInfo info;
|
||||
EXPECT_THROW(
|
||||
info = db_->GetMasterlistRevision(masterlistPath, false),
|
||||
GitStateError);
|
||||
EXPECT_THROW(info = db_->GetMasterlistRevision(masterlistPath, false),
|
||||
GitStateError);
|
||||
EXPECT_TRUE(info.revision_id.empty());
|
||||
EXPECT_TRUE(info.revision_date.empty());
|
||||
EXPECT_FALSE(info.is_modified);
|
||||
@@ -325,12 +320,10 @@ TEST_P(
|
||||
TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
getMasterlistRevisionShouldOutputLongStringsAndBooleanFalseIfAVersionControlledMasterlistIsPresentAndGetShortIdParameterIsFalse) {
|
||||
ASSERT_NO_THROW(
|
||||
db_->UpdateMasterlist(masterlistPath, url_, branch_));
|
||||
ASSERT_NO_THROW(db_->UpdateMasterlist(masterlistPath, url_, branch_));
|
||||
|
||||
MasterlistInfo info;
|
||||
EXPECT_NO_THROW(
|
||||
info = db_->GetMasterlistRevision(masterlistPath, false));
|
||||
EXPECT_NO_THROW(info = db_->GetMasterlistRevision(masterlistPath, false));
|
||||
EXPECT_EQ(40, info.revision_id.length());
|
||||
EXPECT_EQ(10, info.revision_date.length());
|
||||
EXPECT_FALSE(info.is_modified);
|
||||
@@ -339,12 +332,10 @@ TEST_P(
|
||||
TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
getMasterlistRevisionShouldOutputShortStringsAndBooleanFalseIfAVersionControlledMasterlistIsPresentAndGetShortIdParameterIsTrue) {
|
||||
ASSERT_NO_THROW(
|
||||
db_->UpdateMasterlist(masterlistPath, url_, branch_));
|
||||
ASSERT_NO_THROW(db_->UpdateMasterlist(masterlistPath, url_, branch_));
|
||||
|
||||
MasterlistInfo info;
|
||||
EXPECT_NO_THROW(
|
||||
info = db_->GetMasterlistRevision(masterlistPath, false));
|
||||
EXPECT_NO_THROW(info = db_->GetMasterlistRevision(masterlistPath, false));
|
||||
EXPECT_GE(size_t(40), info.revision_id.length());
|
||||
EXPECT_LE(size_t(7), info.revision_id.length());
|
||||
EXPECT_EQ(10, info.revision_date.length());
|
||||
@@ -354,13 +345,11 @@ TEST_P(
|
||||
TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
getMasterlistRevisionShouldSucceedIfAnEditedVersionControlledMasterlistIsPresent) {
|
||||
ASSERT_NO_THROW(
|
||||
db_->UpdateMasterlist(masterlistPath, url_, branch_));
|
||||
ASSERT_NO_THROW(db_->UpdateMasterlist(masterlistPath, url_, branch_));
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
|
||||
MasterlistInfo info;
|
||||
EXPECT_NO_THROW(
|
||||
info = db_->GetMasterlistRevision(masterlistPath, false));
|
||||
EXPECT_NO_THROW(info = db_->GetMasterlistRevision(masterlistPath, false));
|
||||
EXPECT_EQ(40, info.revision_id.length());
|
||||
EXPECT_EQ(10, info.revision_date.length());
|
||||
EXPECT_TRUE(info.is_modified);
|
||||
@@ -369,8 +358,7 @@ TEST_P(
|
||||
TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
isLatestMasterlistShouldReturnFalseIfTheCurrentRevisionIsNotTheLatestRevisionInTheGivenBranch) {
|
||||
ASSERT_NO_THROW(
|
||||
db_->UpdateMasterlist(masterlistPath, url_, oldBranch_));
|
||||
ASSERT_NO_THROW(db_->UpdateMasterlist(masterlistPath, url_, oldBranch_));
|
||||
|
||||
EXPECT_FALSE(db_->IsLatestMasterlist(masterlistPath, branch_));
|
||||
}
|
||||
@@ -378,8 +366,7 @@ TEST_P(
|
||||
TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
isLatestMasterlistShouldReturnTrueIfTheCurrentRevisionIsTheLatestRevisioninTheGivenBranch) {
|
||||
ASSERT_NO_THROW(
|
||||
db_->UpdateMasterlist(masterlistPath, url_, branch_));
|
||||
ASSERT_NO_THROW(db_->UpdateMasterlist(masterlistPath, url_, branch_));
|
||||
|
||||
EXPECT_TRUE(db_->IsLatestMasterlist(masterlistPath, branch_));
|
||||
}
|
||||
@@ -389,8 +376,7 @@ TEST_P(DatabaseInterfaceTest,
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
auto groups = db_->GetGroups();
|
||||
|
||||
@@ -403,10 +389,12 @@ TEST_P(DatabaseInterfaceTest,
|
||||
EXPECT_TRUE(groups.find(Group("group1"))->GetAfterGroups().empty());
|
||||
|
||||
EXPECT_EQ(1, groups.count(Group("group2")));
|
||||
EXPECT_EQ(std::unordered_set<std::string>({ "group1", "default" }), groups.find(Group("group2"))->GetAfterGroups());
|
||||
EXPECT_EQ(std::unordered_set<std::string>({"group1", "default"}),
|
||||
groups.find(Group("group2"))->GetAfterGroups());
|
||||
|
||||
EXPECT_EQ(1, groups.count(Group("group3")));
|
||||
EXPECT_EQ(std::unordered_set<std::string>({ "group1" }), groups.find(Group("group3"))->GetAfterGroups());
|
||||
EXPECT_EQ(std::unordered_set<std::string>({"group1"}),
|
||||
groups.find(Group("group3"))->GetAfterGroups());
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
@@ -420,12 +408,11 @@ TEST_P(DatabaseInterfaceTest,
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
getGroupsShouldNotIncludeUserlistMetadataIfParameterIsFalse) {
|
||||
getGroupsShouldNotIncludeUserlistMetadataIfParameterIsFalse) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
auto groups = db_->GetGroups(false);
|
||||
|
||||
@@ -438,11 +425,13 @@ TEST_P(DatabaseInterfaceTest,
|
||||
EXPECT_TRUE(groups.find(Group("group1"))->GetAfterGroups().empty());
|
||||
|
||||
EXPECT_EQ(1, groups.count(Group("group2")));
|
||||
EXPECT_EQ(std::unordered_set<std::string>({ "group1" }), groups.find(Group("group2"))->GetAfterGroups());
|
||||
EXPECT_EQ(std::unordered_set<std::string>({"group1"}),
|
||||
groups.find(Group("group2"))->GetAfterGroups());
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
getGroupsShouldReturnDefaultGroupIfNoMasterlistIsLoadedAndUserlistMetadataIsNotIncluded) {
|
||||
TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
getGroupsShouldReturnDefaultGroupIfNoMasterlistIsLoadedAndUserlistMetadataIsNotIncluded) {
|
||||
auto groups = db_->GetGroups(false);
|
||||
|
||||
EXPECT_EQ(1, groups.size());
|
||||
@@ -452,12 +441,11 @@ TEST_P(DatabaseInterfaceTest,
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
getUserGroupsShouldReturnOnlyGroupMetadataFromTheUserlist) {
|
||||
getUserGroupsShouldReturnOnlyGroupMetadataFromTheUserlist) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
auto groups = db_->GetUserGroups();
|
||||
|
||||
@@ -467,22 +455,24 @@ TEST_P(DatabaseInterfaceTest,
|
||||
EXPECT_TRUE(groups.find(Group("default"))->GetAfterGroups().empty());
|
||||
|
||||
EXPECT_EQ(1, groups.count(Group("group2")));
|
||||
EXPECT_EQ(std::unordered_set<std::string>({ "default" }), groups.find(Group("group2"))->GetAfterGroups());
|
||||
EXPECT_EQ(std::unordered_set<std::string>({"default"}),
|
||||
groups.find(Group("group2"))->GetAfterGroups());
|
||||
|
||||
EXPECT_EQ(1, groups.count(Group("group3")));
|
||||
EXPECT_EQ(std::unordered_set<std::string>({ "group1" }), groups.find(Group("group3"))->GetAfterGroups());
|
||||
EXPECT_EQ(std::unordered_set<std::string>({"group1"}),
|
||||
groups.find(Group("group3"))->GetAfterGroups());
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
setUserGroupsShouldReplaceExistingUserGroupMetadataWithTheGivenMetadata) {
|
||||
TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
setUserGroupsShouldReplaceExistingUserGroupMetadataWithTheGivenMetadata) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
db_->SetUserGroups(std::unordered_set<Group>({
|
||||
Group("group4"),
|
||||
Group("group4"),
|
||||
}));
|
||||
|
||||
auto groups = db_->GetUserGroups();
|
||||
@@ -497,12 +487,11 @@ TEST_P(DatabaseInterfaceTest,
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
getGroupsPathShouldReturnTheShortestPathBetweenTheGivenGroups) {
|
||||
getGroupsPathShouldReturnTheShortestPathBetweenTheGivenGroups) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
auto path = db_->GetGroupsPath("group1", "group3");
|
||||
|
||||
@@ -518,8 +507,7 @@ TEST_P(DatabaseInterfaceTest,
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
auto tags = db_->GetKnownBashTags();
|
||||
|
||||
@@ -536,8 +524,7 @@ TEST_P(DatabaseInterfaceTest,
|
||||
getGeneralMessagesShouldGetGeneralMessagesFromTheMasterlistAndUserlist) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
auto messages = db_->GetGeneralMessages();
|
||||
|
||||
@@ -559,9 +546,8 @@ TEST_P(
|
||||
EXPECT_TRUE(messages.empty());
|
||||
}
|
||||
|
||||
TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
getPluginMetadataShouldReturnAnEmptyOptionalIfThePluginHasNoMetadata) {
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
getPluginMetadataShouldReturnAnEmptyOptionalIfThePluginHasNoMetadata) {
|
||||
EXPECT_FALSE(db_->GetPluginMetadata(blankEsm));
|
||||
}
|
||||
|
||||
@@ -570,8 +556,7 @@ TEST_P(
|
||||
getPluginMetadataShouldReturnMergedMasterAndUserMetadataForTheGivenPluginIfIncludeUserMetadataIsTrue) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
auto metadata = db_->GetPluginMetadata(blankEsm, true).value();
|
||||
|
||||
@@ -582,13 +567,30 @@ TEST_P(
|
||||
EXPECT_EQ(expectedLoadAfter, metadata.GetLoadAfterFiles());
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
getPluginMetadataShouldPreferUserMetadataWhenMergingMetadata) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
auto metadata = db_->GetPluginMetadata(blankEsm, true).value();
|
||||
|
||||
std::set<Tag> expectedTags({
|
||||
Tag("Actors.ACBS"),
|
||||
Tag("Actors.AIData"),
|
||||
Tag("C.Water", false),
|
||||
});
|
||||
EXPECT_EQ(expectedTags, metadata.GetTags());
|
||||
EXPECT_EQ("file(\"" + missingEsp +
|
||||
"\")" , metadata.GetTags().find(Tag("Actors.ACBS"))->GetCondition());
|
||||
}
|
||||
|
||||
TEST_P(
|
||||
DatabaseInterfaceTest,
|
||||
getPluginMetadataShouldReturnOnlyMasterlistMetadataForTheGivenPluginIfIncludeUserMetadataIsFalse) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
auto metadata = db_->GetPluginMetadata(blankEsm, false).value();
|
||||
|
||||
@@ -614,8 +616,7 @@ TEST_P(
|
||||
getPluginUserMetadataShouldReturnAnEmptyPluginMetadataObjectIfThePluginHasNoUserMetadata) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
EXPECT_FALSE(db_->GetPluginUserMetadata(blankDifferentEsm));
|
||||
}
|
||||
@@ -624,8 +625,7 @@ TEST_P(DatabaseInterfaceTest,
|
||||
getPluginUserMetadataShouldReturnOnlyUserMetadataForTheGivenPlugin) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
auto metadata = db_->GetPluginUserMetadata(blankEsm).value();
|
||||
|
||||
@@ -640,8 +640,7 @@ TEST_P(
|
||||
getPluginUserMetadataShouldReturnOnlyValidMetadataForTheGivenPluginIfConditionsAreEvaluated) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
auto metadata = db_->GetPluginMetadata(blankEsm, false, true).value();
|
||||
|
||||
@@ -653,8 +652,7 @@ TEST_P(
|
||||
setPluginUserMetadataShouldReplaceExistingUserMetadataWithTheGivenMetadata) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
PluginMetadata newMetadata(blankDifferentEsp);
|
||||
newMetadata.SetRequirements(std::set<File>({File(masterFile)}));
|
||||
@@ -674,8 +672,7 @@ TEST_P(DatabaseInterfaceTest,
|
||||
setPluginUserMetadataShouldNotAffectExistingMasterlistMetadata) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
PluginMetadata newMetadata(blankEsm);
|
||||
newMetadata.SetRequirements(std::set<File>({File(masterFile)}));
|
||||
@@ -694,8 +691,7 @@ TEST_P(DatabaseInterfaceTest,
|
||||
discardPluginUserMetadataShouldDiscardAllUserMetadataForTheGivenPlugin) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
db_->DiscardPluginUserMetadata(blankEsm);
|
||||
|
||||
@@ -707,8 +703,7 @@ TEST_P(
|
||||
discardPluginUserMetadataShouldNotDiscardMasterlistMetadataForTheGivenPlugin) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
db_->DiscardPluginUserMetadata(blankEsm);
|
||||
|
||||
@@ -724,8 +719,7 @@ TEST_P(DatabaseInterfaceTest,
|
||||
discardPluginUserMetadataShouldNotDiscardUserMetadataForOtherPlugins) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
db_->DiscardPluginUserMetadata(blankEsm);
|
||||
|
||||
@@ -738,8 +732,7 @@ TEST_P(DatabaseInterfaceTest,
|
||||
discardPluginUserMetadataShouldNotDiscardGeneralMessages) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
db_->DiscardPluginUserMetadata(blankEsm);
|
||||
|
||||
@@ -756,8 +749,7 @@ TEST_P(DatabaseInterfaceTest,
|
||||
discardPluginUserMetadataShouldNotDiscardKnownBashTags) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
db_->DiscardPluginUserMetadata(blankEsm);
|
||||
|
||||
@@ -777,8 +769,7 @@ TEST_P(
|
||||
discardAllUserMetadataShouldDiscardAllUserMetadataAndNoMasterlistMetadata) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
ASSERT_NO_THROW(GenerateUserlist());
|
||||
ASSERT_NO_THROW(
|
||||
db_->LoadLists(masterlistPath, userlistPath_));
|
||||
ASSERT_NO_THROW(db_->LoadLists(masterlistPath, userlistPath_));
|
||||
|
||||
db_->DiscardAllUserMetadata();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user