mirror of
https://github.com/znc/znc.git
synced 2026-03-28 17:42:41 +01:00
Add specialized types and hooks for the most common msgs
PRIVMSG, NOTICE, JOIN, PART, QUIT, NICK, KICK, TOPIC
This commit is contained in:
@@ -55,6 +55,149 @@ TEST(MessageTest, FormatFlags) {
|
||||
EXPECT_EQ("COMMAND param", msg.ToString(CMessage::ExcludePrefix|CMessage::ExcludeTags));
|
||||
}
|
||||
|
||||
TEST(MessageTest, ChanAction) {
|
||||
CMessage msg(":sender PRIVMSG #chan :\001ACTION text\001");
|
||||
CChanAction& chan = static_cast<CChanAction&>(msg);
|
||||
EXPECT_EQ("sender", chan.GetNick().GetNick());
|
||||
EXPECT_EQ("PRIVMSG", chan.GetCommand());
|
||||
EXPECT_EQ("text", chan.GetText());
|
||||
|
||||
chan.SetText("foo bar");
|
||||
EXPECT_EQ("foo bar", chan.GetText());
|
||||
EXPECT_EQ(":sender PRIVMSG #chan :\001ACTION foo bar\001", chan.ToString());
|
||||
}
|
||||
|
||||
TEST(MessageTest, ChanCTCP) {
|
||||
CMessage msg(":sender PRIVMSG #chan :\001text\001");
|
||||
CChanCTCP& chan = static_cast<CChanCTCP&>(msg);
|
||||
EXPECT_EQ("sender", chan.GetNick().GetNick());
|
||||
EXPECT_EQ("PRIVMSG", chan.GetCommand());
|
||||
EXPECT_EQ("text", chan.GetText());
|
||||
|
||||
chan.SetText("foo bar");
|
||||
EXPECT_EQ("foo bar", chan.GetText());
|
||||
EXPECT_EQ(":sender PRIVMSG #chan :\001foo bar\001", chan.ToString());
|
||||
}
|
||||
|
||||
TEST(MessageTest, ChanMsg) {
|
||||
CMessage msg(":sender PRIVMSG #chan :text");
|
||||
CChanMessage& priv = static_cast<CChanMessage&>(msg);
|
||||
EXPECT_EQ("sender", priv.GetNick().GetNick());
|
||||
EXPECT_EQ("PRIVMSG", priv.GetCommand());
|
||||
EXPECT_EQ("text", priv.GetText());
|
||||
|
||||
priv.SetText("foo bar");
|
||||
EXPECT_EQ("foo bar", priv.GetText());
|
||||
EXPECT_EQ(":sender PRIVMSG #chan :foo bar", priv.ToString());
|
||||
}
|
||||
|
||||
TEST(MessageTest, Kick) {
|
||||
CMessage msg(":nick KICK #chan person :reason");
|
||||
CKickMessage& kick = static_cast<CKickMessage&>(msg);
|
||||
EXPECT_EQ("nick", kick.GetNick().GetNick());
|
||||
EXPECT_EQ("KICK", kick.GetCommand());
|
||||
EXPECT_EQ("person", kick.GetKickedNick());
|
||||
EXPECT_EQ("reason", kick.GetReason());
|
||||
|
||||
kick.SetKickedNick("noone");
|
||||
EXPECT_EQ("noone", kick.GetKickedNick());
|
||||
kick.SetReason("test");
|
||||
EXPECT_EQ("test", kick.GetReason());
|
||||
EXPECT_EQ(":nick KICK #chan noone test", kick.ToString());
|
||||
}
|
||||
|
||||
TEST(MessageTest, Join) {
|
||||
CMessage msg(":nick JOIN #chan");
|
||||
EXPECT_EQ("nick", msg.GetNick().GetNick());
|
||||
EXPECT_EQ("JOIN", msg.GetCommand());
|
||||
EXPECT_EQ("#chan", msg.GetParam(0));
|
||||
}
|
||||
|
||||
TEST(MessageTest, Nick) {
|
||||
CMessage msg(":nick NICK person");
|
||||
CNickMessage& nick = static_cast<CNickMessage&>(msg);
|
||||
EXPECT_EQ("nick", nick.GetNick().GetNick());
|
||||
EXPECT_EQ("NICK", nick.GetCommand());
|
||||
EXPECT_EQ("nick", nick.GetOldNick());
|
||||
EXPECT_EQ("person", nick.GetNewNick());
|
||||
|
||||
nick.SetNewNick("test");
|
||||
EXPECT_EQ("test", nick.GetNewNick());
|
||||
EXPECT_EQ(":nick NICK test", nick.ToString());
|
||||
}
|
||||
|
||||
TEST(MessageTest, Part) {
|
||||
CMessage msg(":nick PART #chan :reason");
|
||||
CPartMessage& part = static_cast<CPartMessage&>(msg);
|
||||
EXPECT_EQ("nick", part.GetNick().GetNick());
|
||||
EXPECT_EQ("PART", part.GetCommand());
|
||||
EXPECT_EQ("reason", part.GetReason());
|
||||
|
||||
part.SetReason("test");
|
||||
EXPECT_EQ("test", part.GetReason());
|
||||
EXPECT_EQ(":nick PART #chan test", part.ToString());
|
||||
}
|
||||
|
||||
TEST(MessageTest, PrivAction) {
|
||||
CMessage msg(":sender PRIVMSG receiver :\001ACTION text\001");
|
||||
CPrivAction& priv = static_cast<CPrivAction&>(msg);
|
||||
EXPECT_EQ("sender", priv.GetNick().GetNick());
|
||||
EXPECT_EQ("PRIVMSG", priv.GetCommand());
|
||||
EXPECT_EQ("text", priv.GetText());
|
||||
|
||||
priv.SetText("foo bar");
|
||||
EXPECT_EQ("foo bar", priv.GetText());
|
||||
EXPECT_EQ(":sender PRIVMSG receiver :\001ACTION foo bar\001", priv.ToString());
|
||||
}
|
||||
|
||||
TEST(MessageTest, PrivCTCP) {
|
||||
CMessage msg(":sender PRIVMSG receiver :\001text\001");
|
||||
CPrivCTCP& priv = static_cast<CPrivCTCP&>(msg);
|
||||
EXPECT_EQ("sender", priv.GetNick().GetNick());
|
||||
EXPECT_EQ("PRIVMSG", priv.GetCommand());
|
||||
EXPECT_EQ("text", priv.GetText());
|
||||
|
||||
priv.SetText("foo bar");
|
||||
EXPECT_EQ("foo bar", priv.GetText());
|
||||
EXPECT_EQ(":sender PRIVMSG receiver :\001foo bar\001", priv.ToString());
|
||||
}
|
||||
|
||||
TEST(MessageTest, PrivMsg) {
|
||||
CMessage msg(":sender PRIVMSG receiver :text");
|
||||
CPrivMessage& priv = static_cast<CPrivMessage&>(msg);
|
||||
EXPECT_EQ("sender", priv.GetNick().GetNick());
|
||||
EXPECT_EQ("PRIVMSG", priv.GetCommand());
|
||||
EXPECT_EQ("text", priv.GetText());
|
||||
|
||||
priv.SetText("foo bar");
|
||||
EXPECT_EQ("foo bar", priv.GetText());
|
||||
EXPECT_EQ(":sender PRIVMSG receiver :foo bar", priv.ToString());
|
||||
}
|
||||
|
||||
TEST(MessageTest, Quit) {
|
||||
CMessage msg(":nick QUIT :reason");
|
||||
CQuitMessage& quit = static_cast<CQuitMessage&>(msg);
|
||||
EXPECT_EQ("nick", quit.GetNick().GetNick());
|
||||
EXPECT_EQ("QUIT", quit.GetCommand());
|
||||
EXPECT_EQ("reason", quit.GetReason());
|
||||
|
||||
quit.SetReason("test");
|
||||
EXPECT_EQ("test", quit.GetReason());
|
||||
EXPECT_EQ(":nick QUIT test", quit.ToString());
|
||||
}
|
||||
|
||||
TEST(MessageTest, Topic) {
|
||||
CMessage msg(":nick TOPIC #chan :topic");
|
||||
CTopicMessage& topic = static_cast<CTopicMessage&>(msg);
|
||||
EXPECT_EQ("nick", topic.GetNick().GetNick());
|
||||
EXPECT_EQ("TOPIC", topic.GetCommand());
|
||||
EXPECT_EQ("topic", topic.GetTopic());
|
||||
|
||||
topic.SetTopic("test");
|
||||
EXPECT_EQ("test", topic.GetTopic());
|
||||
EXPECT_EQ(":nick TOPIC #chan test", topic.ToString());
|
||||
}
|
||||
|
||||
// The test data for MessageTest.Parse originates from https://github.com/SaberUK/ircparser
|
||||
//
|
||||
// IRCParser - Internet Relay Chat Message Parser
|
||||
|
||||
Reference in New Issue
Block a user