keepnick: Modernize and update test.
This commit is contained in:
1 parent
cec9741003
commit
ec49f11be6
2 files changed
+31
-4
No files matched your search
@@ -80,8 +80,9 @@ class CKeepNickMod : public CModule {
|
||||
return sConfNick;
|
||||
}
|
||||
|
||||
void OnNick(const CNick& Nick, const CString& sNewNick,
|
||||
const vector<CChan*>& vChans) override {
|
||||
void OnNickMessage(CNickMessage& Message, const vector<CChan*>& vChans) override {
|
||||
const CNick& Nick = Message.GetNick();
|
||||
const CString& sNewNick = Message.GetNewNick();
|
||||
if (sNewNick == GetNetwork()->GetIRCSock()->GetNick()) {
|
||||
// We are changing our own nick
|
||||
if (Nick.NickEquals(GetNick())) {
|
||||
@@ -103,14 +104,15 @@ class CKeepNickMod : public CModule {
|
||||
}
|
||||
}
|
||||
|
||||
void OnQuit(const CNick& Nick, const CString& sMessage,
|
||||
const vector<CChan*>& vChans) override {
|
||||
void OnQuitMessage(CQuitMessage& Message, const vector<CChan*>& vChans) override {
|
||||
// If someone with the nick we want quits, be fast and get the nick
|
||||
const CNick& Nick = Message.GetNick();
|
||||
if (Nick.NickEquals(GetNick())) {
|
||||
KeepNick();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void OnIRCDisconnected() override {
|
||||
// No way we can do something if we aren't connected to IRC.
|
||||
Disable();
|
||||
|
||||
@@ -336,6 +336,31 @@ TEST_F(ZNCTest, KeepNickModule) {
|
||||
client.ReadUntil(
|
||||
":*keepnick!keepnick@znc.in PRIVMSG user_ "
|
||||
":Unable to obtain nick user: Nope :-P, #error");
|
||||
|
||||
client.Write("PRIVMSG *keepnick :state");
|
||||
client.ReadUntil("Currently disabled");
|
||||
|
||||
client.Write("NICK user_");
|
||||
ircd.ReadUntil("NICK user_");
|
||||
client.Write("JOIN #test");
|
||||
ircd.ReadUntil("JOIN #test");
|
||||
ircd.Write(":server 353 nick = #test :user_ user");
|
||||
ircd.Write(":server 366 nick #test :End of /NAMES list");
|
||||
|
||||
client.Write("PRIVMSG *keepnick :enable");
|
||||
client.ReadUntil("Trying to get");
|
||||
|
||||
// OnQuitMessage
|
||||
ircd.Write(":user QUIT :Leaving");
|
||||
ircd.ReadUntil("NICK user");
|
||||
|
||||
// OnNickMessage
|
||||
client.Write("NICK test");
|
||||
ircd.ReadUntil("NICK test");
|
||||
ircd.Write(":user!ident@host JOIN #test");
|
||||
client.ReadUntil("JOIN");
|
||||
ircd.Write(":user!ident@host NICK user2");
|
||||
ircd.ReadUntil("NICK user");
|
||||
}
|
||||
|
||||
TEST_F(ZNCTest, ModuleCSRFOverride) {
|
||||
|
||||
Reference in new issue
Block a user