Ejemplo n.º 1
0
	virtual void OnModCommand(const CString& sLine) {
		const CString sUser = sLine.Token(0);
		const CString sDirection = sLine.Token(1);
		CUser *pUser = CZNC::Get().FindUser(sUser);

		if (!pUser) {
			PutModule("User not found");
			PutModule("The expected format is: <user> [<in|out>] <line to send>");
			PutModule("Out (default): The line will be sent to the user's IRC server");
			PutModule("In: The line will be sent to the user's IRC client");
			return;
		}

		if (!sDirection.CaseCmp("in")) {
			pUser->PutUser(sLine.Token(2, true));
		} else if (!sDirection.CaseCmp("out")) {
			pUser->PutIRC(sLine.Token(2, true));
		} else {
			/* The user did not supply a direction, let's send the line out.
			We do this to preserve backwards compatibility. */
			pUser->PutIRC(sLine.Token(1, true));
		}

		PutModule("done");
	}
Ejemplo n.º 2
0
TEST(StringTest, Cmp) {
	CString s = "Bbb";

	EXPECT_EQ(CString("Bbb"), s);
	EXPECT_LT(CString("Aaa"), s);
	EXPECT_GT(CString("Ccc"), s);
	EXPECT_EQ(0, s.StrCmp("Bbb"));
	EXPECT_GT(0, s.StrCmp("bbb"));
	EXPECT_LT(0, s.StrCmp("Aaa"));
	EXPECT_GT(0, s.StrCmp("Ccc"));
	EXPECT_EQ(0, s.CaseCmp("Bbb"));
	EXPECT_EQ(0, s.CaseCmp("bbb"));
	EXPECT_LT(0, s.CaseCmp("Aaa"));
	EXPECT_GT(0, s.CaseCmp("Ccc"));

	EXPECT_TRUE(s.Equals("bbb"));
	EXPECT_FALSE(s.Equals("bbb", true));
	EXPECT_FALSE(s.Equals("bb"));
}