summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSébastien Helleu <flashcode@flashtux.org>2021-11-06 18:17:39 +0100
committerSébastien Helleu <flashcode@flashtux.org>2021-11-06 18:17:39 +0100
commit2f177dd18874a4ae87c1027cc4fbaec3bebbd6e6 (patch)
tree040fc87bfc717ab47377a07d3a766b93a989c0ad /tests
parentedfc415e9e8472b4520d201b14d7ec94734fc8f4 (diff)
downloadweechat-2f177dd18874a4ae87c1027cc4fbaec3bebbd6e6.zip
irc: fix join of channels with name longer than 127 chars (closes #1717)
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt1
-rw-r--r--tests/Makefile.am3
-rw-r--r--tests/unit/plugins/irc/test-irc-buffer.cpp102
3 files changed, 105 insertions, 1 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 8cbf9d43a..9b6e8bd59 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -54,6 +54,7 @@ set(LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC unit/plugins/test-plugins.cpp)
if(ENABLE_IRC)
list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
+ unit/plugins/irc/test-irc-buffer.cpp
unit/plugins/irc/test-irc-channel.cpp
unit/plugins/irc/test-irc-color.cpp
unit/plugins/irc/test-irc-config.cpp
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 4e30a512a..cfd820cfd 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -69,7 +69,8 @@ tests_SOURCES = tests.cpp \
lib_LTLIBRARIES = lib_weechat_unit_tests_plugins.la
if PLUGIN_IRC
-tests_irc = unit/plugins/irc/test-irc-channel.cpp \
+tests_irc = unit/plugins/irc/test-irc-buffer.cpp \
+ unit/plugins/irc/test-irc-channel.cpp \
unit/plugins/irc/test-irc-color.cpp \
unit/plugins/irc/test-irc-config.cpp \
unit/plugins/irc/test-irc-ignore.cpp \
diff --git a/tests/unit/plugins/irc/test-irc-buffer.cpp b/tests/unit/plugins/irc/test-irc-buffer.cpp
new file mode 100644
index 000000000..987643fec
--- /dev/null
+++ b/tests/unit/plugins/irc/test-irc-buffer.cpp
@@ -0,0 +1,102 @@
+/*
+ * test-irc-buffer.cpp - test IRC buffer functions
+ *
+ * Copyright (C) 2021 Sébastien Helleu <flashcode@flashtux.org>
+ *
+ * This file is part of WeeChat, the extensible chat client.
+ *
+ * WeeChat is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * WeeChat is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "CppUTest/TestHarness.h"
+
+extern "C"
+{
+#include "tests/tests.h"
+#include "src/plugins/irc/irc-buffer.h"
+}
+
+#define CHANNEL_300 "#this_channel_name_has_300_chars_xxxxxxxxxxxxxxxxxxxxx" \
+ "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
+ "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
+ "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
+ "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_END"
+
+TEST_GROUP(IrcBuffer)
+{
+};
+
+/*
+ * Tests functions:
+ * irc_buffer_get_server_and_channel
+ */
+
+TEST(IrcBuffer, GetServerAndChannel)
+{
+ /* TODO: write tests */
+}
+
+/*
+ * Tests functions:
+ * irc_buffer_build_name
+ */
+
+TEST(IrcBuffer, BuildName)
+{
+ char *str;
+
+ WEE_TEST_STR("", irc_buffer_build_name (NULL, NULL));
+ WEE_TEST_STR(".", irc_buffer_build_name ("", ""));
+
+ /* only server */
+ WEE_TEST_STR("server.libera", irc_buffer_build_name ("libera", NULL));
+
+ /* only channel */
+ WEE_TEST_STR("#chan1", irc_buffer_build_name (NULL, "#chan1"));
+
+ /* server and channel */
+ WEE_TEST_STR("libera.#chan1", irc_buffer_build_name ("libera", "#chan1"));
+ WEE_TEST_STR("libera." CHANNEL_300,
+ irc_buffer_build_name ("libera", CHANNEL_300));
+}
+
+/*
+ * Tests functions:
+ * irc_buffer_close_server_channels
+ */
+
+TEST(IrcBuffer, CloseServerChannels)
+{
+ /* TODO: write tests */
+}
+
+/*
+ * Tests functions:
+ * irc_buffer_search_server_lowest_number
+ */
+
+TEST(IrcBuffer, SearchServerLowestNumber)
+{
+ /* TODO: write tests */
+}
+
+/*
+ * Tests functions:
+ * irc_buffer_search_private_lowest_number
+ */
+
+TEST(IrcBuffer, SearchPrivateLowestNumber)
+{
+ /* TODO: write tests */
+}