From 37cd61a66746c2d1743381e58c2a65a95f16f6d1 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Thu, 27 Aug 2015 12:33:47 +0200 Subject: [PATCH] Fix CMessage to prefix also empty last params with a colon --- src/Message.cpp | 2 +- test/MessageTest.cpp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Message.cpp b/src/Message.cpp index 7d9d243f..fee78e39 100644 --- a/src/Message.cpp +++ b/src/Message.cpp @@ -100,7 +100,7 @@ CString CMessage::ToString(unsigned int uFlags) const for (unsigned int uIdx = 0; uIdx < uParams; ++uIdx) { const CString& sParam = m_vsParams[uIdx]; sMessage += " "; - if (uIdx == uParams - 1 && (sParam.StartsWith(":") || sParam.Contains(" "))) { + if (uIdx == uParams - 1 && (sParam.empty() || sParam.StartsWith(":") || sParam.Contains(" "))) { sMessage += ":"; } sMessage += sParam; diff --git a/test/MessageTest.cpp b/test/MessageTest.cpp index 2d088c9e..7e1c93ed 100644 --- a/test/MessageTest.cpp +++ b/test/MessageTest.cpp @@ -43,6 +43,7 @@ TEST(MessageTest, ToString) { EXPECT_EQ(":irc.znc.in CMD p1", CMessage(":irc.znc.in CMD p1").ToString()); EXPECT_EQ(":irc.znc.in CMD p1 p2", CMessage(":irc.znc.in CMD p1 p2").ToString()); EXPECT_EQ(":irc.znc.in CMD :p p p", CMessage(":irc.znc.in CMD :p p p").ToString()); + EXPECT_EQ(":irc.znc.in CMD :", CMessage(":irc.znc.in CMD :").ToString()); EXPECT_EQ("CMD", CMessage(CNick(), "CMD", {}).ToString()); EXPECT_EQ("CMD p1", CMessage(CNick(), "CMD", {"p1"}).ToString()); @@ -53,6 +54,7 @@ TEST(MessageTest, ToString) { EXPECT_EQ(":irc.znc.in CMD p1", CMessage(CNick(":irc.znc.in"), "CMD", {"p1"}).ToString()); EXPECT_EQ(":irc.znc.in CMD p1 p2", CMessage(CNick(":irc.znc.in"), "CMD", {"p1", "p2"}).ToString()); EXPECT_EQ(":irc.znc.in CMD :p p p", CMessage(CNick(":irc.znc.in"), "CMD", {"p p p"}).ToString()); + EXPECT_EQ(":irc.znc.in CMD :", CMessage(CNick(":irc.znc.in"), "CMD", {""}).ToString()); } TEST(MessageTest, FormatFlags) {