From 0f9886e298b1e5589fd9e8544aaf6cbbb787ec9d Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Sat, 6 Aug 2016 16:31:02 +0100 Subject: [PATCH] Rename PluginDirtyInfo class to PluginCleaningData It'll be used to hold data about clean plugins too. --- CMakeLists.txt | 6 +- resources/l10n/template.pot | 18 ++-- ...irty_info.cpp => plugin_cleaning_data.cpp} | 78 +++++++------- ...in_dirty_info.h => plugin_cleaning_data.h} | 42 ++++---- src/backend/metadata/plugin_metadata.cpp | 8 +- src/backend/metadata/plugin_metadata.h | 10 +- src/gui/query_handler.cpp | 2 +- src/tests/backend/main.cpp | 2 +- ...nfo_test.h => plugin_cleaning_data_test.h} | 101 +++++++++--------- .../backend/metadata/plugin_metadata_test.h | 40 +++---- src/tests/backend/plugin/plugin_test.h | 8 +- src/tests/printers.h | 6 +- 12 files changed, 163 insertions(+), 158 deletions(-) rename src/backend/metadata/{plugin_dirty_info.cpp => plugin_cleaning_data.cpp} (55%) rename src/backend/metadata/{plugin_dirty_info.h => plugin_cleaning_data.h} (68%) rename src/tests/backend/metadata/{plugin_dirty_info_test.h => plugin_cleaning_data_test.h} (59%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 66243119..7e956dd6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -161,7 +161,7 @@ set (LOOT_SRC "${CMAKE_SOURCE_DIR}/src/backend/app/loot_paths.cpp" "${CMAKE_SOURCE_DIR}/src/backend/metadata/location.cpp" "${CMAKE_SOURCE_DIR}/src/backend/metadata/message.cpp" "${CMAKE_SOURCE_DIR}/src/backend/metadata/message_content.cpp" - "${CMAKE_SOURCE_DIR}/src/backend/metadata/plugin_dirty_info.cpp" + "${CMAKE_SOURCE_DIR}/src/backend/metadata/plugin_cleaning_data.cpp" "${CMAKE_SOURCE_DIR}/src/backend/metadata/plugin_metadata.cpp" "${CMAKE_SOURCE_DIR}/src/backend/metadata/tag.cpp" "${CMAKE_SOURCE_DIR}/src/backend/game/game.cpp" @@ -187,7 +187,7 @@ set (LOOT_HEADERS "${CMAKE_SOURCE_DIR}/src/backend/app/loot_paths.h" "${CMAKE_SOURCE_DIR}/src/backend/metadata/location.h" "${CMAKE_SOURCE_DIR}/src/backend/metadata/message.h" "${CMAKE_SOURCE_DIR}/src/backend/metadata/message_content.h" - "${CMAKE_SOURCE_DIR}/src/backend/metadata/plugin_dirty_info.h" + "${CMAKE_SOURCE_DIR}/src/backend/metadata/plugin_cleaning_data.h" "${CMAKE_SOURCE_DIR}/src/backend/metadata/plugin_metadata.h" "${CMAKE_SOURCE_DIR}/src/backend/metadata/tag.h" "${CMAKE_SOURCE_DIR}/src/backend/game/game.h" @@ -254,7 +254,7 @@ set (LOOT_TESTS_HEADERS # Testing this here rather than as part of the API tests "${CMAKE_SOURCE_DIR}/src/tests/backend/metadata/location_test.h" "${CMAKE_SOURCE_DIR}/src/tests/backend/metadata/message_test.h" "${CMAKE_SOURCE_DIR}/src/tests/backend/metadata/message_content_test.h" - "${CMAKE_SOURCE_DIR}/src/tests/backend/metadata/plugin_dirty_info_test.h" + "${CMAKE_SOURCE_DIR}/src/tests/backend/metadata/plugin_cleaning_data_test.h" "${CMAKE_SOURCE_DIR}/src/tests/backend/metadata/plugin_metadata_test.h" "${CMAKE_SOURCE_DIR}/src/tests/backend/metadata/tag_test.h" "${CMAKE_SOURCE_DIR}/src/tests/backend/plugin/plugin_test.h" diff --git a/resources/l10n/template.pot b/resources/l10n/template.pot index 00accbbe..91866a7b 100644 --- a/resources/l10n/template.pot +++ b/resources/l10n/template.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: LOOT 0.9.2\n" "Report-Msgid-Bugs-To: https://github.com/loot/loot/issues\n" -"POT-Creation-Date: 2016-08-04 21:46+0200\n" +"POT-Creation-Date: 2016-08-06 16:31+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -784,38 +784,38 @@ msgstr "" msgid "Failed to parse condition \"%1%\"." msgstr "" -#: src/backend/metadata/plugin_dirty_info.cpp:69 +#: src/backend/metadata/plugin_cleaning_data.cpp:71 msgid "" "Contains %1% ITM records, %2% deleted references and %3% deleted navmeshes. " "Clean with %4%." msgstr "" -#: src/backend/metadata/plugin_dirty_info.cpp:71 +#: src/backend/metadata/plugin_cleaning_data.cpp:73 msgid "Clean with %1%." msgstr "" -#: src/backend/metadata/plugin_dirty_info.cpp:74 +#: src/backend/metadata/plugin_cleaning_data.cpp:76 msgid "" "Contains %1% deleted references and %2% deleted navmeshes. Clean with %3%." msgstr "" -#: src/backend/metadata/plugin_dirty_info.cpp:76 +#: src/backend/metadata/plugin_cleaning_data.cpp:78 msgid "Contains %1% deleted navmeshes. Clean with %2%." msgstr "" -#: src/backend/metadata/plugin_dirty_info.cpp:78 +#: src/backend/metadata/plugin_cleaning_data.cpp:80 msgid "Contains %1% deleted references. Clean with %2%." msgstr "" -#: src/backend/metadata/plugin_dirty_info.cpp:81 +#: src/backend/metadata/plugin_cleaning_data.cpp:83 msgid "Contains %1% ITM records and %2% deleted navmeshes. Clean with %3%." msgstr "" -#: src/backend/metadata/plugin_dirty_info.cpp:83 +#: src/backend/metadata/plugin_cleaning_data.cpp:85 msgid "Contains %1% ITM records. Clean with %2%." msgstr "" -#: src/backend/metadata/plugin_dirty_info.cpp:86 +#: src/backend/metadata/plugin_cleaning_data.cpp:88 msgid "Contains %1% ITM records and %2% deleted references. Clean with %3%." msgstr "" diff --git a/src/backend/metadata/plugin_dirty_info.cpp b/src/backend/metadata/plugin_cleaning_data.cpp similarity index 55% rename from src/backend/metadata/plugin_dirty_info.cpp rename to src/backend/metadata/plugin_cleaning_data.cpp index d4a43366..f4fdc6dc 100644 --- a/src/backend/metadata/plugin_dirty_info.cpp +++ b/src/backend/metadata/plugin_cleaning_data.cpp @@ -22,7 +22,7 @@ . */ -#include "backend/metadata/plugin_dirty_info.h" +#include "backend/metadata/plugin_cleaning_data.h" #include #include @@ -31,68 +31,70 @@ #include "backend/helpers/helpers.h" namespace loot { -PluginDirtyInfo::PluginDirtyInfo() : _crc(0), _itm(0), _ref(0), _nav(0) {} +PluginCleaningData::PluginCleaningData() : crc_(0), itm_(0), ref_(0), nav_(0) {} -PluginDirtyInfo::PluginDirtyInfo(uint32_t crc, unsigned int itm, unsigned int ref, unsigned int nav, const std::string& utility) : _crc(crc), _itm(itm), _ref(ref), _nav(nav), _utility(utility) {} +PluginCleaningData::PluginCleaningData(uint32_t crc, const std::string& utility) : crc_(crc), utility_(utility), itm_(0), ref_(0), nav_(0) {} -bool PluginDirtyInfo::operator < (const PluginDirtyInfo& rhs) const { - return _crc < rhs.CRC(); +PluginCleaningData::PluginCleaningData(uint32_t crc, unsigned int itm, unsigned int ref, unsigned int nav, const std::string& utility) : crc_(crc), itm_(itm), ref_(ref), nav_(nav), utility_(utility) {} + +bool PluginCleaningData::operator < (const PluginCleaningData& rhs) const { + return crc_ < rhs.CRC(); } -bool PluginDirtyInfo::operator == (const PluginDirtyInfo& rhs) const { - return _crc == rhs.CRC(); +bool PluginCleaningData::operator == (const PluginCleaningData& rhs) const { + return crc_ == rhs.CRC(); } -uint32_t PluginDirtyInfo::CRC() const { - return _crc; +uint32_t PluginCleaningData::CRC() const { + return crc_; } -unsigned int PluginDirtyInfo::ITMs() const { - return _itm; +unsigned int PluginCleaningData::ITMs() const { + return itm_; } -unsigned int PluginDirtyInfo::DeletedRefs() const { - return _ref; +unsigned int PluginCleaningData::DeletedRefs() const { + return ref_; } -unsigned int PluginDirtyInfo::DeletedNavmeshes() const { - return _nav; +unsigned int PluginCleaningData::DeletedNavmeshes() const { + return nav_; } -std::string PluginDirtyInfo::CleaningUtility() const { - return _utility; +std::string PluginCleaningData::CleaningUtility() const { + return utility_; } -Message PluginDirtyInfo::AsMessage() const { +Message PluginCleaningData::AsMessage() const { boost::format f; - if (this->_itm > 0 && this->_ref > 0 && this->_nav > 0) - f = boost::format(boost::locale::translate("Contains %1% ITM records, %2% deleted references and %3% deleted navmeshes. Clean with %4%.")) % this->_itm % this->_ref % this->_nav % this->_utility; - else if (this->_itm == 0 && this->_ref == 0 && this->_nav == 0) - f = boost::format(boost::locale::translate("Clean with %1%.")) % this->_utility; + if (this->itm_ > 0 && this->ref_ > 0 && this->nav_ > 0) + f = boost::format(boost::locale::translate("Contains %1% ITM records, %2% deleted references and %3% deleted navmeshes. Clean with %4%.")) % this->itm_ % this->ref_ % this->nav_ % this->utility_; + else if (this->itm_ == 0 && this->ref_ == 0 && this->nav_ == 0) + f = boost::format(boost::locale::translate("Clean with %1%.")) % this->utility_; - else if (this->_itm == 0 && this->_ref > 0 && this->_nav > 0) - f = boost::format(boost::locale::translate("Contains %1% deleted references and %2% deleted navmeshes. Clean with %3%.")) % this->_ref % this->_nav % this->_utility; - else if (this->_itm == 0 && this->_ref == 0 && this->_nav > 0) - f = boost::format(boost::locale::translate("Contains %1% deleted navmeshes. Clean with %2%.")) % this->_nav % this->_utility; - else if (this->_itm == 0 && this->_ref > 0 && this->_nav == 0) - f = boost::format(boost::locale::translate("Contains %1% deleted references. Clean with %2%.")) % this->_ref % this->_utility; + else if (this->itm_ == 0 && this->ref_ > 0 && this->nav_ > 0) + f = boost::format(boost::locale::translate("Contains %1% deleted references and %2% deleted navmeshes. Clean with %3%.")) % this->ref_ % this->nav_ % this->utility_; + else if (this->itm_ == 0 && this->ref_ == 0 && this->nav_ > 0) + f = boost::format(boost::locale::translate("Contains %1% deleted navmeshes. Clean with %2%.")) % this->nav_ % this->utility_; + else if (this->itm_ == 0 && this->ref_ > 0 && this->nav_ == 0) + f = boost::format(boost::locale::translate("Contains %1% deleted references. Clean with %2%.")) % this->ref_ % this->utility_; - else if (this->_itm > 0 && this->_ref == 0 && this->_nav > 0) - f = boost::format(boost::locale::translate("Contains %1% ITM records and %2% deleted navmeshes. Clean with %3%.")) % this->_itm % this->_nav % this->_utility; - else if (this->_itm > 0 && this->_ref == 0 && this->_nav == 0) - f = boost::format(boost::locale::translate("Contains %1% ITM records. Clean with %2%.")) % this->_itm % this->_utility; + else if (this->itm_ > 0 && this->ref_ == 0 && this->nav_ > 0) + f = boost::format(boost::locale::translate("Contains %1% ITM records and %2% deleted navmeshes. Clean with %3%.")) % this->itm_ % this->nav_ % this->utility_; + else if (this->itm_ > 0 && this->ref_ == 0 && this->nav_ == 0) + f = boost::format(boost::locale::translate("Contains %1% ITM records. Clean with %2%.")) % this->itm_ % this->utility_; - else if (this->_itm > 0 && this->_ref > 0 && this->_nav == 0) - f = boost::format(boost::locale::translate("Contains %1% ITM records and %2% deleted references. Clean with %3%.")) % this->_itm % this->_ref % this->_utility; + else if (this->itm_ > 0 && this->ref_ > 0 && this->nav_ == 0) + f = boost::format(boost::locale::translate("Contains %1% ITM records and %2% deleted references. Clean with %3%.")) % this->itm_ % this->ref_ % this->utility_; return Message(Message::Type::warn, f.str()); } -bool PluginDirtyInfo::EvalCondition(Game& game, const std::string& pluginName) const { +bool PluginCleaningData::EvalCondition(Game& game, const std::string& pluginName) const { if (pluginName.empty()) return false; -// First need to get plugin's CRC. + // First need to get plugin's CRC. uint32_t crc = 0; // Get the CRC from the game plugin cache if possible. @@ -109,12 +111,12 @@ bool PluginDirtyInfo::EvalCondition(Game& game, const std::string& pluginName) c } } - return _crc == crc; + return crc_ == crc; } } namespace YAML { -Emitter& operator << (Emitter& out, const loot::PluginDirtyInfo& rhs) { +Emitter& operator << (Emitter& out, const loot::PluginCleaningData& rhs) { out << BeginMap << Key << "crc" << Value << Hex << rhs.CRC() << Dec << Key << "util" << Value << YAML::SingleQuoted << rhs.CleaningUtility(); diff --git a/src/backend/metadata/plugin_dirty_info.h b/src/backend/metadata/plugin_cleaning_data.h similarity index 68% rename from src/backend/metadata/plugin_dirty_info.h rename to src/backend/metadata/plugin_cleaning_data.h index 0474f8ec..b5d979a1 100644 --- a/src/backend/metadata/plugin_dirty_info.h +++ b/src/backend/metadata/plugin_cleaning_data.h @@ -21,8 +21,9 @@ along with LOOT. If not, see . */ -#ifndef LOOT_BACKEND_METADATA_PLUGIN_DIRTY_INFO -#define LOOT_BACKEND_METADATA_PLUGIN_DIRTY_INFO + +#ifndef LOOT_BACKEND_METADATA_PLUGIN_CLEANING_DATA +#define LOOT_BACKEND_METADATA_PLUGIN_CLEANING_DATA #include #include @@ -34,13 +35,14 @@ namespace loot { class Game; -class PluginDirtyInfo { +class PluginCleaningData { public: - PluginDirtyInfo(); - PluginDirtyInfo(uint32_t crc, unsigned int itm, unsigned int ref, unsigned int nav, const std::string& utility); + PluginCleaningData(); + PluginCleaningData(uint32_t crc, const std::string& utility); + PluginCleaningData(uint32_t crc, unsigned int itm, unsigned int ref, unsigned int nav, const std::string& utility); - bool operator < (const PluginDirtyInfo& rhs) const; - bool operator == (const PluginDirtyInfo& rhs) const; + bool operator < (const PluginCleaningData& rhs) const; + bool operator == (const PluginCleaningData& rhs) const; uint32_t CRC() const; unsigned int ITMs() const; @@ -52,18 +54,18 @@ public: bool EvalCondition(Game& game, const std::string& pluginName) const; private: - uint32_t _crc; - unsigned int _itm; - unsigned int _ref; - unsigned int _nav; - std::string _utility; + uint32_t crc_; + unsigned int itm_; + unsigned int ref_; + unsigned int nav_; + std::string utility_; }; } namespace YAML { template<> -struct convert { - static Node encode(const loot::PluginDirtyInfo& rhs) { +struct convert { + static Node encode(const loot::PluginCleaningData& rhs) { Node node; node["crc"] = rhs.CRC(); node["util"] = rhs.CleaningUtility(); @@ -78,13 +80,13 @@ struct convert { return node; } - static bool decode(const Node& node, loot::PluginDirtyInfo& rhs) { + static bool decode(const Node& node, loot::PluginCleaningData& rhs) { if (!node.IsMap()) - throw RepresentationException(node.Mark(), "bad conversion: 'dirty info' object must be a map"); + throw RepresentationException(node.Mark(), "bad conversion: 'cleaning data' object must be a map"); if (!node["crc"]) - throw RepresentationException(node.Mark(), "bad conversion: 'crc' key missing from 'dirty info' object"); + throw RepresentationException(node.Mark(), "bad conversion: 'crc' key missing from 'cleaning data' object"); if (!node["util"]) - throw RepresentationException(node.Mark(), "bad conversion: 'util' key missing from 'dirty info' object"); + throw RepresentationException(node.Mark(), "bad conversion: 'util' key missing from 'cleaning data' object"); uint32_t crc = node["crc"].as(); int itm = 0, ref = 0, nav = 0; @@ -98,13 +100,13 @@ struct convert { std::string utility = node["util"].as(); - rhs = loot::PluginDirtyInfo(crc, itm, ref, nav, utility); + rhs = loot::PluginCleaningData(crc, itm, ref, nav, utility); return true; } }; -Emitter& operator << (Emitter& out, const loot::PluginDirtyInfo& rhs); +Emitter& operator << (Emitter& out, const loot::PluginCleaningData& rhs); } #endif diff --git a/src/backend/metadata/plugin_metadata.cpp b/src/backend/metadata/plugin_metadata.cpp index 3a5247a9..754d05cc 100644 --- a/src/backend/metadata/plugin_metadata.cpp +++ b/src/backend/metadata/plugin_metadata.cpp @@ -144,7 +144,7 @@ PluginMetadata PluginMetadata::DiffMetadata(const PluginMetadata& plugin) const inserter(tagDiff, begin(tagDiff))); p.Tags(tagDiff); - set dirtDiff; + set dirtDiff; set_symmetric_difference(begin(dirtyInfo_), end(dirtyInfo_), begin(plugin.dirtyInfo_), @@ -214,7 +214,7 @@ PluginMetadata PluginMetadata::NewMetadata(const PluginMetadata& plugin) const { inserter(tagDiff, begin(tagDiff))); p.Tags(tagDiff); - set dirtDiff; + set dirtDiff; set_difference(begin(dirtyInfo_), end(dirtyInfo_), begin(plugin.dirtyInfo_), @@ -273,7 +273,7 @@ std::set PluginMetadata::Tags() const { return tags_; } -std::set PluginMetadata::DirtyInfo() const { +std::set PluginMetadata::DirtyInfo() const { return dirtyInfo_; } @@ -320,7 +320,7 @@ void PluginMetadata::Tags(const std::set& t) { tags_ = t; } -void PluginMetadata::DirtyInfo(const std::set& dirtyInfo) { +void PluginMetadata::DirtyInfo(const std::set& dirtyInfo) { dirtyInfo_ = dirtyInfo; } diff --git a/src/backend/metadata/plugin_metadata.h b/src/backend/metadata/plugin_metadata.h index 3fcdd7fe..3ef83ce5 100644 --- a/src/backend/metadata/plugin_metadata.h +++ b/src/backend/metadata/plugin_metadata.h @@ -38,7 +38,7 @@ #include "backend/metadata/file.h" #include "backend/metadata/location.h" #include "backend/metadata/message.h" -#include "backend/metadata/plugin_dirty_info.h" +#include "backend/metadata/plugin_cleaning_data.h" #include "backend/metadata/tag.h" namespace loot { @@ -75,7 +75,7 @@ public: std::set Incs() const; std::list Messages() const; std::set Tags() const; - std::set DirtyInfo() const; + std::set DirtyInfo() const; std::set Locations() const; void Enabled(const bool enabled); @@ -87,7 +87,7 @@ public: void Incs(const std::set& incs); void Messages(const std::list& messages); void Tags(const std::set& tags); - void DirtyInfo(const std::set& info); + void DirtyInfo(const std::set& info); void Locations(const std::set& locations); PluginMetadata& EvalAllConditions(Game& game, const Language::Code language); @@ -115,7 +115,7 @@ private: std::set loadAfter_; std::set requirements_; std::set incompatibilities_; - std::set dirtyInfo_; + std::set dirtyInfo_; std::set locations_; }; } @@ -201,7 +201,7 @@ struct convert { if (rhs.IsRegexPlugin()) throw RepresentationException(node.Mark(), "bad conversion: 'dirty' key must not be present in a regex 'plugin metadata' object"); else - rhs.DirtyInfo(node["dirty"].as< std::set >()); + rhs.DirtyInfo(node["dirty"].as< std::set >()); } if (node["url"]) rhs.Locations(node["url"].as< std::set >()); diff --git a/src/gui/query_handler.cpp b/src/gui/query_handler.cpp index 01244193..2d04ffa9 100644 --- a/src/gui/query_handler.cpp +++ b/src/gui/query_handler.cpp @@ -464,7 +464,7 @@ std::string QueryHandler::ApplyUserEdits(const YAML::Node& pluginMetadata) { if (pluginMetadata["userlist"]["tag"]) newUserlistEntry.Tags(pluginMetadata["userlist"]["tag"].as>()); if (pluginMetadata["userlist"]["dirty"]) - newUserlistEntry.DirtyInfo(pluginMetadata["userlist"]["dirty"].as>()); + newUserlistEntry.DirtyInfo(pluginMetadata["userlist"]["dirty"].as>()); if (pluginMetadata["userlist"]["url"]) newUserlistEntry.Locations(pluginMetadata["userlist"]["url"].as>()); diff --git a/src/tests/backend/main.cpp b/src/tests/backend/main.cpp index 3f7da50e..990c8371 100644 --- a/src/tests/backend/main.cpp +++ b/src/tests/backend/main.cpp @@ -43,7 +43,7 @@ #include "tests/backend/metadata/location_test.h" #include "tests/backend/metadata/message_test.h" #include "tests/backend/metadata/message_content_test.h" -#include "tests/backend/metadata/plugin_dirty_info_test.h" +#include "tests/backend/metadata/plugin_cleaning_data_test.h" #include "tests/backend/metadata/plugin_metadata_test.h" #include "tests/backend/metadata/tag_test.h" #include "tests/backend/plugin/plugin_test.h" diff --git a/src/tests/backend/metadata/plugin_dirty_info_test.h b/src/tests/backend/metadata/plugin_cleaning_data_test.h similarity index 59% rename from src/tests/backend/metadata/plugin_dirty_info_test.h rename to src/tests/backend/metadata/plugin_cleaning_data_test.h index 760d3602..c11010ab 100644 --- a/src/tests/backend/metadata/plugin_dirty_info_test.h +++ b/src/tests/backend/metadata/plugin_cleaning_data_test.h @@ -22,26 +22,27 @@ along with LOOT. If not, see . */ -#ifndef LOOT_TESTS_BACKEND_METADATA_PLUGIN_DIRTY_INFO_TEST -#define LOOT_TESTS_BACKEND_METADATA_PLUGIN_DIRTY_INFO_TEST +#ifndef LOOT_TESTS_BACKEND_METADATA_PLUGIN_CLEANING_DATA +#define LOOT_TESTS_BACKEND_METADATA_PLUGIN_CLEANING_DATA -#include "backend/metadata/plugin_dirty_info.h" +#include "backend/metadata/plugin_cleaning_data.h" +#include "backend/game/game.h" #include "tests/backend/base_game_test.h" namespace loot { namespace test { -class PluginDirtyInfoTest : public BaseGameTest {}; +class PluginCleaningDataTest : public BaseGameTest {}; // Pass an empty first argument, as it's a prefix for the test instantation, // but we only have the one so no prefix is necessary. INSTANTIATE_TEST_CASE_P(, - PluginDirtyInfoTest, + PluginCleaningDataTest, ::testing::Values( GameType::tes4)); -TEST_P(PluginDirtyInfoTest, defaultConstructorShouldLeaveAllCountsAtZeroAndTheUtilityStringEmpty) { - PluginDirtyInfo info; +TEST_P(PluginCleaningDataTest, defaultConstructorShouldLeaveAllCountsAtZeroAndTheUtilityStringEmpty) { + PluginCleaningData info; EXPECT_EQ(0, info.CRC()); EXPECT_EQ(0, info.ITMs()); EXPECT_EQ(0, info.DeletedRefs()); @@ -49,8 +50,8 @@ TEST_P(PluginDirtyInfoTest, defaultConstructorShouldLeaveAllCountsAtZeroAndTheUt EXPECT_TRUE(info.CleaningUtility().empty()); } -TEST_P(PluginDirtyInfoTest, contentConstructorShouldStoreAllGivenData) { - PluginDirtyInfo info(0x12345678, 2, 10, 30, "cleaner"); +TEST_P(PluginCleaningDataTest, contentConstructorShouldStoreAllGivenData) { + PluginCleaningData info(0x12345678, 2, 10, 30, "cleaner"); EXPECT_EQ(0x12345678, info.CRC()); EXPECT_EQ(2, info.ITMs()); EXPECT_EQ(10, info.DeletedRefs()); @@ -58,104 +59,104 @@ TEST_P(PluginDirtyInfoTest, contentConstructorShouldStoreAllGivenData) { EXPECT_EQ("cleaner", info.CleaningUtility()); } -TEST_P(PluginDirtyInfoTest, asMessageShouldOutputAllNonZeroCounts) { - Message message = PluginDirtyInfo(0x12345678, 2, 10, 30, "cleaner").AsMessage(); +TEST_P(PluginCleaningDataTest, asMessageShouldOutputAllNonZeroCounts) { + Message message = PluginCleaningData(0x12345678, 2, 10, 30, "cleaner").AsMessage(); EXPECT_EQ(Message::Type::warn, message.GetType()); EXPECT_EQ("Contains 2 ITM records, 10 deleted references and 30 deleted navmeshes. Clean with cleaner.", message.ChooseContent(Language::Code::english).GetText()); - message = PluginDirtyInfo(0x12345678, 0, 0, 0, "cleaner").AsMessage(); + message = PluginCleaningData(0x12345678, 0, 0, 0, "cleaner").AsMessage(); EXPECT_EQ(Message::Type::warn, message.GetType()); EXPECT_EQ("Clean with cleaner.", message.ChooseContent(Language::Code::english).GetText()); - message = PluginDirtyInfo(0x12345678, 0, 10, 30, "cleaner").AsMessage(); + message = PluginCleaningData(0x12345678, 0, 10, 30, "cleaner").AsMessage(); EXPECT_EQ(Message::Type::warn, message.GetType()); EXPECT_EQ("Contains 10 deleted references and 30 deleted navmeshes. Clean with cleaner.", message.ChooseContent(Language::Code::english).GetText()); - message = PluginDirtyInfo(0x12345678, 0, 0, 30, "cleaner").AsMessage(); + message = PluginCleaningData(0x12345678, 0, 0, 30, "cleaner").AsMessage(); EXPECT_EQ(Message::Type::warn, message.GetType()); EXPECT_EQ("Contains 30 deleted navmeshes. Clean with cleaner.", message.ChooseContent(Language::Code::english).GetText()); - message = PluginDirtyInfo(0x12345678, 0, 10, 0, "cleaner").AsMessage(); + message = PluginCleaningData(0x12345678, 0, 10, 0, "cleaner").AsMessage(); EXPECT_EQ(Message::Type::warn, message.GetType()); EXPECT_EQ("Contains 10 deleted references. Clean with cleaner.", message.ChooseContent(Language::Code::english).GetText()); - message = PluginDirtyInfo(0x12345678, 2, 0, 30, "cleaner").AsMessage(); + message = PluginCleaningData(0x12345678, 2, 0, 30, "cleaner").AsMessage(); EXPECT_EQ(Message::Type::warn, message.GetType()); EXPECT_EQ("Contains 2 ITM records and 30 deleted navmeshes. Clean with cleaner.", message.ChooseContent(Language::Code::english).GetText()); - message = PluginDirtyInfo(0x12345678, 2, 0, 0, "cleaner").AsMessage(); + message = PluginCleaningData(0x12345678, 2, 0, 0, "cleaner").AsMessage(); EXPECT_EQ(Message::Type::warn, message.GetType()); EXPECT_EQ("Contains 2 ITM records. Clean with cleaner.", message.ChooseContent(Language::Code::english).GetText()); - message = PluginDirtyInfo(0x12345678, 2, 10, 0, "cleaner").AsMessage(); + message = PluginCleaningData(0x12345678, 2, 10, 0, "cleaner").AsMessage(); EXPECT_EQ(Message::Type::warn, message.GetType()); EXPECT_EQ("Contains 2 ITM records and 10 deleted references. Clean with cleaner.", message.ChooseContent(Language::Code::english).GetText()); } -TEST_P(PluginDirtyInfoTest, dirtyInfoShouldBeEqualIfCrcValuesAreEqual) { - PluginDirtyInfo info1(0x12345678, 2, 10, 30, "cleaner1"); - PluginDirtyInfo info2(0x12345678, 4, 20, 60, "cleaner2"); +TEST_P(PluginCleaningDataTest, dirtyInfoShouldBeEqualIfCrcValuesAreEqual) { + PluginCleaningData info1(0x12345678, 2, 10, 30, "cleaner1"); + PluginCleaningData info2(0x12345678, 4, 20, 60, "cleaner2"); EXPECT_TRUE(info1 == info2); - info1 = PluginDirtyInfo(0x12345678, 2, 10, 30, "cleaner"); - info2 = PluginDirtyInfo(0x87654321, 2, 10, 30, "cleaner"); + info1 = PluginCleaningData(0x12345678, 2, 10, 30, "cleaner"); + info2 = PluginCleaningData(0x87654321, 2, 10, 30, "cleaner"); EXPECT_FALSE(info1 == info2); } -TEST_P(PluginDirtyInfoTest, LessThanOperatorShouldCompareCrcValues) { - PluginDirtyInfo info1(0x12345678, 2, 10, 30, "cleaner1"); - PluginDirtyInfo info2(0x12345678, 4, 20, 60, "cleaner2"); +TEST_P(PluginCleaningDataTest, LessThanOperatorShouldCompareCrcValues) { + PluginCleaningData info1(0x12345678, 2, 10, 30, "cleaner1"); + PluginCleaningData info2(0x12345678, 4, 20, 60, "cleaner2"); EXPECT_FALSE(info1 < info2); EXPECT_FALSE(info2 < info1); - info1 = PluginDirtyInfo(0x12345678, 2, 10, 30, "cleaner"); - info2 = PluginDirtyInfo(0x87654321, 2, 10, 30, "cleaner"); + info1 = PluginCleaningData(0x12345678, 2, 10, 30, "cleaner"); + info2 = PluginCleaningData(0x87654321, 2, 10, 30, "cleaner"); EXPECT_TRUE(info1 < info2); EXPECT_FALSE(info2 < info1); } -TEST_P(PluginDirtyInfoTest, evalConditionShouldBeTrueIfTheCrcGivenMatchesTheRealPluginCrc) { +TEST_P(PluginCleaningDataTest, evalConditionShouldBeTrueIfTheCrcGivenMatchesTheRealPluginCrc) { Game game(GetParam()); game.SetGamePath(dataPath.parent_path()); - PluginDirtyInfo dirtyInfo(blankEsmCrc, 2, 10, 30, "cleaner"); + PluginCleaningData dirtyInfo(blankEsmCrc, 2, 10, 30, "cleaner"); EXPECT_TRUE(dirtyInfo.EvalCondition(game, blankEsm)); } -TEST_P(PluginDirtyInfoTest, evalConditionShouldBeFalseIfTheCrcGivenDoesNotMatchTheRealPluginCrc) { +TEST_P(PluginCleaningDataTest, evalConditionShouldBeFalseIfTheCrcGivenDoesNotMatchTheRealPluginCrc) { Game game(GetParam()); game.SetGamePath(dataPath.parent_path()); - PluginDirtyInfo dirtyInfo(0xDEADBEEF, 2, 10, 30, "cleaner"); + PluginCleaningData dirtyInfo(0xDEADBEEF, 2, 10, 30, "cleaner"); EXPECT_FALSE(dirtyInfo.EvalCondition(game, blankEsm)); } -TEST_P(PluginDirtyInfoTest, evalConditionShouldBeFalseIfAnEmptyPluginFilenameIsGiven) { +TEST_P(PluginCleaningDataTest, evalConditionShouldBeFalseIfAnEmptyPluginFilenameIsGiven) { Game game(GetParam()); game.SetGamePath(dataPath.parent_path()); - PluginDirtyInfo dirtyInfo; + PluginCleaningData dirtyInfo; EXPECT_FALSE(dirtyInfo.EvalCondition(game, "")); } -TEST_P(PluginDirtyInfoTest, emittingAsYamlShouldOutputAllNonZeroCounts) { - PluginDirtyInfo info(0x12345678, 2, 10, 30, "cleaner"); +TEST_P(PluginCleaningDataTest, emittingAsYamlShouldOutputAllNonZeroCounts) { + PluginCleaningData info(0x12345678, 2, 10, 30, "cleaner"); YAML::Emitter emitter; emitter << info; EXPECT_STREQ("crc: 0x12345678\nutil: 'cleaner'\nitm: 2\nudr: 10\nnav: 30", emitter.c_str()); } -TEST_P(PluginDirtyInfoTest, emittingAsYamlShouldOmitAllZeroCounts) { - PluginDirtyInfo info(0x12345678, 0, 0, 0, "cleaner"); +TEST_P(PluginCleaningDataTest, emittingAsYamlShouldOmitAllZeroCounts) { + PluginCleaningData info(0x12345678, 0, 0, 0, "cleaner"); YAML::Emitter emitter; emitter << info; EXPECT_STREQ("crc: 0x12345678\nutil: 'cleaner'", emitter.c_str()); } -TEST_P(PluginDirtyInfoTest, encodingAsYamlShouldOmitAllZeroCountFields) { - PluginDirtyInfo info(0x12345678, 0, 0, 0, "cleaner"); +TEST_P(PluginCleaningDataTest, encodingAsYamlShouldOmitAllZeroCountFields) { + PluginCleaningData info(0x12345678, 0, 0, 0, "cleaner"); YAML::Node node; node = info; @@ -166,8 +167,8 @@ TEST_P(PluginDirtyInfoTest, encodingAsYamlShouldOmitAllZeroCountFields) { EXPECT_FALSE(node["nav"]); } -TEST_P(PluginDirtyInfoTest, encodingAsYamlShouldOutputAllNonZeroCountFields) { - PluginDirtyInfo info(0x12345678, 2, 10, 30, "cleaner"); +TEST_P(PluginCleaningDataTest, encodingAsYamlShouldOutputAllNonZeroCountFields) { + PluginCleaningData info(0x12345678, 2, 10, 30, "cleaner"); YAML::Node node; node = info; @@ -178,9 +179,9 @@ TEST_P(PluginDirtyInfoTest, encodingAsYamlShouldOutputAllNonZeroCountFields) { EXPECT_EQ(30, node["nav"].as()); } -TEST_P(PluginDirtyInfoTest, decodingFromYamlShouldLeaveMissingFieldsWithZeroValues) { +TEST_P(PluginCleaningDataTest, decodingFromYamlShouldLeaveMissingFieldsWithZeroValues) { YAML::Node node = YAML::Load("{crc: 0x12345678, util: cleaner}"); - PluginDirtyInfo info = node.as(); + PluginCleaningData info = node.as(); EXPECT_EQ(0x12345678, info.CRC()); EXPECT_EQ(0, info.ITMs()); @@ -189,9 +190,9 @@ TEST_P(PluginDirtyInfoTest, decodingFromYamlShouldLeaveMissingFieldsWithZeroValu EXPECT_EQ("cleaner", info.CleaningUtility()); } -TEST_P(PluginDirtyInfoTest, decodingFromYamlShouldStoreAllNonZeroCounts) { +TEST_P(PluginCleaningDataTest, decodingFromYamlShouldStoreAllNonZeroCounts) { YAML::Node node = YAML::Load("{crc: 0x12345678, util: cleaner, itm: 2, udr: 10, nav: 30}"); - PluginDirtyInfo info = node.as(); + PluginCleaningData info = node.as(); EXPECT_EQ(0x12345678, info.CRC()); EXPECT_EQ(2, info.ITMs()); @@ -200,16 +201,16 @@ TEST_P(PluginDirtyInfoTest, decodingFromYamlShouldStoreAllNonZeroCounts) { EXPECT_EQ("cleaner", info.CleaningUtility()); } -TEST_P(PluginDirtyInfoTest, decodingFromYamlScalarShouldThrow) { +TEST_P(PluginCleaningDataTest, decodingFromYamlScalarShouldThrow) { YAML::Node node = YAML::Load("scalar"); - EXPECT_ANY_THROW(node.as()); + EXPECT_ANY_THROW(node.as()); } -TEST_P(PluginDirtyInfoTest, decodingFromYamlListShouldThrow) { +TEST_P(PluginCleaningDataTest, decodingFromYamlListShouldThrow) { YAML::Node node = YAML::Load("[0, 1, 2]"); - EXPECT_ANY_THROW(node.as()); + EXPECT_ANY_THROW(node.as()); } } } diff --git a/src/tests/backend/metadata/plugin_metadata_test.h b/src/tests/backend/metadata/plugin_metadata_test.h index 0027156d..6e5fdafd 100644 --- a/src/tests/backend/metadata/plugin_metadata_test.h +++ b/src/tests/backend/metadata/plugin_metadata_test.h @@ -257,14 +257,14 @@ TEST_P(PluginMetadataTest, mergeMetadataShouldMergeTags) { TEST_P(PluginMetadataTest, mergeMetadataShouldMergeDirtyInfoData) { PluginMetadata plugin1; PluginMetadata plugin2; - PluginDirtyInfo info1(0x5, 1, 2, 3, "utility"); - PluginDirtyInfo info2(0xA, 1, 2, 3, "utility"); + PluginCleaningData info1(0x5, 1, 2, 3, "utility"); + PluginCleaningData info2(0xA, 1, 2, 3, "utility"); plugin1.DirtyInfo({info1}); plugin2.DirtyInfo({info1, info2}); plugin1.MergeMetadata(plugin2); - EXPECT_EQ(std::set({info1, info2}), plugin1.DirtyInfo()); + EXPECT_EQ(std::set({info1, info2}), plugin1.DirtyInfo()); } TEST_P(PluginMetadataTest, mergeMetadataShouldMergeLocationData) { @@ -412,15 +412,15 @@ TEST_P(PluginMetadataTest, diffMetadataShouldOutputTagsThatAreNotCommonToBothInp TEST_P(PluginMetadataTest, diffMetadataShouldOutputDirtyInfoObjectsThatAreNotCommonToBothInputPlugins) { PluginMetadata plugin1; PluginMetadata plugin2; - PluginDirtyInfo info1(0x5, 1, 2, 3, "utility"); - PluginDirtyInfo info2(0xA, 1, 2, 3, "utility"); - PluginDirtyInfo info3(0x1, 1, 2, 3, "utility"); + PluginCleaningData info1(0x5, 1, 2, 3, "utility"); + PluginCleaningData info2(0xA, 1, 2, 3, "utility"); + PluginCleaningData info3(0x1, 1, 2, 3, "utility"); plugin1.DirtyInfo({info1, info2}); plugin2.DirtyInfo({info1, info3}); PluginMetadata diff = plugin1.DiffMetadata(plugin2); - EXPECT_EQ(std::set({info2, info3}), diff.DirtyInfo()); + EXPECT_EQ(std::set({info2, info3}), diff.DirtyInfo()); } TEST_P(PluginMetadataTest, diffMetadataShouldOutputLocationsThatAreNotCommonToBothInputPlugins) { @@ -547,15 +547,15 @@ TEST_P(PluginMetadataTest, newMetadataShouldOutputTagsThatAreNotCommonToBothInpu TEST_P(PluginMetadataTest, newMetadataShouldOutputDirtyInfoObjectsThatAreNotCommonToBothInputPlugins) { PluginMetadata plugin1; PluginMetadata plugin2; - PluginDirtyInfo info1(0x5, 1, 2, 3, "utility"); - PluginDirtyInfo info2(0xA, 1, 2, 3, "utility"); - PluginDirtyInfo info3(0x1, 1, 2, 3, "utility"); + PluginCleaningData info1(0x5, 1, 2, 3, "utility"); + PluginCleaningData info2(0xA, 1, 2, 3, "utility"); + PluginCleaningData info3(0x1, 1, 2, 3, "utility"); plugin1.DirtyInfo({info1, info2}); plugin2.DirtyInfo({info1, info3}); PluginMetadata newMetadata = plugin1.NewMetadata(plugin2); - EXPECT_EQ(std::set({info2}), newMetadata.DirtyInfo()); + EXPECT_EQ(std::set({info2}), newMetadata.DirtyInfo()); } TEST_P(PluginMetadataTest, newMetadataShouldOutputLocationsThatAreNotCommonToBothInputPlugins) { @@ -634,8 +634,8 @@ TEST_P(PluginMetadataTest, evalAllConditionsShouldEvaluateAllMetadataConditions) Tag tag2("Relev", true, "file(\"" + missingEsp + "\")"); plugin.Tags({tag1, tag2}); - PluginDirtyInfo info1(blankEsmCrc, 1, 2, 3, "utility"); - PluginDirtyInfo info2(0xDEADBEEF, 1, 2, 3, "utility"); + PluginCleaningData info1(blankEsmCrc, 1, 2, 3, "utility"); + PluginCleaningData info2(0xDEADBEEF, 1, 2, 3, "utility"); plugin.DirtyInfo({info1, info2}); EXPECT_NO_THROW(plugin.EvalAllConditions(game, Language::Code::english)); @@ -646,7 +646,7 @@ TEST_P(PluginMetadataTest, evalAllConditionsShouldEvaluateAllMetadataConditions) EXPECT_EQ(expectedFiles, plugin.Incs()); EXPECT_EQ(std::list({message1}), plugin.Messages()); EXPECT_EQ(std::set({tag1}), plugin.Tags()); - EXPECT_EQ(std::set({info1}), plugin.DirtyInfo()); + EXPECT_EQ(std::set({info1}), plugin.DirtyInfo()); } TEST_P(PluginMetadataTest, hasNameOnlyShouldBeTrueForADefaultConstructedPluginMetadataObject) { @@ -712,7 +712,7 @@ TEST_P(PluginMetadataTest, hasNameOnlyShouldBeFalseIfTagsExist) { TEST_P(PluginMetadataTest, hasNameOnlyShouldBeFalseIfDirtyInfoExists) { PluginMetadata plugin(blankEsp); - plugin.DirtyInfo({PluginDirtyInfo(5, 0, 1, 2, "utility")}); + plugin.DirtyInfo({PluginCleaningData(5, 0, 1, 2, "utility")}); EXPECT_FALSE(plugin.HasNameOnly()); } @@ -861,7 +861,7 @@ TEST_P(PluginMetadataTest, emittingAsYamlShouldOutputAPluginWithTagsCorrectly) { TEST_P(PluginMetadataTest, emittingAsYamlShouldOutputAPluginWithDirtyInfoCorrectly) { PluginMetadata plugin(blankEsp); - plugin.DirtyInfo({PluginDirtyInfo(5, 0, 1, 2, "utility")}); + plugin.DirtyInfo({PluginCleaningData(5, 0, 1, 2, "utility")}); YAML::Emitter emitter; emitter << plugin; @@ -968,11 +968,11 @@ TEST_P(PluginMetadataTest, encodingAsYamlShouldSetTagFieldIfTagsExist) { TEST_P(PluginMetadataTest, encodingAsYamlShouldSetDirtyFieldIfDirtyInfoExists) { PluginMetadata plugin(blankEsp); - plugin.DirtyInfo({PluginDirtyInfo(5, 0, 1, 2, "utility")}); + plugin.DirtyInfo({PluginCleaningData(5, 0, 1, 2, "utility")}); YAML::Node node; node = plugin; - EXPECT_EQ(plugin.DirtyInfo(), node["dirty"].as>()); + EXPECT_EQ(plugin.DirtyInfo(), node["dirty"].as>()); } TEST_P(PluginMetadataTest, encodingAsYamlShouldSetUrlFieldIfLocationsExist) { @@ -1038,8 +1038,8 @@ TEST_P(PluginMetadataTest, decodingFromYamlShouldStoreAllGivenData) { EXPECT_EQ(std::set({ Tag("Relev") }), plugin.Tags()); - EXPECT_EQ(std::set({ - PluginDirtyInfo(5, 0, 1, 2, "utility") + EXPECT_EQ(std::set({ + PluginCleaningData(5, 0, 1, 2, "utility") }), plugin.DirtyInfo()); EXPECT_EQ(std::set({ Location("http://www.example.com") diff --git a/src/tests/backend/plugin/plugin_test.h b/src/tests/backend/plugin/plugin_test.h index 940f7d28..cf841793 100644 --- a/src/tests/backend/plugin/plugin_test.h +++ b/src/tests/backend/plugin/plugin_test.h @@ -302,14 +302,14 @@ TEST_P(PluginTest, checkInstallValidityShouldCheckThatIncompatibilitiesAreAbsent TEST_P(PluginTest, checkInstallValidityShouldGenerateMessagesFromDirtyInfo) { Plugin plugin(game_, blankEsm, false); plugin.DirtyInfo({ - PluginDirtyInfo(blankEsmCrc, 0, 1, 2, "utility1"), - PluginDirtyInfo(0xDEADBEEF, 0, 5, 10, "utility2"), + PluginCleaningData(blankEsmCrc, 0, 1, 2, "utility1"), + PluginCleaningData(0xDEADBEEF, 0, 5, 10, "utility2"), }); EXPECT_TRUE(plugin.CheckInstallValidity(game_)); EXPECT_EQ(std::list({ - PluginDirtyInfo(blankEsmCrc, 0, 1, 2, "utility1").AsMessage(), - PluginDirtyInfo(0xDEADBEEF, 0, 5, 10, "utility2").AsMessage(), + PluginCleaningData(blankEsmCrc, 0, 1, 2, "utility1").AsMessage(), + PluginCleaningData(0xDEADBEEF, 0, 5, 10, "utility2").AsMessage(), }), plugin.Messages()); } diff --git a/src/tests/printers.h b/src/tests/printers.h index 4ccc8914..4e1b6b63 100644 --- a/src/tests/printers.h +++ b/src/tests/printers.h @@ -33,7 +33,7 @@ along with LOOT. If not, see #include "backend/metadata/location.h" #include "backend/metadata/message.h" #include "backend/metadata/message_content.h" -#include "backend/metadata/plugin_dirty_info.h" +#include "backend/metadata/plugin_cleaning_data.h" #include "backend/metadata/plugin_metadata.h" #include "backend/metadata/tag.h" #include "backend/plugin/plugin.h" @@ -74,8 +74,8 @@ void PrintTo(const MessageContent& value, ::std::ostream* os) { << ")"; } -void PrintTo(const PluginDirtyInfo& value, ::std::ostream* os) { - *os << "PluginDirtyInfo(0x" +void PrintTo(const PluginCleaningData& value, ::std::ostream* os) { + *os << "PluginCleaningData(0x" << std::hex << std::uppercase << value.CRC() << std::nouppercase << std::dec << ", "