summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/plugins/irc/test-irc-message.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/unit/plugins/irc/test-irc-message.cpp b/tests/unit/plugins/irc/test-irc-message.cpp
index e3e6b4c9f..aed8d4fe8 100644
--- a/tests/unit/plugins/irc/test-irc-message.cpp
+++ b/tests/unit/plugins/irc/test-irc-message.cpp
@@ -1137,6 +1137,7 @@ TEST(IrcMessage, Split)
struct t_hashtable *hashtable;
const char *ptr_msg, *pos1, *pos2;
char batch_ref[512], msg[4096];
+ int old_nick_max_length;
server = irc_server_alloc ("test_split_msg");
CHECK(server);
@@ -1552,6 +1553,21 @@ TEST(IrcMessage, Split)
(const char *)hashtable_get (hashtable, "args1"));
hashtable_free (hashtable);
+ /* PRIVMSG with small content but inconsistent max length: no split */
+ old_nick_max_length = server->nick_max_length;
+ server->nick_max_length = 4096;
+ hashtable = irc_message_split (server, "PRIVMSG #channel :test");
+ CHECK(hashtable);
+ LONGS_EQUAL(3, hashtable->items_count);
+ STRCMP_EQUAL("1",
+ (const char *)hashtable_get (hashtable, "count"));
+ STRCMP_EQUAL("PRIVMSG #channel :test",
+ (const char *)hashtable_get (hashtable, "msg1"));
+ STRCMP_EQUAL("test",
+ (const char *)hashtable_get (hashtable, "args1"));
+ hashtable_free (hashtable);
+ server->nick_max_length = old_nick_max_length;
+
/* PRIVMSG with 512 bytes of content: 1 split */
hashtable = irc_message_split (server,
"PRIVMSG #channel :" LOREM_IPSUM_512);