Add CMessage::Equals()

Compares sender, command, and parameters. Not timestamp nor tags.
This commit is contained in:
J-P Nurmi
2015-09-17 22:02:46 +02:00
parent c223d3a500
commit cbd860c2a9
3 changed files with 29 additions and 0 deletions

View File

@@ -106,6 +106,27 @@ TEST(MessageTest, FormatFlags) {
EXPECT_EQ("COMMAND param", msg.ToString(CMessage::ExcludePrefix|CMessage::ExcludeTags));
}
TEST(MessageTest, Equals) {
EXPECT_TRUE(CMessage("JOIN #chan").Equals(CMessage("JOIN #chan")));
EXPECT_FALSE(CMessage("JOIN #chan").Equals(CMessage("JOIN #znc")));
EXPECT_TRUE(CMessage(":nick JOIN #chan").Equals(CMessage(":nick JOIN #chan")));
EXPECT_FALSE(CMessage(":nick JOIN #chan").Equals(CMessage(":nick JOIN #znc")));
EXPECT_FALSE(CMessage(":nick JOIN #chan").Equals(CMessage(":someone JOIN #chan")));
EXPECT_TRUE(CMessage("PRIVMSG nick :hi").Equals(CMessage("PRIVMSG nick :hi")));
EXPECT_TRUE(CMessage("PRIVMSG nick hi").Equals(CMessage("PRIVMSG nick :hi")));
EXPECT_TRUE(CMessage("PRIVMSG nick :hi").Equals(CMessage("PRIVMSG nick hi")));
EXPECT_TRUE(CMessage("PRIVMSG nick hi").Equals(CMessage("PRIVMSG nick hi")));
EXPECT_TRUE(CMessage("CMD nick p1 p2").Equals(CMessage("CMD nick p1 p2")));
EXPECT_TRUE(CMessage("CMD nick :p1 p2").Equals(CMessage("CMD nick :p1 p2")));
EXPECT_TRUE(CMessage("CMD nick p1 :p2").Equals(CMessage("CMD nick p1 p2")));
EXPECT_FALSE(CMessage("CMD nick :p1 p2").Equals(CMessage("CMD nick p1 p2")));
EXPECT_TRUE(CMessage("@t=now :sender CMD p").Equals(CMessage("@t=then :sender CMD p")));
}
TEST(MessageTest, Type) {
EXPECT_EQ(CMessage::Type::Unknown, CMessage("FOO").GetType());
EXPECT_EQ(CMessage::Type::Account, CMessage("ACCOUNT").GetType());