summaryrefslogtreecommitdiffstats
path: root/tests/CompositeChat/CompositeChatTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/CompositeChat/CompositeChatTest.cpp')
-rw-r--r--tests/CompositeChat/CompositeChatTest.cpp82
1 files changed, 48 insertions, 34 deletions
diff --git a/tests/CompositeChat/CompositeChatTest.cpp b/tests/CompositeChat/CompositeChatTest.cpp
index 08733d661..636a5c95a 100644
--- a/tests/CompositeChat/CompositeChatTest.cpp
+++ b/tests/CompositeChat/CompositeChatTest.cpp
@@ -15,16 +15,20 @@ static void TestParser1(void)
{
cCompositeChat Msg;
Msg.ParseText("Testing @2color codes and http://links parser");
- const cCompositeChat::cParts & Parts = Msg.GetParts();
+ const auto & Parts = Msg.GetParts();
TEST_EQUAL(Parts.size(), 4);
- TEST_EQUAL(Parts[0]->m_PartType, cCompositeChat::ptText);
- TEST_EQUAL(Parts[1]->m_PartType, cCompositeChat::ptText);
- TEST_EQUAL(Parts[2]->m_PartType, cCompositeChat::ptUrl);
- TEST_EQUAL(Parts[3]->m_PartType, cCompositeChat::ptText);
- TEST_EQUAL(Parts[0]->m_Style, "");
- TEST_EQUAL(Parts[1]->m_Style, "@2");
- TEST_EQUAL(Parts[2]->m_Style, "@2");
- TEST_EQUAL(Parts[3]->m_Style, "@2");
+
+ TEST_TRUE(std::holds_alternative<cCompositeChat::TextPart>(Parts[0]));
+ TEST_EQUAL(std::get<cCompositeChat::TextPart>(Parts[0]).Style, "");
+
+ TEST_TRUE(std::holds_alternative<cCompositeChat::TextPart>(Parts[1]));
+ TEST_EQUAL(std::get<cCompositeChat::TextPart>(Parts[1]).Style, "@2");
+
+ TEST_TRUE(std::holds_alternative<cCompositeChat::UrlPart>(Parts[2]));
+ TEST_EQUAL(std::get<cCompositeChat::UrlPart>(Parts[2]).Style, "@2");
+
+ TEST_TRUE(std::holds_alternative<cCompositeChat::TextPart>(Parts[3]));
+ TEST_EQUAL(std::get<cCompositeChat::TextPart>(Parts[3]).Style, "@2");
}
@@ -35,16 +39,20 @@ static void TestParser2(void)
{
cCompositeChat Msg;
Msg.ParseText("@3Advanced stuff: @5overriding color codes and http://links.with/@4color-in-them handling");
- const cCompositeChat::cParts & Parts = Msg.GetParts();
+ const auto & Parts = Msg.GetParts();
TEST_EQUAL(Parts.size(), 4);
- TEST_EQUAL(Parts[0]->m_PartType, cCompositeChat::ptText);
- TEST_EQUAL(Parts[1]->m_PartType, cCompositeChat::ptText);
- TEST_EQUAL(Parts[2]->m_PartType, cCompositeChat::ptUrl);
- TEST_EQUAL(Parts[3]->m_PartType, cCompositeChat::ptText);
- TEST_EQUAL(Parts[0]->m_Style, "@3");
- TEST_EQUAL(Parts[1]->m_Style, "@5");
- TEST_EQUAL(Parts[2]->m_Style, "@5");
- TEST_EQUAL(Parts[3]->m_Style, "@5");
+
+ TEST_TRUE(std::holds_alternative<cCompositeChat::TextPart>(Parts[0]));
+ TEST_EQUAL(std::get<cCompositeChat::TextPart>(Parts[0]).Style, "@3");
+
+ TEST_TRUE(std::holds_alternative<cCompositeChat::TextPart>(Parts[1]));
+ TEST_EQUAL(std::get<cCompositeChat::TextPart>(Parts[1]).Style, "@5");
+
+ TEST_TRUE(std::holds_alternative<cCompositeChat::UrlPart>(Parts[2]));
+ TEST_EQUAL(std::get<cCompositeChat::UrlPart>(Parts[2]).Style, "@5");
+
+ TEST_TRUE(std::holds_alternative<cCompositeChat::TextPart>(Parts[3]));
+ TEST_EQUAL(std::get<cCompositeChat::TextPart>(Parts[3]).Style, "@5");
}
@@ -55,12 +63,14 @@ static void TestParser3(void)
{
cCompositeChat Msg;
Msg.ParseText("http://links.starting the text");
- const cCompositeChat::cParts & Parts = Msg.GetParts();
+ const auto & Parts = Msg.GetParts();
TEST_EQUAL(Parts.size(), 2);
- TEST_EQUAL(Parts[0]->m_PartType, cCompositeChat::ptUrl);
- TEST_EQUAL(Parts[1]->m_PartType, cCompositeChat::ptText);
- TEST_EQUAL(Parts[0]->m_Style, "");
- TEST_EQUAL(Parts[1]->m_Style, "");
+
+ TEST_TRUE(std::holds_alternative<cCompositeChat::UrlPart>(Parts[0]));
+ TEST_EQUAL(std::get<cCompositeChat::UrlPart>(Parts[0]).Style, "");
+
+ TEST_TRUE(std::holds_alternative<cCompositeChat::TextPart>(Parts[1]));
+ TEST_EQUAL(std::get<cCompositeChat::TextPart>(Parts[1]).Style, "");
}
@@ -71,12 +81,14 @@ static void TestParser4(void)
{
cCompositeChat Msg;
Msg.ParseText("links finishing the text: http://some.server");
- const cCompositeChat::cParts & Parts = Msg.GetParts();
+ const auto & Parts = Msg.GetParts();
TEST_EQUAL(Parts.size(), 2);
- TEST_EQUAL(Parts[0]->m_PartType, cCompositeChat::ptText);
- TEST_EQUAL(Parts[1]->m_PartType, cCompositeChat::ptUrl);
- TEST_EQUAL(Parts[0]->m_Style, "");
- TEST_EQUAL(Parts[1]->m_Style, "");
+
+ TEST_TRUE(std::holds_alternative<cCompositeChat::TextPart>(Parts[0]));
+ TEST_EQUAL(std::get<cCompositeChat::TextPart>(Parts[0]).Style, "");
+
+ TEST_TRUE(std::holds_alternative<cCompositeChat::UrlPart>(Parts[1]));
+ TEST_EQUAL(std::get<cCompositeChat::UrlPart>(Parts[1]).Style, "");
}
@@ -87,10 +99,11 @@ static void TestParser5(void)
{
cCompositeChat Msg;
Msg.ParseText("http://only.links");
- const cCompositeChat::cParts & Parts = Msg.GetParts();
+ const auto & Parts = Msg.GetParts();
TEST_EQUAL(Parts.size(), 1);
- TEST_EQUAL(Parts[0]->m_PartType, cCompositeChat::ptUrl);
- TEST_EQUAL(Parts[0]->m_Style, "");
+
+ TEST_TRUE(std::holds_alternative<cCompositeChat::UrlPart>(Parts[0]));
+ TEST_EQUAL(std::get<cCompositeChat::UrlPart>(Parts[0]).Style, "");
}
@@ -100,10 +113,11 @@ static void TestParser6(void)
{
cCompositeChat Msg;
Msg.ParseText("Hello World");
- const cCompositeChat::cParts & Parts = Msg.GetParts();
+ const auto & Parts = Msg.GetParts();
TEST_EQUAL(Parts.size(), 1);
- TEST_EQUAL(Parts[0]->m_PartType, cCompositeChat::ptText);
- TEST_EQUAL(Parts[0]->m_Style, "");
+
+ TEST_TRUE(std::holds_alternative<cCompositeChat::TextPart>(Parts[0]));
+ TEST_EQUAL(std::get<cCompositeChat::TextPart>(Parts[0]).Style, "");
}