From 5d69f01bf7d28430ad5fea21b4410e9d4fcb1966 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Sun, 29 Oct 2017 14:39:45 +0000 Subject: [PATCH] Add condition field to SimpleMessage The LOOT application uses a SimpleMessage with a condition just as often as without it, so this simplifies that usage. --- include/loot/struct/simple_message.h | 3 +++ src/api/metadata/message.cpp | 1 + src/tests/api/internals/metadata/message_test.h | 3 ++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/loot/struct/simple_message.h b/include/loot/struct/simple_message.h index b78d1e19..48346131 100644 --- a/include/loot/struct/simple_message.h +++ b/include/loot/struct/simple_message.h @@ -40,6 +40,9 @@ struct SimpleMessage { * [GitHub Flavored Markdown](https://help.github.com/articles/github-flavored-markdown). */ std::string text; + + /** @brief The message's condition string. */ + std::string condition; }; } diff --git a/src/api/metadata/message.cpp b/src/api/metadata/message.cpp index 6a1bbbd3..762e47dc 100644 --- a/src/api/metadata/message.cpp +++ b/src/api/metadata/message.cpp @@ -80,6 +80,7 @@ SimpleMessage Message::ToSimpleMessage(const std::string& language) const { simpleMessage.type = GetType(); simpleMessage.language = content.GetLanguage(); simpleMessage.text = content.GetText(); + simpleMessage.condition = GetCondition(); return simpleMessage; } diff --git a/src/tests/api/internals/metadata/message_test.h b/src/tests/api/internals/metadata/message_test.h index ebaab716..fdb203da 100644 --- a/src/tests/api/internals/metadata/message_test.h +++ b/src/tests/api/internals/metadata/message_test.h @@ -143,13 +143,14 @@ TEST_P(MessageTest, toSimpleMessageShouldSelectTextAndLanguageUsingGetContent) { MessageContent("content1", german), MessageContent("content2"), MessageContent("content3", french), - })); + }), "condition1"); SimpleMessage simpleMessage = message.ToSimpleMessage(french); EXPECT_EQ(MessageType::warn, simpleMessage.type); EXPECT_EQ("content3", simpleMessage.text); EXPECT_EQ(french, simpleMessage.language); + EXPECT_EQ("condition1", simpleMessage.condition); } TEST_P(MessageTest, emittingAsYamlShouldOutputNoteMessageTypeCorrectly) {