Add initializer_list ctors for CString & MCString

This commit is contained in:
J-P Nurmi
2015-07-12 23:48:20 +02:00
parent f28640fe3f
commit 1aba508298
3 changed files with 18 additions and 35 deletions

View File

@@ -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);
}