mirror of
https://github.com/loot/libloot.git
synced 2026-07-27 14:16:01 -07:00
Remove PluginMetadata::NewMetadata()
It's unused by LOOT.
This commit is contained in:
@@ -71,17 +71,6 @@ public:
|
||||
*/
|
||||
LOOT_API void MergeMetadata(const PluginMetadata& plugin);
|
||||
|
||||
/**
|
||||
* Get metadata in this object that isn't present in the given PluginMetadata
|
||||
* object.
|
||||
* @param plugin
|
||||
* The PluginMetadata object to compare against.
|
||||
* @return A PluginMetadata object containing the metadata in this object that
|
||||
* is not in the given object. The returned object inherits this
|
||||
* object's group.
|
||||
*/
|
||||
LOOT_API PluginMetadata NewMetadata(const PluginMetadata& plugin) const;
|
||||
|
||||
/**
|
||||
* Get the plugin name.
|
||||
* @return The plugin name.
|
||||
|
||||
@@ -78,41 +78,6 @@ void PluginMetadata::MergeMetadata(const PluginMetadata& plugin) {
|
||||
return;
|
||||
}
|
||||
|
||||
PluginMetadata PluginMetadata::NewMetadata(const PluginMetadata& plugin) const {
|
||||
using std::set_difference;
|
||||
|
||||
PluginMetadata p(*this);
|
||||
|
||||
if (p.group_ == plugin.group_) {
|
||||
p.group_ = std::nullopt;
|
||||
}
|
||||
|
||||
// Compare this plugin against the given plugin.
|
||||
p.SetLoadAfterFiles(diffVectors(loadAfter_, plugin.loadAfter_));
|
||||
p.SetRequirements(diffVectors(requirements_, plugin.requirements_));
|
||||
p.SetIncompatibilities(
|
||||
diffVectors(incompatibilities_, plugin.incompatibilities_));
|
||||
|
||||
vector<Message> msgs1 = plugin.GetMessages();
|
||||
vector<Message> msgs2 = messages_;
|
||||
std::sort(begin(msgs1), end(msgs1));
|
||||
std::sort(begin(msgs2), end(msgs2));
|
||||
vector<Message> mDiff;
|
||||
set_difference(begin(msgs2),
|
||||
end(msgs2),
|
||||
begin(msgs1),
|
||||
end(msgs1),
|
||||
inserter(mDiff, begin(mDiff)));
|
||||
p.SetMessages(mDiff);
|
||||
|
||||
p.SetTags(diffVectors(tags_, plugin.tags_));
|
||||
p.SetDirtyInfo(diffVectors(dirtyInfo_, plugin.dirtyInfo_));
|
||||
p.SetCleanInfo(diffVectors(cleanInfo_, plugin.cleanInfo_));
|
||||
p.SetLocations(diffVectors(locations_, plugin.locations_));
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
std::string PluginMetadata::GetName() const { return name_; }
|
||||
|
||||
std::optional<std::string> PluginMetadata::GetGroup() const { return group_; }
|
||||
|
||||
@@ -250,180 +250,6 @@ TEST_P(PluginMetadataTest, mergeMetadataShouldMergeLocationData) {
|
||||
plugin1.GetLocations());
|
||||
}
|
||||
|
||||
TEST_P(PluginMetadataTest, newMetadataShouldUseSourcePluginName) {
|
||||
PluginMetadata plugin1(blankEsm);
|
||||
PluginMetadata plugin2(blankDifferentEsm);
|
||||
|
||||
PluginMetadata newMetadata = plugin1.NewMetadata(plugin2);
|
||||
|
||||
EXPECT_EQ(blankEsm, newMetadata.GetName());
|
||||
}
|
||||
|
||||
TEST_P(PluginMetadataTest,
|
||||
newMetadataShouldUseSourcePluginGroupExplicitlyIfItIsExplicit) {
|
||||
PluginMetadata plugin1;
|
||||
PluginMetadata plugin2;
|
||||
|
||||
plugin1.SetGroup("group1");
|
||||
plugin2.SetGroup("group2");
|
||||
|
||||
PluginMetadata newMetadata = plugin1.NewMetadata(plugin2);
|
||||
|
||||
EXPECT_EQ("group1", newMetadata.GetGroup().value());
|
||||
}
|
||||
|
||||
TEST_P(
|
||||
PluginMetadataTest,
|
||||
newMetadataShouldUseGivenPluginGroupImplicitlyIfTheSourcePluginGroupIsNotExplicit) {
|
||||
PluginMetadata plugin1;
|
||||
PluginMetadata plugin2;
|
||||
|
||||
plugin2.SetGroup("group2");
|
||||
|
||||
PluginMetadata newMetadata = plugin1.NewMetadata(plugin2);
|
||||
|
||||
EXPECT_FALSE(newMetadata.GetGroup());
|
||||
}
|
||||
|
||||
TEST_P(PluginMetadataTest,
|
||||
newMetadataShouldUseSourcePluginGroupImplicitlyIfTheGroupsAreTheSame) {
|
||||
PluginMetadata plugin1;
|
||||
PluginMetadata plugin2;
|
||||
|
||||
plugin1.SetGroup("group1");
|
||||
plugin2.SetGroup("group1");
|
||||
|
||||
PluginMetadata newMetadata = plugin1.NewMetadata(plugin2);
|
||||
|
||||
EXPECT_FALSE(newMetadata.GetGroup());
|
||||
}
|
||||
|
||||
TEST_P(PluginMetadataTest,
|
||||
newMetadataShouldOutputLoadAfterDataThatAreNotCommonToBothInputPlugins) {
|
||||
PluginMetadata plugin1;
|
||||
PluginMetadata plugin2;
|
||||
File file1(blankEsm);
|
||||
File file2(blankDifferentEsm);
|
||||
File file3(blankEsp);
|
||||
|
||||
plugin1.SetLoadAfterFiles({file1, file2});
|
||||
plugin2.SetLoadAfterFiles({file1, file3});
|
||||
PluginMetadata newMetadata = plugin1.NewMetadata(plugin2);
|
||||
|
||||
EXPECT_EQ(std::vector<File>({file2}), newMetadata.GetLoadAfterFiles());
|
||||
}
|
||||
|
||||
TEST_P(
|
||||
PluginMetadataTest,
|
||||
newMetadataShouldOutputRequirementsDataThatAreNotCommonToBothInputPlugins) {
|
||||
PluginMetadata plugin1;
|
||||
PluginMetadata plugin2;
|
||||
File file1(blankEsm);
|
||||
File file2(blankDifferentEsm);
|
||||
File file3(blankEsp);
|
||||
|
||||
plugin1.SetRequirements({file1, file2});
|
||||
plugin2.SetRequirements({file1, file3});
|
||||
PluginMetadata newMetadata = plugin1.NewMetadata(plugin2);
|
||||
|
||||
EXPECT_EQ(std::vector<File>({file2}), newMetadata.GetRequirements());
|
||||
}
|
||||
|
||||
TEST_P(
|
||||
PluginMetadataTest,
|
||||
newMetadataShouldOutputIncompatibilityDataThatAreNotCommonToBothInputPlugins) {
|
||||
PluginMetadata plugin1;
|
||||
PluginMetadata plugin2;
|
||||
File file1(blankEsm);
|
||||
File file2(blankDifferentEsm);
|
||||
File file3(blankEsp);
|
||||
|
||||
plugin1.SetIncompatibilities({file1, file2});
|
||||
plugin2.SetIncompatibilities({file1, file3});
|
||||
PluginMetadata newMetadata = plugin1.NewMetadata(plugin2);
|
||||
|
||||
EXPECT_EQ(std::vector<File>({file2}), newMetadata.GetIncompatibilities());
|
||||
}
|
||||
|
||||
TEST_P(PluginMetadataTest,
|
||||
newMetadataShouldOutputMessagesThatAreNotCommonToBothInputPlugins) {
|
||||
PluginMetadata plugin1;
|
||||
PluginMetadata plugin2;
|
||||
Message message1(MessageType::say, "content1");
|
||||
Message message2(MessageType::say, "content2");
|
||||
Message message3(MessageType::say, "content3");
|
||||
|
||||
plugin1.SetMessages({message1, message2});
|
||||
plugin2.SetMessages({message1, message3});
|
||||
PluginMetadata newMetadata = plugin1.NewMetadata(plugin2);
|
||||
|
||||
EXPECT_EQ(std::vector<Message>({message2}), newMetadata.GetMessages());
|
||||
}
|
||||
|
||||
TEST_P(PluginMetadataTest,
|
||||
newMetadataShouldOutputTagsThatAreNotCommonToBothInputPlugins) {
|
||||
PluginMetadata plugin1;
|
||||
PluginMetadata plugin2;
|
||||
Tag tag1("Relev");
|
||||
Tag tag2("Relev", false);
|
||||
Tag tag3("Delev");
|
||||
|
||||
plugin1.SetTags({tag1, tag2});
|
||||
plugin2.SetTags({tag1, tag3});
|
||||
PluginMetadata newMetadata = plugin1.NewMetadata(plugin2);
|
||||
|
||||
EXPECT_EQ(std::vector<Tag>({tag2}), newMetadata.GetTags());
|
||||
}
|
||||
|
||||
TEST_P(
|
||||
PluginMetadataTest,
|
||||
newMetadataShouldOutputDirtyInfoObjectsThatAreNotCommonToBothInputPlugins) {
|
||||
PluginMetadata plugin1;
|
||||
PluginMetadata plugin2;
|
||||
PluginCleaningData info1(0x5, "utility", info_, 1, 2, 3);
|
||||
PluginCleaningData info2(0xA, "utility", info_, 1, 2, 3);
|
||||
PluginCleaningData info3(0x1, "utility", info_, 1, 2, 3);
|
||||
|
||||
plugin1.SetDirtyInfo({info1, info2});
|
||||
plugin2.SetDirtyInfo({info1, info3});
|
||||
PluginMetadata newMetadata = plugin1.NewMetadata(plugin2);
|
||||
|
||||
EXPECT_EQ(std::vector<PluginCleaningData>({info2}),
|
||||
newMetadata.GetDirtyInfo());
|
||||
}
|
||||
|
||||
TEST_P(
|
||||
PluginMetadataTest,
|
||||
newMetadataShouldOutputCleanInfoObjectsThatAreNotCommonToBothInputPlugins) {
|
||||
PluginMetadata plugin1;
|
||||
PluginMetadata plugin2;
|
||||
PluginCleaningData info1(0x5, "utility");
|
||||
PluginCleaningData info2(0xA, "utility");
|
||||
PluginCleaningData info3(0x1, "utility");
|
||||
|
||||
plugin1.SetCleanInfo({info1, info2});
|
||||
plugin2.SetCleanInfo({info1, info3});
|
||||
PluginMetadata newMetadata = plugin1.NewMetadata(plugin2);
|
||||
|
||||
EXPECT_EQ(std::vector<PluginCleaningData>({info2}),
|
||||
newMetadata.GetCleanInfo());
|
||||
}
|
||||
|
||||
TEST_P(PluginMetadataTest,
|
||||
newMetadataShouldOutputLocationsThatAreNotCommonToBothInputPlugins) {
|
||||
PluginMetadata plugin1;
|
||||
PluginMetadata plugin2;
|
||||
Location location1("http://www.example.com/1");
|
||||
Location location2("http://www.example.com/2");
|
||||
Location location3("http://www.example.com/3");
|
||||
|
||||
plugin1.SetLocations({location1, location2});
|
||||
plugin2.SetLocations({location1, location3});
|
||||
PluginMetadata newMetadata = plugin1.NewMetadata(plugin2);
|
||||
|
||||
EXPECT_EQ(std::vector<Location>({location2}), newMetadata.GetLocations());
|
||||
}
|
||||
|
||||
TEST_P(PluginMetadataTest, unsetGroupShouldLeaveNoGroupValueSet) {
|
||||
PluginMetadata plugin;
|
||||
EXPECT_FALSE(plugin.GetGroup().has_value());
|
||||
|
||||
Reference in New Issue
Block a user