Make order of EXPECT_EQ more natural, after upgrade to new GTest.

This commit is contained in:
Alexey Sokolov
2018-02-13 08:11:00 +00:00
parent c30e5ef9fd
commit e3a1308a04
13 changed files with 456 additions and 456 deletions

View File

@@ -37,68 +37,68 @@ TEST(MessageTest, SetParam) {
}
TEST(MessageTest, GetParams) {
EXPECT_EQ("", CMessage("CMD").GetParams(0));
EXPECT_EQ("", CMessage("CMD").GetParams(1));
EXPECT_EQ("", CMessage("CMD").GetParams(-1));
EXPECT_EQ(CMessage("CMD").GetParams(0), "");
EXPECT_EQ(CMessage("CMD").GetParams(1), "");
EXPECT_EQ(CMessage("CMD").GetParams(-1), "");
EXPECT_EQ("", CMessage("CMD").GetParams(0, 0));
EXPECT_EQ("", CMessage("CMD").GetParams(1, 0));
EXPECT_EQ("", CMessage("CMD").GetParams(-1, 0));
EXPECT_EQ(CMessage("CMD").GetParams(0, 0), "");
EXPECT_EQ(CMessage("CMD").GetParams(1, 0), "");
EXPECT_EQ(CMessage("CMD").GetParams(-1, 0), "");
EXPECT_EQ("", CMessage("CMD").GetParams(0, 1));
EXPECT_EQ("", CMessage("CMD").GetParams(1, 1));
EXPECT_EQ("", CMessage("CMD").GetParams(-1, 1));
EXPECT_EQ(CMessage("CMD").GetParams(0, 1), "");
EXPECT_EQ(CMessage("CMD").GetParams(1, 1), "");
EXPECT_EQ(CMessage("CMD").GetParams(-1, 1), "");
EXPECT_EQ("", CMessage("CMD").GetParams(0, 10));
EXPECT_EQ("", CMessage("CMD").GetParams(1, 10));
EXPECT_EQ("", CMessage("CMD").GetParams(-1, 10));
EXPECT_EQ(CMessage("CMD").GetParams(0, 10), "");
EXPECT_EQ(CMessage("CMD").GetParams(1, 10), "");
EXPECT_EQ(CMessage("CMD").GetParams(-1, 10), "");
EXPECT_EQ("p1 :p2 p3", CMessage("CMD p1 :p2 p3").GetParams(0));
EXPECT_EQ(":p2 p3", CMessage("CMD p1 :p2 p3").GetParams(1));
EXPECT_EQ("", CMessage("CMD p1 :p2 p3").GetParams(-1));
EXPECT_EQ(CMessage("CMD p1 :p2 p3").GetParams(0), "p1 :p2 p3");
EXPECT_EQ(CMessage("CMD p1 :p2 p3").GetParams(1), ":p2 p3");
EXPECT_EQ(CMessage("CMD p1 :p2 p3").GetParams(-1), "");
EXPECT_EQ("", CMessage("CMD p1 :p2 p3").GetParams(0, 0));
EXPECT_EQ("", CMessage("CMD p1 :p2 p3").GetParams(1, 0));
EXPECT_EQ("", CMessage("CMD p1 :p2 p3").GetParams(-1, 0));
EXPECT_EQ(CMessage("CMD p1 :p2 p3").GetParams(0, 0), "");
EXPECT_EQ(CMessage("CMD p1 :p2 p3").GetParams(1, 0), "");
EXPECT_EQ(CMessage("CMD p1 :p2 p3").GetParams(-1, 0), "");
EXPECT_EQ("p1", CMessage("CMD p1 :p2 p3").GetParams(0, 1));
EXPECT_EQ(":p2 p3", CMessage("CMD p1 :p2 p3").GetParams(1, 1));
EXPECT_EQ("", CMessage("CMD p1 :p2 p3").GetParams(-1, 1));
EXPECT_EQ(CMessage("CMD p1 :p2 p3").GetParams(0, 1), "p1");
EXPECT_EQ(CMessage("CMD p1 :p2 p3").GetParams(1, 1), ":p2 p3");
EXPECT_EQ(CMessage("CMD p1 :p2 p3").GetParams(-1, 1), "");
EXPECT_EQ("p1 :p2 p3", CMessage("CMD p1 :p2 p3").GetParams(0, 10));
EXPECT_EQ(":p2 p3", CMessage("CMD p1 :p2 p3").GetParams(1, 10));
EXPECT_EQ("", CMessage("CMD p1 :p2 p3").GetParams(-1, 10));
EXPECT_EQ(CMessage("CMD p1 :p2 p3").GetParams(0, 10), "p1 :p2 p3");
EXPECT_EQ(CMessage("CMD p1 :p2 p3").GetParams(1, 10), ":p2 p3");
EXPECT_EQ(CMessage("CMD p1 :p2 p3").GetParams(-1, 10), "");
}
TEST(MessageTest, ToString) {
EXPECT_EQ("CMD", CMessage("CMD").ToString());
EXPECT_EQ("CMD p1", CMessage("CMD p1").ToString());
EXPECT_EQ("CMD p1 p2", CMessage("CMD p1 p2").ToString());
EXPECT_EQ("CMD :p p p", CMessage("CMD :p p p").ToString());
EXPECT_EQ(":irc.znc.in", CMessage(":irc.znc.in").ToString());
EXPECT_EQ(":irc.znc.in CMD", CMessage(":irc.znc.in CMD").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(CMessage("CMD").ToString(), "CMD");
EXPECT_EQ(CMessage("CMD p1").ToString(), "CMD p1");
EXPECT_EQ(CMessage("CMD p1 p2").ToString(), "CMD p1 p2");
EXPECT_EQ(CMessage("CMD :p p p").ToString(), "CMD :p p p");
EXPECT_EQ(CMessage(":irc.znc.in").ToString(), ":irc.znc.in");
EXPECT_EQ(CMessage(":irc.znc.in CMD").ToString(), ":irc.znc.in CMD");
EXPECT_EQ(CMessage(":irc.znc.in CMD p1").ToString(), ":irc.znc.in CMD p1");
EXPECT_EQ(CMessage(":irc.znc.in CMD p1 p2").ToString(),
":irc.znc.in CMD p1 p2");
EXPECT_EQ(CMessage(":irc.znc.in CMD :p p p").ToString(),
":irc.znc.in CMD :p p p");
EXPECT_EQ(CMessage(":irc.znc.in CMD :").ToString(), ":irc.znc.in CMD :");
EXPECT_EQ("CMD", CMessage(CNick(), "CMD").ToString());
EXPECT_EQ("CMD p1", CMessage(CNick(), "CMD", {"p1"}).ToString());
EXPECT_EQ("CMD p1 p2", CMessage(CNick(), "CMD", {"p1", "p2"}).ToString());
EXPECT_EQ("CMD :p p p", CMessage(CNick(), "CMD", {"p p p"}).ToString());
EXPECT_EQ(":irc.znc.in", CMessage(CNick(":irc.znc.in"), "").ToString());
EXPECT_EQ(":irc.znc.in CMD",
CMessage(CNick(":irc.znc.in"), "CMD").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());
EXPECT_EQ(CMessage(CNick(), "CMD").ToString(), "CMD");
EXPECT_EQ(CMessage(CNick(), "CMD", {"p1"}).ToString(), "CMD p1");
EXPECT_EQ(CMessage(CNick(), "CMD", {"p1", "p2"}).ToString(), "CMD p1 p2");
EXPECT_EQ(CMessage(CNick(), "CMD", {"p p p"}).ToString(), "CMD :p p p");
EXPECT_EQ(CMessage(CNick(":irc.znc.in"), "").ToString(), ":irc.znc.in");
EXPECT_EQ(CMessage(CNick(":irc.znc.in"), "CMD").ToString(),
":irc.znc.in CMD");
EXPECT_EQ(CMessage(CNick(":irc.znc.in"), "CMD", {"p1"}).ToString(),
":irc.znc.in CMD p1");
EXPECT_EQ(CMessage(CNick(":irc.znc.in"), "CMD", {"p1", "p2"}).ToString(),
":irc.znc.in CMD p1 p2");
EXPECT_EQ(CMessage(CNick(":irc.znc.in"), "CMD", {"p p p"}).ToString(),
":irc.znc.in CMD :p p p");
EXPECT_EQ(CMessage(CNick(":irc.znc.in"), "CMD", {""}).ToString(),
":irc.znc.in CMD :");
// #1045 - retain the colon if it was there
EXPECT_EQ(":services. 328 user #chan http://znc.in",
@@ -145,13 +145,13 @@ TEST(MessageTest, Tags) {
CMessage msg(":rest");
msg.SetTags({{"a", "b"}});
EXPECT_EQ("@a=b :rest", msg.ToString());
EXPECT_EQ(msg.ToString(), "@a=b :rest");
msg.SetTags({{"a", "b"}, {"c", "d"}});
EXPECT_EQ("@a=b;c=d :rest", msg.ToString());
EXPECT_EQ(msg.ToString(), "@a=b;c=d :rest");
msg.SetTags({{"a", "b"}, {"c", "d"}, {"e", ""}});
EXPECT_EQ("@a=b;c=d;e :rest", msg.ToString());
EXPECT_EQ(msg.ToString(), "@a=b;c=d;e :rest");
msg.SetTags({{"semi-colon", ";"},
{"space", " "},
@@ -160,23 +160,23 @@ TEST(MessageTest, Tags) {
{"CR", {'\r'}},
{"LF", {'\n'}}});
EXPECT_EQ(
R"(@CR=\r;LF=\n;NUL=\0;backslash=\\;semi-colon=\:;space=\s :rest)",
msg.ToString());
msg.ToString(),
R"(@CR=\r;LF=\n;NUL=\0;backslash=\\;semi-colon=\:;space=\s :rest)");
msg.SetTags({{"a", "; \\\r\n"}});
EXPECT_EQ(R"(@a=\:\s\\\r\n :rest)", msg.ToString());
EXPECT_EQ(msg.ToString(), R"(@a=\:\s\\\r\n :rest)");
}
TEST(MessageTest, FormatFlags) {
const CString line = "@foo=bar :irc.example.com COMMAND param";
CMessage msg(line);
EXPECT_EQ(line, msg.ToString());
EXPECT_EQ(":irc.example.com COMMAND param",
msg.ToString(CMessage::ExcludeTags));
EXPECT_EQ("@foo=bar COMMAND param", msg.ToString(CMessage::ExcludePrefix));
EXPECT_EQ("COMMAND param",
msg.ToString(CMessage::ExcludePrefix | CMessage::ExcludeTags));
EXPECT_EQ(msg.ToString(), line);
EXPECT_EQ(msg.ToString(CMessage::ExcludeTags),
":irc.example.com COMMAND param");
EXPECT_EQ(msg.ToString(CMessage::ExcludePrefix), "@foo=bar COMMAND param");
EXPECT_EQ(msg.ToString(CMessage::ExcludePrefix | CMessage::ExcludeTags),
"COMMAND param");
}
TEST(MessageTest, Equals) {
@@ -211,264 +211,264 @@ TEST(MessageTest, Equals) {
}
TEST(MessageTest, Type) {
EXPECT_EQ(CMessage::Type::Unknown, CMessage("FOO").GetType());
EXPECT_EQ(CMessage::Type::Account, CMessage("ACCOUNT").GetType());
EXPECT_EQ(CMessage::Type::Away, CMessage("AWAY").GetType());
EXPECT_EQ(CMessage::Type::Capability, CMessage("CAP").GetType());
EXPECT_EQ(CMessage::Type::Error, CMessage("ERROR").GetType());
EXPECT_EQ(CMessage::Type::Invite, CMessage("INVITE").GetType());
EXPECT_EQ(CMessage::Type::Join, CMessage("JOIN").GetType());
EXPECT_EQ(CMessage::Type::Kick, CMessage("KICK").GetType());
EXPECT_EQ(CMessage::Type::Mode, CMessage("MODE").GetType());
EXPECT_EQ(CMessage::Type::Nick, CMessage("NICK").GetType());
EXPECT_EQ(CMessage::Type::Notice, CMessage("NOTICE").GetType());
EXPECT_EQ(CMessage::Type::Numeric, CMessage("123").GetType());
EXPECT_EQ(CMessage::Type::Part, CMessage("PART").GetType());
EXPECT_EQ(CMessage::Type::Ping, CMessage("PING").GetType());
EXPECT_EQ(CMessage::Type::Pong, CMessage("PONG").GetType());
EXPECT_EQ(CMessage::Type::Quit, CMessage("QUIT").GetType());
EXPECT_EQ(CMessage::Type::Text, CMessage("PRIVMSG").GetType());
EXPECT_EQ(CMessage::Type::Topic, CMessage("TOPIC").GetType());
EXPECT_EQ(CMessage::Type::Wallops, CMessage("WALLOPS").GetType());
EXPECT_EQ(CMessage("FOO").GetType(), CMessage::Type::Unknown);
EXPECT_EQ(CMessage("ACCOUNT").GetType(), CMessage::Type::Account);
EXPECT_EQ(CMessage("AWAY").GetType(), CMessage::Type::Away);
EXPECT_EQ(CMessage("CAP").GetType(), CMessage::Type::Capability);
EXPECT_EQ(CMessage("ERROR").GetType(), CMessage::Type::Error);
EXPECT_EQ(CMessage("INVITE").GetType(), CMessage::Type::Invite);
EXPECT_EQ(CMessage("JOIN").GetType(), CMessage::Type::Join);
EXPECT_EQ(CMessage("KICK").GetType(), CMessage::Type::Kick);
EXPECT_EQ(CMessage("MODE").GetType(), CMessage::Type::Mode);
EXPECT_EQ(CMessage("NICK").GetType(), CMessage::Type::Nick);
EXPECT_EQ(CMessage("NOTICE").GetType(), CMessage::Type::Notice);
EXPECT_EQ(CMessage("123").GetType(), CMessage::Type::Numeric);
EXPECT_EQ(CMessage("PART").GetType(), CMessage::Type::Part);
EXPECT_EQ(CMessage("PING").GetType(), CMessage::Type::Ping);
EXPECT_EQ(CMessage("PONG").GetType(), CMessage::Type::Pong);
EXPECT_EQ(CMessage("QUIT").GetType(), CMessage::Type::Quit);
EXPECT_EQ(CMessage("PRIVMSG").GetType(), CMessage::Type::Text);
EXPECT_EQ(CMessage("TOPIC").GetType(), CMessage::Type::Topic);
EXPECT_EQ(CMessage("WALLOPS").GetType(), CMessage::Type::Wallops);
CMessage msg;
EXPECT_EQ(CMessage::Type::Unknown, msg.GetType());
EXPECT_EQ(msg.GetType(), CMessage::Type::Unknown);
msg.SetCommand("PRIVMSG");
EXPECT_EQ(CMessage::Type::Text, msg.GetType());
EXPECT_EQ(msg.GetType(), CMessage::Type::Text);
msg.SetParams({"target", "\001ACTION foo\001"});
EXPECT_EQ(CMessage::Type::Action, msg.GetType());
EXPECT_EQ(msg.GetType(), CMessage::Type::Action);
msg.SetParam(1, "\001foo\001");
EXPECT_EQ(CMessage::Type::CTCP, msg.GetType());
EXPECT_EQ(msg.GetType(), CMessage::Type::CTCP);
msg.SetCommand("NOTICE");
EXPECT_EQ(CMessage::Type::CTCP, msg.GetType());
EXPECT_EQ(msg.GetType(), CMessage::Type::CTCP);
msg.SetParam(1, "foo");
EXPECT_EQ(CMessage::Type::Notice, msg.GetType());
EXPECT_EQ(msg.GetType(), CMessage::Type::Notice);
}
TEST(MessageTest, Target) {
CTargetMessage msg;
msg.Parse(":sender PRIVMSG #chan :foo bar");
EXPECT_EQ("#chan", msg.GetTarget());
EXPECT_EQ(msg.GetTarget(), "#chan");
msg.SetTarget("#znc");
EXPECT_EQ("#znc", msg.GetTarget());
EXPECT_EQ(":sender PRIVMSG #znc :foo bar", msg.ToString());
EXPECT_EQ(msg.GetTarget(), "#znc");
EXPECT_EQ(msg.ToString(), ":sender PRIVMSG #znc :foo bar");
}
TEST(MessageTest, ChanAction) {
CActionMessage msg;
msg.Parse(":sender PRIVMSG #chan :\001ACTION ACTS\001");
EXPECT_EQ("sender", msg.GetNick().GetNick());
EXPECT_EQ("PRIVMSG", msg.GetCommand());
EXPECT_EQ("#chan", msg.GetTarget());
EXPECT_EQ("ACTS", msg.GetText());
EXPECT_EQ(CMessage::Type::Action, msg.GetType());
EXPECT_EQ(msg.GetNick().GetNick(), "sender");
EXPECT_EQ(msg.GetCommand(), "PRIVMSG");
EXPECT_EQ(msg.GetTarget(), "#chan");
EXPECT_EQ(msg.GetText(), "ACTS");
EXPECT_EQ(msg.GetType(), CMessage::Type::Action);
msg.SetText("foo bar");
EXPECT_EQ("foo bar", msg.GetText());
EXPECT_EQ(":sender PRIVMSG #chan :\001ACTION foo bar\001", msg.ToString());
EXPECT_EQ(msg.GetText(), "foo bar");
EXPECT_EQ(msg.ToString(), ":sender PRIVMSG #chan :\001ACTION foo bar\001");
}
TEST(MessageTest, ChanCTCP) {
CCTCPMessage msg;
msg.Parse(":sender PRIVMSG #chan :\001text\001");
EXPECT_EQ("sender", msg.GetNick().GetNick());
EXPECT_EQ("PRIVMSG", msg.GetCommand());
EXPECT_EQ("#chan", msg.GetTarget());
EXPECT_EQ("text", msg.GetText());
EXPECT_EQ(msg.GetNick().GetNick(), "sender");
EXPECT_EQ(msg.GetCommand(), "PRIVMSG");
EXPECT_EQ(msg.GetTarget(), "#chan");
EXPECT_EQ(msg.GetText(), "text");
EXPECT_FALSE(msg.IsReply());
EXPECT_EQ(CMessage::Type::CTCP, msg.GetType());
EXPECT_EQ(msg.GetType(), CMessage::Type::CTCP);
msg.SetText("foo bar");
EXPECT_EQ("foo bar", msg.GetText());
EXPECT_EQ(":sender PRIVMSG #chan :\001foo bar\001", msg.ToString());
EXPECT_EQ(msg.GetText(), "foo bar");
EXPECT_EQ(msg.ToString(), ":sender PRIVMSG #chan :\001foo bar\001");
}
TEST(MessageTest, ChanMsg) {
CTextMessage msg;
msg.Parse(":sender PRIVMSG #chan :text");
EXPECT_EQ("sender", msg.GetNick().GetNick());
EXPECT_EQ("PRIVMSG", msg.GetCommand());
EXPECT_EQ("#chan", msg.GetTarget());
EXPECT_EQ("text", msg.GetText());
EXPECT_EQ(CMessage::Type::Text, msg.GetType());
EXPECT_EQ(msg.GetNick().GetNick(), "sender");
EXPECT_EQ(msg.GetCommand(), "PRIVMSG");
EXPECT_EQ(msg.GetTarget(), "#chan");
EXPECT_EQ(msg.GetText(), "text");
EXPECT_EQ(msg.GetType(), CMessage::Type::Text);
msg.SetText("foo bar");
EXPECT_EQ("foo bar", msg.GetText());
EXPECT_EQ(":sender PRIVMSG #chan :foo bar", msg.ToString());
EXPECT_EQ(msg.GetText(), "foo bar");
EXPECT_EQ(msg.ToString(), ":sender PRIVMSG #chan :foo bar");
}
TEST(MessageTest, CTCPReply) {
CCTCPMessage msg;
msg.Parse(":sender NOTICE nick :\001FOO bar\001");
EXPECT_EQ("sender", msg.GetNick().GetNick());
EXPECT_EQ("NOTICE", msg.GetCommand());
EXPECT_EQ("nick", msg.GetTarget());
EXPECT_EQ("FOO bar", msg.GetText());
EXPECT_EQ(msg.GetNick().GetNick(), "sender");
EXPECT_EQ(msg.GetCommand(), "NOTICE");
EXPECT_EQ(msg.GetTarget(), "nick");
EXPECT_EQ(msg.GetText(), "FOO bar");
EXPECT_TRUE(msg.IsReply());
EXPECT_EQ(CMessage::Type::CTCP, msg.GetType());
EXPECT_EQ(msg.GetType(), CMessage::Type::CTCP);
msg.SetText("BAR foo");
EXPECT_EQ("BAR foo", msg.GetText());
EXPECT_EQ(":sender NOTICE nick :\001BAR foo\001", msg.ToString());
EXPECT_EQ(msg.GetText(), "BAR foo");
EXPECT_EQ(msg.ToString(), ":sender NOTICE nick :\001BAR foo\001");
}
TEST(MessageTest, Kick) {
CKickMessage msg;
msg.Parse(":nick KICK #chan person :reason");
EXPECT_EQ("nick", msg.GetNick().GetNick());
EXPECT_EQ("KICK", msg.GetCommand());
EXPECT_EQ("#chan", msg.GetTarget());
EXPECT_EQ("person", msg.GetKickedNick());
EXPECT_EQ("reason", msg.GetReason());
EXPECT_EQ(CMessage::Type::Kick, msg.GetType());
EXPECT_EQ(msg.GetNick().GetNick(), "nick");
EXPECT_EQ(msg.GetCommand(), "KICK");
EXPECT_EQ(msg.GetTarget(), "#chan");
EXPECT_EQ(msg.GetKickedNick(), "person");
EXPECT_EQ(msg.GetReason(), "reason");
EXPECT_EQ(msg.GetType(), CMessage::Type::Kick);
msg.SetKickedNick("noone");
EXPECT_EQ("noone", msg.GetKickedNick());
EXPECT_EQ(msg.GetKickedNick(), "noone");
msg.SetReason("test");
EXPECT_EQ("test", msg.GetReason());
EXPECT_EQ(":nick KICK #chan noone :test", msg.ToString());
EXPECT_EQ(msg.GetReason(), "test");
EXPECT_EQ(msg.ToString(), ":nick KICK #chan noone :test");
}
TEST(MessageTest, Join) {
CJoinMessage msg;
msg.Parse(":nick JOIN #chan");
EXPECT_EQ("nick", msg.GetNick().GetNick());
EXPECT_EQ("JOIN", msg.GetCommand());
EXPECT_EQ("#chan", msg.GetTarget());
EXPECT_EQ(CMessage::Type::Join, msg.GetType());
EXPECT_EQ(msg.GetNick().GetNick(), "nick");
EXPECT_EQ(msg.GetCommand(), "JOIN");
EXPECT_EQ(msg.GetTarget(), "#chan");
EXPECT_EQ(msg.GetType(), CMessage::Type::Join);
EXPECT_EQ(":nick JOIN #chan", msg.ToString());
EXPECT_EQ(msg.ToString(), ":nick JOIN #chan");
}
TEST(MessageTest, Mode) {
CModeMessage msg;
msg.Parse(":nick MODE #chan +k foo");
EXPECT_EQ("nick", msg.GetNick().GetNick());
EXPECT_EQ("MODE", msg.GetCommand());
EXPECT_EQ("#chan", msg.GetTarget());
EXPECT_EQ("+k foo", msg.GetModes());
EXPECT_EQ(msg.GetNick().GetNick(), "nick");
EXPECT_EQ(msg.GetCommand(), "MODE");
EXPECT_EQ(msg.GetTarget(), "#chan");
EXPECT_EQ(msg.GetModes(), "+k foo");
EXPECT_EQ(":nick MODE #chan +k foo", msg.ToString());
EXPECT_EQ(msg.ToString(), ":nick MODE #chan +k foo");
msg.Parse(":nick MODE nick :+i");
EXPECT_EQ("+i", msg.GetModes());
EXPECT_EQ(msg.GetModes(), "+i");
EXPECT_EQ(":nick MODE nick :+i", msg.ToString());
EXPECT_EQ(msg.ToString(), ":nick MODE nick :+i");
}
TEST(MessageTest, Nick) {
CNickMessage msg;
msg.Parse(":nick NICK person");
EXPECT_EQ("nick", msg.GetNick().GetNick());
EXPECT_EQ("NICK", msg.GetCommand());
EXPECT_EQ("nick", msg.GetOldNick());
EXPECT_EQ("person", msg.GetNewNick());
EXPECT_EQ(CMessage::Type::Nick, msg.GetType());
EXPECT_EQ(msg.GetNick().GetNick(), "nick");
EXPECT_EQ(msg.GetCommand(), "NICK");
EXPECT_EQ(msg.GetOldNick(), "nick");
EXPECT_EQ(msg.GetNewNick(), "person");
EXPECT_EQ(msg.GetType(), CMessage::Type::Nick);
msg.SetNewNick("test");
EXPECT_EQ("test", msg.GetNewNick());
EXPECT_EQ(":nick NICK test", msg.ToString());
EXPECT_EQ(msg.GetNewNick(), "test");
EXPECT_EQ(msg.ToString(), ":nick NICK test");
}
TEST(MessageTest, Numeric) {
CNumericMessage msg;
msg.Parse(":server 123 user :foo bar");
EXPECT_EQ("server", msg.GetNick().GetNick());
EXPECT_EQ("123", msg.GetCommand());
EXPECT_EQ(123u, msg.GetCode());
EXPECT_EQ(CMessage::Type::Numeric, msg.GetType());
EXPECT_EQ(msg.GetNick().GetNick(), "server");
EXPECT_EQ(msg.GetCommand(), "123");
EXPECT_EQ(msg.GetCode(), 123u);
EXPECT_EQ(msg.GetType(), CMessage::Type::Numeric);
EXPECT_EQ(":server 123 user :foo bar", msg.ToString());
EXPECT_EQ(msg.ToString(), ":server 123 user :foo bar");
}
TEST(MessageTest, Part) {
CPartMessage msg;
msg.Parse(":nick PART #chan :reason");
EXPECT_EQ("nick", msg.GetNick().GetNick());
EXPECT_EQ("PART", msg.GetCommand());
EXPECT_EQ("#chan", msg.GetTarget());
EXPECT_EQ("reason", msg.GetReason());
EXPECT_EQ(CMessage::Type::Part, msg.GetType());
EXPECT_EQ(msg.GetNick().GetNick(), "nick");
EXPECT_EQ(msg.GetCommand(), "PART");
EXPECT_EQ(msg.GetTarget(), "#chan");
EXPECT_EQ(msg.GetReason(), "reason");
EXPECT_EQ(msg.GetType(), CMessage::Type::Part);
msg.SetReason("test");
EXPECT_EQ("test", msg.GetReason());
EXPECT_EQ(":nick PART #chan :test", msg.ToString());
EXPECT_EQ(msg.GetReason(), "test");
EXPECT_EQ(msg.ToString(), ":nick PART #chan :test");
}
TEST(MessageTest, PrivAction) {
CActionMessage msg;
msg.Parse(":sender PRIVMSG receiver :\001ACTION ACTS\001");
EXPECT_EQ("sender", msg.GetNick().GetNick());
EXPECT_EQ("PRIVMSG", msg.GetCommand());
EXPECT_EQ("receiver", msg.GetTarget());
EXPECT_EQ("ACTS", msg.GetText());
EXPECT_EQ(CMessage::Type::Action, msg.GetType());
EXPECT_EQ(msg.GetNick().GetNick(), "sender");
EXPECT_EQ(msg.GetCommand(), "PRIVMSG");
EXPECT_EQ(msg.GetTarget(), "receiver");
EXPECT_EQ(msg.GetText(), "ACTS");
EXPECT_EQ(msg.GetType(), CMessage::Type::Action);
msg.SetText("foo bar");
EXPECT_EQ("foo bar", msg.GetText());
EXPECT_EQ(":sender PRIVMSG receiver :\001ACTION foo bar\001",
msg.ToString());
EXPECT_EQ(msg.GetText(), "foo bar");
EXPECT_EQ(msg.ToString(),
":sender PRIVMSG receiver :\001ACTION foo bar\001");
}
TEST(MessageTest, PrivCTCP) {
CCTCPMessage msg;
msg.Parse(":sender PRIVMSG receiver :\001text\001");
EXPECT_EQ("sender", msg.GetNick().GetNick());
EXPECT_EQ("PRIVMSG", msg.GetCommand());
EXPECT_EQ("receiver", msg.GetTarget());
EXPECT_EQ("text", msg.GetText());
EXPECT_EQ(msg.GetNick().GetNick(), "sender");
EXPECT_EQ(msg.GetCommand(), "PRIVMSG");
EXPECT_EQ(msg.GetTarget(), "receiver");
EXPECT_EQ(msg.GetText(), "text");
EXPECT_FALSE(msg.IsReply());
EXPECT_EQ(CMessage::Type::CTCP, msg.GetType());
EXPECT_EQ(msg.GetType(), CMessage::Type::CTCP);
msg.SetText("foo bar");
EXPECT_EQ("foo bar", msg.GetText());
EXPECT_EQ(":sender PRIVMSG receiver :\001foo bar\001", msg.ToString());
EXPECT_EQ(msg.GetText(), "foo bar");
EXPECT_EQ(msg.ToString(), ":sender PRIVMSG receiver :\001foo bar\001");
}
TEST(MessageTest, PrivMsg) {
CTextMessage msg;
msg.Parse(":sender PRIVMSG receiver :foo bar");
EXPECT_EQ("sender", msg.GetNick().GetNick());
EXPECT_EQ("PRIVMSG", msg.GetCommand());
EXPECT_EQ("receiver", msg.GetTarget());
EXPECT_EQ("foo bar", msg.GetText());
EXPECT_EQ(CMessage::Type::Text, msg.GetType());
EXPECT_EQ(msg.GetNick().GetNick(), "sender");
EXPECT_EQ(msg.GetCommand(), "PRIVMSG");
EXPECT_EQ(msg.GetTarget(), "receiver");
EXPECT_EQ(msg.GetText(), "foo bar");
EXPECT_EQ(msg.GetType(), CMessage::Type::Text);
msg.SetText(":)");
EXPECT_EQ(":)", msg.GetText());
EXPECT_EQ(":sender PRIVMSG receiver ::)", msg.ToString());
EXPECT_EQ(msg.GetText(), ":)");
EXPECT_EQ(msg.ToString(), ":sender PRIVMSG receiver ::)");
}
TEST(MessageTest, Quit) {
CQuitMessage msg;
msg.Parse(":nick QUIT :reason");
EXPECT_EQ("nick", msg.GetNick().GetNick());
EXPECT_EQ("QUIT", msg.GetCommand());
EXPECT_EQ("reason", msg.GetReason());
EXPECT_EQ(CMessage::Type::Quit, msg.GetType());
EXPECT_EQ(msg.GetNick().GetNick(), "nick");
EXPECT_EQ(msg.GetCommand(), "QUIT");
EXPECT_EQ(msg.GetReason(), "reason");
EXPECT_EQ(msg.GetType(), CMessage::Type::Quit);
msg.SetReason("test");
EXPECT_EQ("test", msg.GetReason());
EXPECT_EQ(":nick QUIT :test", msg.ToString());
EXPECT_EQ(msg.GetReason(), "test");
EXPECT_EQ(msg.ToString(), ":nick QUIT :test");
}
TEST(MessageTest, Topic) {
CTopicMessage msg;
msg.Parse(":nick TOPIC #chan :topic");
EXPECT_EQ("nick", msg.GetNick().GetNick());
EXPECT_EQ("TOPIC", msg.GetCommand());
EXPECT_EQ("#chan", msg.GetTarget());
EXPECT_EQ("topic", msg.GetTopic());
EXPECT_EQ(CMessage::Type::Topic, msg.GetType());
EXPECT_EQ(msg.GetNick().GetNick(), "nick");
EXPECT_EQ(msg.GetCommand(), "TOPIC");
EXPECT_EQ(msg.GetTarget(), "#chan");
EXPECT_EQ(msg.GetTopic(), "topic");
EXPECT_EQ(msg.GetType(), CMessage::Type::Topic);
msg.SetTopic("test");
EXPECT_EQ("test", msg.GetTopic());
EXPECT_EQ(":nick TOPIC #chan :test", msg.ToString());
EXPECT_EQ(msg.GetTopic(), "test");
EXPECT_EQ(msg.ToString(), ":nick TOPIC #chan :test");
}
TEST(MessageTest, Parse) {
@@ -476,7 +476,7 @@ TEST(MessageTest, Parse) {
// #1037
msg.Parse(":irc.znc.in PRIVMSG ::)");
EXPECT_EQ(":)", msg.GetParam(0));
EXPECT_EQ(msg.GetParam(0), ":)");
}
// The test data for MessageTest.Parse originates from
@@ -511,13 +511,13 @@ TEST(MessageTest, ParseWithTags) {
"COMMAND param1 param2 :param3 param3";
CMessage msg(line);
EXPECT_EQ(line, msg.ToString());
EXPECT_EQ(msg.ToString(), line);
EXPECT_THAT(msg.GetTags(), ContainerEq(MCString{{"tag1", "value1"},
{"tag2", ""},
{"vendor1/tag3", "value2"},
{"vendor2/tag4", ""}}));
EXPECT_EQ("irc.example.com", msg.GetNick().GetNick());
EXPECT_EQ("COMMAND", msg.GetCommand());
EXPECT_EQ(msg.GetNick().GetNick(), "irc.example.com");
EXPECT_EQ(msg.GetCommand(), "COMMAND");
EXPECT_THAT(msg.GetParams(),
ContainerEq(VCString{"param1", "param2", "param3 param3"}));
}
@@ -528,10 +528,10 @@ TEST(MessageTest, ParseWithoutTags) {
":irc.example.com COMMAND param1 param2 :param3 param3";
CMessage msg(line);
EXPECT_EQ(line, msg.ToString());
EXPECT_EQ(MCString(), msg.GetTags());
EXPECT_EQ("irc.example.com", msg.GetNick().GetNick());
EXPECT_EQ("COMMAND", msg.GetCommand());
EXPECT_EQ(msg.ToString(), line);
EXPECT_EQ(msg.GetTags(), MCString());
EXPECT_EQ(msg.GetNick().GetNick(), "irc.example.com");
EXPECT_EQ(msg.GetCommand(), "COMMAND");
EXPECT_THAT(msg.GetParams(),
ContainerEq(VCString{"param1", "param2", "param3 param3"}));
}
@@ -543,13 +543,13 @@ TEST(MessageTest, ParseWithoutSource) {
"param2 :param3 param3";
CMessage msg(line);
EXPECT_EQ(line, msg.ToString());
EXPECT_EQ(msg.ToString(), line);
EXPECT_THAT(msg.GetTags(), ContainerEq(MCString{{"tag1", "value1"},
{"tag2", ""},
{"vendor1/tag3", "value2"},
{"vendor2/tag4", ""}}));
EXPECT_EQ("", msg.GetNick().GetNick());
EXPECT_EQ("COMMAND", msg.GetCommand());
EXPECT_EQ(msg.GetNick().GetNick(), "");
EXPECT_EQ(msg.GetCommand(), "COMMAND");
EXPECT_THAT(msg.GetParams(),
ContainerEq(VCString{"param1", "param2", "param3 param3"}));
}
@@ -559,9 +559,9 @@ TEST(MessageTest, ParseWithoutSourceAndTags) {
const CString line = "COMMAND";
CMessage msg(line);
EXPECT_EQ(line, msg.ToString());
EXPECT_EQ(MCString(), msg.GetTags());
EXPECT_EQ("", msg.GetNick().GetNick());
EXPECT_EQ("COMMAND", msg.GetCommand());
EXPECT_EQ(VCString(), msg.GetParams());
EXPECT_EQ(msg.ToString(), line);
EXPECT_EQ(msg.GetTags(), MCString());
EXPECT_EQ(msg.GetNick().GetNick(), "");
EXPECT_EQ(msg.GetCommand(), "COMMAND");
EXPECT_EQ(msg.GetParams(), VCString());
}