1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-06 09:43:13 +02:00

irc: add support of FAIL/WARN/NOTE messages (issue #1653)

Spec: https://ircv3.net/specs/extensions/standard-replies
This commit is contained in:
Sébastien Helleu
2021-06-12 20:41:33 +02:00
parent 88edc19149
commit b8baee1c06
17 changed files with 505 additions and 168 deletions
@@ -607,6 +607,31 @@ TEST(IrcProtocolWithServer, error)
server_recv ("ERROR :Closing Link: irc.server.org (Bad Password)");
}
/*
* Tests functions:
* irc_protocol_cb_fail
*/
TEST(IrcProtocolWithServer, fail)
{
server_recv (":server 001 alice");
/* not enough arguments */
server_recv (":server FAIL");
server_recv (":server FAIL *");
server_recv (":server FAIL COMMAND");
server_recv (":server FAIL * TEST");
server_recv (":server FAIL * TEST :the message");
server_recv (":server FAIL * TEST TEST2");
server_recv (":server FAIL * TEST TEST2 :the message");
server_recv (":server FAIL COMMAND TEST");
server_recv (":server FAIL COMMAND TEST :the message");
server_recv (":server FAIL COMMAND TEST TEST2");
server_recv (":server FAIL COMMAND TEST TEST2 :the message");
}
/*
* Tests functions:
* irc_protocol_cb_invite
@@ -936,6 +961,31 @@ TEST(IrcProtocolWithServer, nick)
STRCMP_EQUAL("bob2", ptr_server->last_channel->name);
}
/*
* Tests functions:
* irc_protocol_cb_note
*/
TEST(IrcProtocolWithServer, note)
{
server_recv (":server 001 alice");
/* not enough arguments */
server_recv (":server NOTE");
server_recv (":server NOTE *");
server_recv (":server NOTE COMMAND");
server_recv (":server NOTE * TEST");
server_recv (":server NOTE * TEST :the message");
server_recv (":server NOTE * TEST TEST2");
server_recv (":server NOTE * TEST TEST2 :the message");
server_recv (":server NOTE COMMAND TEST");
server_recv (":server NOTE COMMAND TEST :the message");
server_recv (":server NOTE COMMAND TEST TEST2");
server_recv (":server NOTE COMMAND TEST TEST2 :the message");
}
/*
* Tests functions:
* irc_protocol_cb_notice
@@ -1262,6 +1312,31 @@ TEST(IrcProtocolWithServer, wallops)
server_recv (":alice!user@host WALLOPS :message from admin");
}
/*
* Tests functions:
* irc_protocol_cb_warn
*/
TEST(IrcProtocolWithServer, warn)
{
server_recv (":server 001 alice");
/* not enough arguments */
server_recv (":server WARN");
server_recv (":server WARN *");
server_recv (":server WARN COMMAND");
server_recv (":server WARN * TEST");
server_recv (":server WARN * TEST :the message");
server_recv (":server WARN * TEST TEST2");
server_recv (":server WARN * TEST TEST2 :the message");
server_recv (":server WARN COMMAND TEST");
server_recv (":server WARN COMMAND TEST :the message");
server_recv (":server WARN COMMAND TEST TEST2");
server_recv (":server WARN COMMAND TEST TEST2 :the message");
}
/*
* Tests functions:
* irc_protocol_cb_001 (connected to IRC server, empty)