summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.adoc2
-rw-r--r--doc/en/weechat_dev.en.adoc1
-rw-r--r--doc/fr/weechat_dev.fr.adoc1
-rw-r--r--doc/ja/weechat_dev.ja.adoc2
-rw-r--r--tests/CMakeLists.txt1
-rw-r--r--tests/Makefile.am1
-rw-r--r--tests/unit/plugins/irc/test-irc-nick.cpp70
7 files changed, 77 insertions, 1 deletions
diff --git a/ChangeLog.adoc b/ChangeLog.adoc
index 65873cf79..7a1399501 100644
--- a/ChangeLog.adoc
+++ b/ChangeLog.adoc
@@ -45,7 +45,7 @@ Bug fixes::
Tests::
- * unit: add tests on IRC ignore and message functions
+ * unit: add tests on IRC ignore, message and nick functions
Build::
diff --git a/doc/en/weechat_dev.en.adoc b/doc/en/weechat_dev.en.adoc
index 55364249a..8aaed473c 100644
--- a/doc/en/weechat_dev.en.adoc
+++ b/doc/en/weechat_dev.en.adoc
@@ -408,6 +408,7 @@ WeeChat "core" is located in following directories:
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-irc-message.cpp | Tests: IRC messages.
|             test-irc-mode.cpp | Tests: IRC modes.
+|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | Tests: IRC protocol.
|===
diff --git a/doc/fr/weechat_dev.fr.adoc b/doc/fr/weechat_dev.fr.adoc
index a5649ceca..f643be169 100644
--- a/doc/fr/weechat_dev.fr.adoc
+++ b/doc/fr/weechat_dev.fr.adoc
@@ -410,6 +410,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|             test-irc-ignore.cpp | Tests : ignores IRC.
|             test-irc-message.cpp | Tests : messages IRC.
|             test-irc-mode.cpp | Tests : modes IRC.
+|             test-irc-nick.cpp | Tests : pseudos IRC.
|             test-irc-protocol.cpp | Tests : protocole IRC.
|===
diff --git a/doc/ja/weechat_dev.ja.adoc b/doc/ja/weechat_dev.ja.adoc
index ee042b6f7..5d1bab6b7 100644
--- a/doc/ja/weechat_dev.ja.adoc
+++ b/doc/ja/weechat_dev.ja.adoc
@@ -418,6 +418,8 @@ WeeChat "core" は以下のディレクトリに配置されています:
|             test-irc-message.cpp | Tests: IRC messages.
// TRANSLATION MISSING
|             test-irc-mode.cpp | Tests: IRC modes.
+// TRANSLATION MISSING
+|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | テスト: IRC プロトコル
|===
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 5846e7967..b29f92863 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -49,6 +49,7 @@ set(LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
unit/plugins/irc/test-irc-ignore.cpp
unit/plugins/irc/test-irc-message.cpp
unit/plugins/irc/test-irc-mode.cpp
+ unit/plugins/irc/test-irc-nick.cpp
unit/plugins/irc/test-irc-protocol.cpp
)
add_library(weechat_unit_tests_plugins MODULE ${LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC})
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 62a9d2721..d55b67a27 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -66,6 +66,7 @@ lib_weechat_unit_tests_plugins_la_SOURCES = unit/plugins/irc/test-irc-color.cpp
unit/plugins/irc/test-irc-ignore.cpp \
unit/plugins/irc/test-irc-message.cpp \
unit/plugins/irc/test-irc-mode.cpp \
+ unit/plugins/irc/test-irc-nick.cpp \
unit/plugins/irc/test-irc-protocol.cpp
lib_weechat_unit_tests_plugins_la_LDFLAGS = -module -no-undefined
diff --git a/tests/unit/plugins/irc/test-irc-nick.cpp b/tests/unit/plugins/irc/test-irc-nick.cpp
new file mode 100644
index 000000000..c7ed6e138
--- /dev/null
+++ b/tests/unit/plugins/irc/test-irc-nick.cpp
@@ -0,0 +1,70 @@
+/*
+ * test-irc-nick.cpp - test IRC nick functions
+ *
+ * Copyright (C) 2019 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 "src/plugins/irc/irc-nick.h"
+}
+
+TEST_GROUP(IrcNick)
+{
+};
+
+/*
+ * Tests functions:
+ * irc_nick_valid
+ */
+
+TEST(IrcNick, Valid)
+{
+ /* TODO: write tests */
+}
+
+/*
+ * Tests functions:
+ * irc_nick_is_nick
+ */
+
+TEST(IrcNick, IsNick)
+{
+ /* empty nick */
+ LONGS_EQUAL(0, irc_nick_is_nick (NULL));
+ LONGS_EQUAL(0, irc_nick_is_nick (""));
+ LONGS_EQUAL(0, irc_nick_is_nick (" "));
+
+ /* invalid first char */
+ LONGS_EQUAL(0, irc_nick_is_nick ("0abc"));
+ LONGS_EQUAL(0, irc_nick_is_nick ("9abc"));
+ LONGS_EQUAL(0, irc_nick_is_nick ("-abc"));
+
+ /* invalid chars in nick */
+ LONGS_EQUAL(0, irc_nick_is_nick ("noël"));
+ LONGS_EQUAL(0, irc_nick_is_nick ("testé"));
+ LONGS_EQUAL(0, irc_nick_is_nick ("nick space"));
+
+ /* valid nicks */
+ LONGS_EQUAL(1, irc_nick_is_nick ("tester"));
+ LONGS_EQUAL(1, irc_nick_is_nick ("bob"));
+ LONGS_EQUAL(1, irc_nick_is_nick ("alice"));
+ LONGS_EQUAL(1, irc_nick_is_nick ("very_long_nick_which_is_valid"));
+}