/* * SPDX-FileCopyrightText: 2023-2026 Sébastien Helleu * * SPDX-License-Identifier: GPL-3.0-or-later * * 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 . */ /* Test hook command functions */ #include "CppUTest/TestHarness.h" #include "tests.h" extern "C" { #ifndef HAVE_CONFIG_H #define HAVE_CONFIG_H #endif #include "src/core/weechat.h" #include "src/core/hook/hook-command.h" #include "src/plugins/plugin.h" extern char *hook_command_remove_raw_markers (const char *string); } TEST_GROUP(HookCommand) { }; /* * Test functions: * hook_command_get_description */ TEST(HookCommand, GetDescription) { /* TODO: write tests */ } /* * Test functions: * hook_command_search */ TEST(HookCommand, Search) { /* TODO: write tests */ } /* * Test functions: * hook_command_build_completion */ TEST(HookCommand, BuildCompletion) { /* TODO: write tests */ } /* * Test functions: * hook_command_remove_raw_markers */ TEST(HookCommand, RemoveRawMarkers) { char *str; WEE_TEST_STR(NULL, hook_command_remove_raw_markers (NULL)); WEE_TEST_STR("", hook_command_remove_raw_markers ("")); WEE_TEST_STR("test", hook_command_remove_raw_markers ("test")); WEE_TEST_STR("[test] raw[x", hook_command_remove_raw_markers ("[test] raw[x")); WEE_TEST_STR("", hook_command_remove_raw_markers ("raw[]")); WEE_TEST_STR("x", hook_command_remove_raw_markers ("raw[x]")); WEE_TEST_STR("x test", hook_command_remove_raw_markers ("raw[x] test")); WEE_TEST_STR("[test] ", hook_command_remove_raw_markers ("[test] raw[]")); WEE_TEST_STR("[test] x", hook_command_remove_raw_markers ("[test] raw[x]")); WEE_TEST_STR("[test] x y", hook_command_remove_raw_markers ("[test] raw[x] raw[y]")); } /* * Test functions: * hook_command_arraylist_arg_desc_free * hook_command_format_args_description */ TEST(HookCommand, FormatArgsDescription) { char *str; WEE_TEST_STR(NULL, hook_command_format_args_description (NULL)); WEE_TEST_STR("", hook_command_format_args_description ("")); WEE_TEST_STR("test format args desc", hook_command_format_args_description ( "test format args desc")); WEE_TEST_STR("raw[list]: list all bars", hook_command_format_args_description ( "raw[list]: list all bars")); WEE_TEST_STR(" list: list all bars\n" "sub-command2: some other sub-command", hook_command_format_args_description ( WEECHAT_HOOK_COMMAND_STR_FORMATTED "\n" "raw[list]: list all bars\n" "raw[sub-command2]: some other sub-command")); WEE_TEST_STR(" list: list all things\n" "listfull: list all things (verbose)\n" " name: name of the thing\n" " type: the type:\n" " type1: first type\n" " type2: second type\n" "\n" "This is another line: test.", hook_command_format_args_description ( WEECHAT_HOOK_COMMAND_STR_FORMATTED "\n" "raw[list]: list all things\n" "raw[listfull]: list all things (verbose)\n" "name: name of the thing\n" "type: the type:\n" "> raw[type1]: first type\n" "> raw[type2]: second type\n" "\n" "This is another line: test.")); } /* * Test functions: * hook_command */ TEST(HookCommand, Command) { /* TODO: write tests */ } /* * Test functions: * hook_command_exec */ TEST(HookCommand, CommandExec) { /* TODO: write tests */ } /* * Test functions: * hook_command_similar_get_relevance */ TEST(HookCommand, CommandSimilarGetRelevance) { /* TODO: write tests */ } /* * Test functions: * hook_command_similar_cmp_cb */ TEST(HookCommand, CommandSimilarCmpCb) { /* TODO: write tests */ } /* * Test functions: * hook_command_similar_free_cb */ TEST(HookCommand, CommandSimilarFreeCb) { /* TODO: write tests */ } /* * Test functions: * hook_command_build_list_similar_commands */ TEST(HookCommand, CommandBuildListSimilarCommands) { /* TODO: write tests */ } /* * Test functions: * hook_command_display_error_unknown */ TEST(HookCommand, CommandDisplayErrorUnknown) { /* TODO: write tests */ } /* * Test functions: * hook_command_free_data */ TEST(HookCommand, CommandFreeData) { /* TODO: write tests */ } /* * Test functions: * hook_command_add_to_infolist */ TEST(HookCommand, CommandAddToInfolist) { /* TODO: write tests */ } /* * Test functions: * hook_command_print_log */ TEST(HookCommand, CommandPrintLog) { /* TODO: write tests */ }