diff options
author | Sébastien Helleu <flashcode@flashtux.org> | 2021-08-08 18:37:15 +0200 |
---|---|---|
committer | Sébastien Helleu <flashcode@flashtux.org> | 2021-08-08 18:37:15 +0200 |
commit | 8e676edd1a5a1ab91279d55a2181757ad36b5ced (patch) | |
tree | e8c3778b3027636bcd90285d5cd520f8653f2b01 /tests/unit | |
parent | 415ea95eb42d061d350fe5b3b3cb9b00f05c6915 (diff) | |
download | weechat-8e676edd1a5a1ab91279d55a2181757ad36b5ced.zip |
irc: save CLIENTTAGDENY from message 005 in server, do not send typing messages if "typing" client tag is denied
Diffstat (limited to 'tests/unit')
-rw-r--r-- | tests/unit/plugins/irc/test-irc-server.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/unit/plugins/irc/test-irc-server.cpp b/tests/unit/plugins/irc/test-irc-server.cpp index 7748858ec..d891d3ea0 100644 --- a/tests/unit/plugins/irc/test-irc-server.cpp +++ b/tests/unit/plugins/irc/test-irc-server.cpp @@ -251,6 +251,74 @@ TEST(IrcServer, SetPrefixModesChars) /* * Tests functions: + * irc_server_set_clienttagdeny + */ + +TEST(IrcServer, SetClienttagdeny) +{ + struct t_irc_server *server; + + server = irc_server_alloc ("test_clienttagdeny"); + CHECK(server); + + POINTERS_EQUAL(NULL, server->clienttagdeny); + LONGS_EQUAL(0, server->clienttagdeny_count); + POINTERS_EQUAL(NULL, server->clienttagdeny_array); + LONGS_EQUAL(1, server->typing_allowed); + + irc_server_set_clienttagdeny (server, "*"); + irc_server_set_clienttagdeny (server, NULL); + POINTERS_EQUAL(NULL, server->clienttagdeny); + LONGS_EQUAL(0, server->clienttagdeny_count); + POINTERS_EQUAL(NULL, server->clienttagdeny_array); + LONGS_EQUAL(1, server->typing_allowed); + + irc_server_set_clienttagdeny (server, "*"); + irc_server_set_clienttagdeny (server, ""); + POINTERS_EQUAL(NULL, server->clienttagdeny); + LONGS_EQUAL(0, server->clienttagdeny_count); + POINTERS_EQUAL(NULL, server->clienttagdeny_array); + LONGS_EQUAL(1, server->typing_allowed); + + irc_server_set_clienttagdeny (server, "*"); + STRCMP_EQUAL("*", server->clienttagdeny); + LONGS_EQUAL(1, server->clienttagdeny_count); + STRCMP_EQUAL("*", server->clienttagdeny_array[0]); + POINTERS_EQUAL(NULL, server->clienttagdeny_array[1]); + LONGS_EQUAL(0, server->typing_allowed); + + irc_server_set_clienttagdeny (server, "*,-foo"); + STRCMP_EQUAL("*,-foo", server->clienttagdeny); + LONGS_EQUAL(2, server->clienttagdeny_count); + STRCMP_EQUAL("*", server->clienttagdeny_array[0]); + STRCMP_EQUAL("!foo", server->clienttagdeny_array[1]); + POINTERS_EQUAL(NULL, server->clienttagdeny_array[2]); + LONGS_EQUAL(0, server->typing_allowed); + + irc_server_set_clienttagdeny (server, "*,-foo,-example/bar"); + STRCMP_EQUAL("*,-foo,-example/bar", server->clienttagdeny); + LONGS_EQUAL(3, server->clienttagdeny_count); + STRCMP_EQUAL("*", server->clienttagdeny_array[0]); + STRCMP_EQUAL("!foo", server->clienttagdeny_array[1]); + STRCMP_EQUAL("!example/bar", server->clienttagdeny_array[2]); + POINTERS_EQUAL(NULL, server->clienttagdeny_array[3]); + LONGS_EQUAL(0, server->typing_allowed); + + irc_server_set_clienttagdeny (server, "*,-foo,-example/bar,-typing"); + STRCMP_EQUAL("*,-foo,-example/bar,-typing", server->clienttagdeny); + LONGS_EQUAL(4, server->clienttagdeny_count); + STRCMP_EQUAL("*", server->clienttagdeny_array[0]); + STRCMP_EQUAL("!foo", server->clienttagdeny_array[1]); + STRCMP_EQUAL("!example/bar", server->clienttagdeny_array[2]); + STRCMP_EQUAL("!typing", server->clienttagdeny_array[3]); + POINTERS_EQUAL(NULL, server->clienttagdeny_array[4]); + LONGS_EQUAL(1, server->typing_allowed); + + irc_server_free (server); +} + +/* + * Tests functions: * irc_server_set_lag */ |