mirror of
https://github.com/znc/znc.git
synced 2026-03-28 17:42:41 +01:00
Add initializer_list ctors for CString & MCString
This commit is contained in:
@@ -22,38 +22,27 @@ TEST(IRC32, GetMessageTags) {
|
||||
EXPECT_EQ(MCString(), CUtils::GetMessageTags(""));
|
||||
EXPECT_EQ(MCString(), CUtils::GetMessageTags(":nick!ident@host PRIVMSG #chan :hello world"));
|
||||
|
||||
MCString exp;
|
||||
exp["a"] = "b";
|
||||
MCString exp = { {"a","b"} };
|
||||
EXPECT_EQ(exp, CUtils::GetMessageTags("@a=b"));
|
||||
EXPECT_EQ(exp, CUtils::GetMessageTags("@a=b :nick!ident@host PRIVMSG #chan :hello world"));
|
||||
EXPECT_EQ(exp, CUtils::GetMessageTags("@a=b :rest"));
|
||||
exp.clear();
|
||||
|
||||
exp["ab"] = "cdef";
|
||||
exp["znc.in/gh-ij"] = "klmn,op";
|
||||
exp = { {"ab","cdef"}, {"znc.in/gh-ij","klmn,op"} };
|
||||
EXPECT_EQ(exp, CUtils::GetMessageTags("@ab=cdef;znc.in/gh-ij=klmn,op :rest"));
|
||||
exp.clear();
|
||||
|
||||
exp["a"] = "==b==";
|
||||
exp = { {"a","==b=="} };
|
||||
EXPECT_EQ(exp, CUtils::GetMessageTags("@a===b== :rest"));
|
||||
exp.clear();
|
||||
|
||||
exp["a"] = "";
|
||||
exp["b"] = "c";
|
||||
exp["d"] = "";
|
||||
exp = { {"a",""}, {"b","c"}, {"d",""} };
|
||||
EXPECT_EQ(exp, CUtils::GetMessageTags("@a;b=c;d :rest"));
|
||||
exp.clear();
|
||||
|
||||
exp["semi-colon"] += ';';
|
||||
exp["space"] += ' ';
|
||||
exp["NUL"] += '\0';
|
||||
exp["backslash"] += '\\';
|
||||
exp["CR"] += '\r';
|
||||
exp["LF"] += '\n';
|
||||
exp = { {"semi-colon",";"}, {"space"," "}, {"NUL",{'\0'}}, {"backslash","\\"}, {"CR",{'\r'}}, {"LF",{'\n'}} };
|
||||
EXPECT_EQ(exp, CUtils::GetMessageTags(R"(@semi-colon=\:;space=\s;NUL=\0;backslash=\\;CR=\r;LF=\n :rest)"));
|
||||
exp.clear();
|
||||
|
||||
exp["a"] = "; \\\r\n";
|
||||
exp = { {"a","; \\\r\n"} };
|
||||
EXPECT_EQ(exp, CUtils::GetMessageTags(R"(@a=\:\s\\\r\n :rest)"));
|
||||
exp.clear();
|
||||
}
|
||||
@@ -65,31 +54,23 @@ TEST(IRC32, SetMessageTags) {
|
||||
CUtils::SetMessageTags(sLine, MCString());
|
||||
EXPECT_EQ(":rest", sLine);
|
||||
|
||||
MCString tags;
|
||||
tags["a"] = "b";
|
||||
MCString tags = { {"a","b"} };
|
||||
CUtils::SetMessageTags(sLine, tags);
|
||||
EXPECT_EQ("@a=b :rest", sLine);
|
||||
|
||||
tags["c"] = "d";
|
||||
tags = { {"a","b"}, {"c","d"} };
|
||||
CUtils::SetMessageTags(sLine, tags);
|
||||
EXPECT_EQ("@a=b;c=d :rest", sLine);
|
||||
|
||||
tags["e"] = "";
|
||||
tags = { {"a","b"}, {"c","d"}, {"e",""} };
|
||||
CUtils::SetMessageTags(sLine, tags);
|
||||
EXPECT_EQ("@a=b;c=d;e :rest", sLine);
|
||||
tags.clear();
|
||||
|
||||
tags["semi-colon"] += ';';
|
||||
tags["space"] += ' ';
|
||||
tags["NUL"] += '\0';
|
||||
tags["backslash"] += '\\';
|
||||
tags["CR"] += '\r';
|
||||
tags["LF"] += '\n';
|
||||
tags = { {"semi-colon",";"}, {"space"," "}, {"NUL",{'\0'}}, {"backslash","\\"}, {"CR",{'\r'}}, {"LF",{'\n'}} };
|
||||
CUtils::SetMessageTags(sLine, tags);
|
||||
EXPECT_EQ(R"(@CR=\r;LF=\n;NUL=\0;backslash=\\;semi-colon=\:;space=\s :rest)", sLine);
|
||||
tags.clear();
|
||||
|
||||
tags["a"] = "; \\\r\n";
|
||||
tags = { {"a","; \\\r\n"} };
|
||||
CUtils::SetMessageTags(sLine, tags);
|
||||
EXPECT_EQ(R"(@a=\:\s\\\r\n :rest)", sLine);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user