mirror of
https://github.com/loot/libloot.git
synced 2026-07-27 14:16:01 -07:00
Fix getting default group when no metadata is loaded
This commit is contained in:
@@ -163,7 +163,12 @@ std::vector<Message> ApiDatabase::GetGeneralMessages(
|
||||
|
||||
std::unordered_set<Group> ApiDatabase::GetGroups(bool includeUserMetadata) const {
|
||||
if (!includeUserMetadata) {
|
||||
return masterlist_.Groups();
|
||||
auto groups = masterlist_.Groups();
|
||||
|
||||
//Insert the default group in case the masterlist hasn't been loaded.
|
||||
groups.insert(Group());
|
||||
|
||||
return groups;
|
||||
}
|
||||
|
||||
std::unordered_set<Group> mergedGroups;
|
||||
|
||||
@@ -460,6 +460,16 @@ TEST_P(DatabaseInterfaceTest,
|
||||
EXPECT_EQ(std::unordered_set<std::string>({ "group1" }), groups.find(Group("group2"))->GetAfterGroups());
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
getGroupsShouldReturnDefaultGroupIfNoMasterlistIsLoadedAndUserlistMetadataIsNotIncluded) {
|
||||
auto groups = db_->GetGroups(false);
|
||||
|
||||
EXPECT_EQ(1, groups.size());
|
||||
|
||||
EXPECT_EQ("default", groups.begin()->GetName());
|
||||
EXPECT_TRUE(groups.begin()->GetAfterGroups().empty());
|
||||
}
|
||||
|
||||
TEST_P(DatabaseInterfaceTest,
|
||||
getUserGroupsShouldReturnOnlyGroupMetadataFromTheUserlist) {
|
||||
ASSERT_NO_THROW(GenerateMasterlist());
|
||||
|
||||
Reference in New Issue
Block a user